2.6.2 Segmentation Fault

John Ralls jralls at ceridwen.us
Mon Mar 3 16:23:34 EST 2014


On Mar 3, 2014, at 12:53 PM, Richard Ullger <rullger at gmail.com> wrote:

> Closing gnucash generates the following segmentation fault:
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007fffdc225eab in dbi_shutdown_r () from /usr/lib/libdbi.so.1
> 
> Opening gnucash and then closing it is enough to generate the error.
> 
> I have compiled gnucash with the following configure options:
> 
> --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc \
>    --libexecdir=/usr/lib --disable-schemas-compile --enable-python
> 
> 2.6.1 works fine with the same options. I added the --enable-debug
> option as suggested in the wiki.
> 
> As an aside, the page at http://wiki.gnucash.org/wiki/Stack_Trace
> suggests to add the --debug option, which is invalid.

It’s an argument to gnucash, not to configure. It increases the verbosity of gnucash.trace and is unlikely to be helpful in this case.

> 
> I use an xml file and do not use ofx/aqbanking.
> 
> gdb gives the output below. The libdbi errors appear duplicated; I get
> one set with 2.6.1 but it otherwise runs ok.
> 
> (gdb) run
> Starting program: /usr/bin/gnucash
> warning: Could not load shared library symbols for linux-vdso.so.1.
> Do you need "set solib-search-path" or "set sysroot"?
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/usr/lib/libthread_db.so.1".
> warning: File "/usr/lib/libstdc++.so.6.0.19-gdb.py" auto-loading has
> been declined by your `auto-load safe-path' set to
> "$debugdir:$datadir/auto-load".
> To enable execution of this file add
>        add-auto-load-safe-path /usr/lib/libstdc++.so.6.0.19-gdb.py
> line to your configuration file "/home/richard/.gdbinit".
> To completely disable this security protection add
>        set auto-load safe-path /
> line to your configuration file "/home/richard/.gdbinit".
> For more information about this security protection see the
> "Auto-loading safe path" section in the GDB manual.  E.g., run from the
> shell:
>        info "(gdb)Auto-loading safe path"
> [New Thread 0x7fffdfe68700 (LWP 22080)]
> [New Thread 0x7fffdf5c4700 (LWP 22081)]
> libsqlite.so.0: cannot open shared object file: No such file or directory
> libdbi: Failed to load driver: /usr/lib/dbd/libdbdsqlite.so
> libpq.so.5: cannot open shared object file: No such file or directory
> libdbi: Failed to load driver: /usr/lib/dbd/libdbdpgsql.so
> libmysqlclient.so.18: cannot open shared object file: No such file or
> directory
> libdbi: Failed to load driver: /usr/lib/dbd/libdbdmysql.so
> libsqlite.so.0: cannot open shared object file: No such file or directory
> libdbi: Failed to load driver: /usr/lib/dbd/libdbdsqlite.so
> libpq.so.5: cannot open shared object file: No such file or directory
> libdbi: Failed to load driver: /usr/lib/dbd/libdbdpgsql.so
> libmysqlclient.so.18: cannot open shared object file: No such file or
> directory
> libdbi: Failed to load driver: /usr/lib/dbd/libdbdmysql.so
> [New Thread 0x7fffc00e0700 (LWP 22083)]
> Found Finance::Quote version 1.20
> [New Thread 0x7fffbf8df700 (LWP 22086)]
> [Thread 0x7fffbf8df700 (LWP 22086) exited]
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007fffdc225eab in dbi_shutdown_r () from /usr/lib/libdbi.so.1
> (gdb) bt full
> Python Exception <class 'gdb.MemoryError'> Cannot access memory at
> address 0x7fffffffe118:
> #0  0x00007fffdc225eab in dbi_shutdown_r () from /usr/lib/libdbi.so.1
> No symbol table info available.
> Cannot access memory at address 0x7fffffffe118
> (gdb)
> 

Ah, I see we have a hole in configure: It checks that you have at least one dbi-driver, but doesn’t make sure that its dependencies are satisfied.

Try configuring with —-disable-dbi. 

Regards,
John Ralls


More information about the gnucash-user mailing list