FS#41693 - [gnucash] gnucash-2.6.3-1 crashed due to libxcursor infinite loop

Attached to Project: Arch Linux
Opened by Luca Wehrstedt (luca.wehrstedt) - Tuesday, 26 August 2014, 08:31 GMT
Last edited by Jan de Groot (JGC) - Wednesday, 27 August 2014, 08:31 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jürgen Hötzel (juergen)
Architecture x86_64
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Gnucash crashes when I attempt to create a new account: I click on the "Create a new account" button, the "New account" dialog opens but as soon as I start typing the name the interface freezes for a second and then it all crashes.

I ran it inside gdb and got a backtrace that seems to indicate an infinite loop inside libxcursor. Here it is:


luca@luca-thinkpad ~ $ gdb gnucash
GNU gdb (GDB) 7.8
Copyright (C) 2014 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 "x86_64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from gnucash...(no debugging symbols found)...done.
(gdb) run --debug
Starting program: /usr/bin/gnucash --debug
Got object file from memory but can't read symbols: File truncated.
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".
[New Thread 0x7fffdcbad700 (LWP 2534)]
[New Thread 0x7fffd7fff700 (LWP 2535)]
libsqlite.so.0: cannot open shared object file: No such file or directory
libdbi: Failed to load driver: /usr/lib/dbd/libdbdsqlite.so
[New Thread 0x7fffce247700 (LWP 2537)]
[New Thread 0x7fffcbb2b700 (LWP 2538)]
[Thread 0x7fffcbb2b700 (LWP 2538) exited]
[New Thread 0x7fffcbb2b700 (LWP 2539)]
[New Thread 0x7fffcaec5700 (LWP 2540)]
[Thread 0x7fffcbb2b700 (LWP 2539) exited]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5ade0ff in __GI__IO_file_doallocate () from /usr/lib/libc.so.6
(gdb) backtrace
#0 0x00007ffff5ade0ff in __GI__IO_file_doallocate () from /usr/lib/libc.so.6
#1 0x00007ffff5aeb060 in __GI__IO_doallocbuf () from /usr/lib/libc.so.6
#2 0x00007ffff5aea2ec in __GI__IO_file_underflow () from /usr/lib/libc.so.6
#3 0x00007ffff5aeb0ae in __GI__IO_default_uflow () from /usr/lib/libc.so.6
#4 0x00007ffff5adfc2a in __GI__IO_getline_info () from /usr/lib/libc.so.6
#5 0x00007ffff5adeab3 in fgets () from /usr/lib/libc.so.6
#6 0x00007fffe87b7570 in ?? () from /usr/lib/libXcursor.so.1
#7 0x00007fffe87b79f2 in ?? () from /usr/lib/libXcursor.so.1
#8 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#9 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#10 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#11 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#12 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#13 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#14 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#15 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#16 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#17 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#18 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#19 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#20 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#21 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#22 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#23 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#24 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#25 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#26 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#27 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#28 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#29 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#30 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#31 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#32 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#33 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#34 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#35 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#36 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#37 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#38 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#39 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#40 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#41 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#42 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#43 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#44 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#45 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#46 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#47 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#48 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#49 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#50 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#51 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#52 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#53 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#54 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#55 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#56 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
#57 0x00007fffe87b7a52 in ?? () from /usr/lib/libXcursor.so.1
---Type <return> to continue, or q <return> to quit---q
Quit
(gdb) quit
A debugging session is active.

Inferior 1 [process 2530] will be killed.

Quit anyway? (y or n) y


I have both gnucash-2.6.3-1 and libxcursor-1.1.14-2 installed through pacman. I'm on x86_64. And I don't think I'm affected by https://bugs.archlinux.org/task/40658.
This task depends upon

Closed by  Jan de Groot (JGC)
Wednesday, 27 August 2014, 08:31 GMT
Reason for closing:  Not a bug
Comment by Doug Newgard (Scimmia) - Tuesday, 26 August 2014, 14:25 GMT
How sure are you that  FS#40658  isn't the problem? Can you downgrade to libxcursor 1.1.14-1 and see if it changes anything?
Comment by Luca Wehrstedt (luca.wehrstedt) - Tuesday, 26 August 2014, 14:41 GMT
I tried downgrading, but it still crashes in the same way.
Comment by Jan de Groot (JGC) - Tuesday, 26 August 2014, 22:39 GMT
This bug can only be triggered by a theme inheritance loop. If your default theme is symlinked you will run into this bug.
Comment by Luca Wehrstedt (luca.wehrstedt) - Wednesday, 27 August 2014, 08:16 GMT
Whoa, thanks!! That was it! Adwaita was set to inherit from itself. I'm not so sure how that could have happened and why only gnucash was affected, but it's now solved.
Comment by Jan de Groot (JGC) - Wednesday, 27 August 2014, 08:30 GMT
That is because adwaita doesn't have index.theme itself, and because you symlinked /usr/share/icons/Adwaita to /usr/share/icons/default, the upgrade of libxcursor installed the default fallback into Adwaita instead of the default theme.

Loading...