Description of problem: gnucash aborts immediately after splash screen at startup with segfault error 7. The message that appears in /var/log/messages is: kernel: [ 1282.147401] gnucash[2819]: segfault at 3d64a21dc0 ip 0000003d64806145 sp 00007fffa750c560 error 7 in ld-2.20.so[3d64800000+21000] Version-Release number of selected component (if applicable): gnucash 2.6.4 How reproducible: every time Steps to Reproduce: 1. Launch gnucash 2. Splash screen appears briefly, then... 3. Segfault Actual results: Segfault at startup. Expected results: Program runs properly as it did under Fedora 20. Additional info: Fedora 20 upgraded in place to Fedora 21 using fedup.
I can launch gnucash perfectly fine (also using an upgraded system) so the problem seems to be specific to certain configurations. Can you check if you have selinux enabled or if the gnucash binaries on your disk have been altered (rpm verify, or just "dnf reinstall gnucash")? Maybe you can also generate a more meaningful backtrace?
Hi, Felix. Thanks for the suggestions. I have disabled selinux, but the problem persists. I have just now run "dnf reinstall gnucash", without any errors. gnucash still segfaults immediately after the splash screen: gnucash[2733]: segfault at 3d64a21dc0 ip 0000003d64806145 sp 00007fffa8308ed0 error 7 in ld-2.20.so[3d64800000+21000] I searched for instructions to generate a backtrace, and tried "gnucash-env gdb gnucash", but it failed saying I needed to do this: debuginfo-install gnucash-2.6.4-1.fc21.x86_64 This installed several packages. I then ran "gnucash-env gdb gnucash" again and gnucash ran perfectly! I then tried simply running gnucash without the debugger, and it segfaults as before. If I run gnucash as root, it runs, but of course I don't have my data as it's stored in my normal user directory. Any other suggestions? Perhaps there's a better way to generate a backtrace? Thanks for your help.
One last shot (so we don't turn bugzilla into a support forum): - you can try to move '~/.cache/guile' to a different location to force recompilation (workaround mentioned in bug 1151870, also segfault on startup) - if you enable core dumps you should be able to get a backtrace from the core file. Other gnucash 2.6.5 might be ready soonish (bug 1176892) so there is hope left :-)
Created attachment 977040 [details] backtrace from core dump Backtrace output from gdb on the core dump from gnucash when it segfaults at startup.
I tried moving '~/.cache/guile' and running gnucash. It still segfaults, and no new guile file is created in .cache. I hope the above backtrace is helpful. If you think I should be pursuing a solution elsewhere, I'll do that. Thanks for the help.
The only suggestion I have is to try with a different (non-root) user and see if it crashes as well. If it doesn't you can try to find out which config crashes it (if gnucash tries to open a specific file on startup, trying loading this file with a different user). Also usually Fedora packagers are quite busy and often lack in-depth knowledge of the source code so you might take your findings upstream (I got some quick replies from the gnucash devs in the past). If you're not in a hurry maybe wait 1-2 weeks if Fedora ships 2.6.5 which contains several bug fixes.
Some more information please: 1) rpm -q gvfs 2) Are you using any nonstandard GTK themes? (Example: oxygen-gtk2) 3) Please run LD_DEBUG=reloc LD_DEBUG_OUTPUT=gnucash-debug gnucash, and then attach the resulting gnucash-debug.<some number> file.
Created attachment 977559 [details] gnucash debug file
1) gvfs-1.22.2-1.fc21.x86_64 2) No, I'm using the default GTK and gnome. No nonstandard theme. 3) Attached gnucash-debug.17391 Also, I've confirmed that gnucash starts properly when run from another user account that I just created.
Hm. I'd suggest a different LD_DEBUG setting, but I'm not sure uploading a 300MB file is worth it. A couple other data points to post: - output of 'ibus read-config' - what are the "Input sources" if you go to 'Regions and Language' in the settings panel?
$ ibus read-config SCHEMA: org.freedesktop.ibus.general dconf-preserve-name-prefixes: ['/desktop/ibus/engine/pinyin', '/desktop/ibus/engine/bopomofo', '/desktop/ibus/engine/hangul'] use-system-keyboard-layout: false embed-preedit-text: true enable-by-default: false use-global-engine: true use-xmodmap: true switcher-delay-time: 400 version: '' engines-order: @as [] preload-engines: @as [] xkb-latin-layouts: ['ara', 'bg', 'cz', 'dev', 'gr', 'gur', 'in', 'jp(kana)', 'mal', 'mkd', 'ru', 'ua'] SCHEMA: org.freedesktop.ibus.general.hotkey next-engine: ['Alt+Shift_L'] disable-unconditional: @as [] enable-unconditional: @as [] trigger: ['Control+space', 'Zenkaku_Hankaku', 'Alt+Kanji', 'Alt+grave', 'Hangul', 'Alt+Release+Alt_R'] previous-engine: @as [] prev-engine: @as [] next-engine-in-menu: ['Alt+Shift_L'] triggers: ['<Super>space'] SCHEMA: org.freedesktop.ibus.panel x: -1 y: -1 lookup-table-orientation: 1 show: 0 xkb-icon-rgba: '#415099' auto-hide-timeout: 10000 show-im-name: false follow-input-cursor-when-always-shown: false custom-font: 'Sans 10' show-icon-on-systray: true use-custom-font: false $ Input Sources: English (US)
OK, one more thing - this is a variation on the ld debugging from before. 1) run 'LD_DEBUG=symbols LD_DEBUG_OUTPUT=gnucash-debug gnucash' 2) This will create a VERY LARGE gnucash-debug.<some number> file 3) Compress it with "xz gnucash-debug.<some number>" 4) If possible, attach it to this bug. (There's a size limit on bugzilla attachments, but I think the compressed version should get past.)
Created attachment 978016 [details] More detailed gnucash debug Results of 'LD_DEBUG=symbols LD_DEBUG_OUTPUT=gnucash-debug gnucash'
Hm. Next bits: ls -ld /home/bill/.config/ibus/bus/ ls -l /home/bill/.config/ibus/bus/
ls -ld /home/bill/.config/ibus/bus/ ... drwx------. 2 bill bill 4096 Jan 9 14:02 /home/bill/.config/ibus/bus/ ls -l /home/bill/.config/ibus/bus/ ... -rw-rw-r-- 1 bill bill 168 Jan 9 14:02 7725dfc225d14958a625ddaaaea5962b-unix-0 -rw-r--r--. 1 bill bill 168 Dec 22 15:08 7725dfc225d14958a625ddaaaea5962b-unix-1
What's the content of that 7725dfc225d14958a625ddaaaea5962b-unix-0 file?
7725dfc225d14958a625ddaaaea5962b-unix-0 contains: # This file is created by ibus-daemon, please do not modify it IBUS_ADDRESS=unix:abstract=/tmp/dbus-m03Fihnd,guid=304f2f44e891b2b696a6226b54b033db IBUS_DAEMON_PID=1871
Slowly running out of ideas. I assume if you do 'netstat -x --listen | grep ibus-daemon', it shows up with PID 1871 and at that @/tmp/dbus-m03Fihnd address? For the record, what appears to be going on is that for whatever reason, when gnucash runs as this user, it initializes ibus, goes off down a gvfs path that I don't see it do on my install, and then crashes in the dynamic linker.
No results from the netstat command. I ran 'netstat -c -x --listen | grep ibus-daemon' from one terminal while executing gnucash from another. Nothing appeared from netstat. If I grep for dbus, I do see this: unix 2 [ ACC ] STREAM LISTENING 27885 @/tmp/dbus-m03Fihnd
SOrry, left off '-p' in the netstat command for the process name. In any case, looks like you do have ibus running properly.
I re-installed Fedora 21 workstation from scratch and all is now working properly. Thanks to everyone for their attempts to find a resolution.