[liblouis-liblouisxml] Segmentation fault with liblouis svn

  • From: Christian Egli <christian.egli@xxxxxx>
  • To: liblouis-liblouisxml@xxxxxxxxxxxxx
  • Date: Thu, 11 Nov 2010 15:14:10 +0100

Hi all

I seem to have hit a bug with the latest liblouis from svn (revision
420).

When I run 'make check' the table check for many tables fails, many more
than previously. And indeed when I invoke lou_checktable from the
command line it tells me:

eglic@saadawi:~/src/liblouis$ ./tools/lou_checktable tables/uni-text.dis 
Segmentation fault

If I try to debug this with gdb I get the following:

eglic@saadawi:~/src/liblouis-gnulib-update$ libtool --mode=execute gdb 
tools/lou_checktable
GNU gdb (GDB) 7.1-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from 
/home/eglic/src/liblouis-gnulib-update/tools/.libs/lt-lou_checktable...done.
(gdb) run tables/uni-text.dis 
Starting program: 
/home/eglic/src/liblouis-gnulib-update/tools/.libs/lt-lou_checktable 
tables/uni-text.dis

Program received signal SIGSEGV, Segmentation fault.
0x00134804 in putCharAndDots (nested=<value optimized out>, c=0, d=32968) at 
compileTranslationTable.c:908
908               while (oldcdPtr->next)
(gdb) bt
#0  0x00134804 in putCharAndDots (nested=<value optimized out>, c=0, d=32968) 
at compileTranslationTable.c:908
#1  0x00138aec in compileRule (nested=<value optimized out>) at 
compileTranslationTable.c:3546
#2  0x0013763f in compileFile (fileName=0xbfffee3c "uni-text.dis") at 
compileTranslationTable.c:3611
#3  0x00139f7d in compileTranslationTable (tl=<value optimized out>) at 
compileTranslationTable.c:3786
#4  0x0013a649 in getTable (tableList=<value optimized out>) at 
compileTranslationTable.c:3883
#5  0x0013a9db in lou_getTable (tableList=0xbffff5a2 "tables/uni-text.dis") at 
compileTranslationTable.c:3931
#6  0x08048c03 in main (argc=2, argv=0xbffff3d4) at lou_checktable.c:111
(gdb) print oldcdPtr
$1 = <value optimized out>
(gdb) print oldcdPtr->next
Cannot access memory at address 0x0
(gdb) print cdPtr
$2 = <value optimized out>
(gdb) print c
$3 = 0
(gdb) print d
$4 = 32968

Could it be that oldcdPtr is NULL? Have there been any changes to the
putCharAndDots function lately? Does any of this ring a bell?

Thanks
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland

-----
Neu fuer Seh- und Lesebehinderte: Zeitschriften online hoeren
und herunterladen. http://www.sbs.ch/zeitschriftendownload
For a description of the software, to download it and links to
project pages go to http://www.abilitiessoft.com

Other related posts: