FS#40658 - [libxcursor] mixx crashes after a while, as well as other programs
Attached to Project:
Arch Linux
Opened by farid (osc) - Tuesday, 03 June 2014, 15:02 GMT
Last edited by Jan de Groot (JGC) - Wednesday, 18 June 2014, 11:28 GMT
Opened by farid (osc) - Tuesday, 03 June 2014, 15:02 GMT
Last edited by Jan de Groot (JGC) - Wednesday, 18 June 2014, 11:28 GMT
|
Details
Description:
Program received signal SIGSEGV, Segmentation fault. 0x00007ffff288b0ff in __GI__IO_file_doallocate () from /usr/lib/libc.so.6 (gdb) backtrace #0 0x00007ffff288b0ff in __GI__IO_file_doallocate () from /usr/lib/libc.so.6 #1 0x00007ffff2898060 in __GI__IO_doallocbuf () from /usr/lib/libc.so.6 #2 0x00007ffff28972ec in __GI__IO_file_underflow () from /usr/lib/libc.so.6 #3 0x00007ffff28980ae in __GI__IO_default_uflow () from /usr/lib/libc.so.6 #4 0x00007ffff288cc2a in __GI__IO_getline_info () from /usr/lib/libc.so.6 #5 0x00007ffff288bab3 in fgets () from /usr/lib/libc.so.6 #6 0x00007fffe8ed5570 in ?? () from /usr/lib/libXcursor.so.1 #7 0x00007fffe8ed59f2 in ?? () from /usr/lib/libXcursor.so.1 #8 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #9 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #10 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #11 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #12 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #13 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #14 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #15 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #16 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #17 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #18 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #19 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #20 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #21 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #22 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #23 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #24 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #25 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #26 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #27 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #28 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #29 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #30 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #31 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #32 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #33 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #34 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #35 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #36 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #37 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #38 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #39 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 ---Type <return> to continue, or q <return> to quit--- #40 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #41 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #42 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #43 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #44 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #45 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #46 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #47 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #48 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #49 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #50 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #51 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #52 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #53 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #54 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #55 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #56 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #57 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #58 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #59 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #60 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #61 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #62 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #63 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #64 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #65 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #66 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #67 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #68 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #69 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #70 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #71 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #72 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #73 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #74 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #75 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #76 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #77 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #78 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #79 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 ---Type <return> to continue, or q <return> to quit--- #80 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #81 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #82 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #83 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #84 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #85 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #86 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #87 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #88 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #89 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #90 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #91 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #92 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #93 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #94 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #95 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #96 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #97 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #98 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #99 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #100 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #101 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #102 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #103 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #104 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #105 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #106 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #107 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #108 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #109 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #110 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #111 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #112 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #113 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #114 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #115 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #116 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #117 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #118 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #119 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 ---Type <return> to continue, or q <return> to quit--- #120 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #121 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #122 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #123 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #124 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #125 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #126 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #127 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #128 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #129 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #130 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #131 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #132 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #133 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #134 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #135 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #136 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #137 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #138 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #139 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #140 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #141 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #142 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #143 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #144 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #145 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #146 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #147 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #148 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #149 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #150 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #151 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #152 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #153 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #154 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #155 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #156 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #157 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #158 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 #159 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 ---Type <return> to continue, or q <return> to quit--- #160 0x00007fffe8ed5a52 in ?? () from /usr/lib/libXcursor.so.1 Additional info: * package version(s) mixxx 1.11.0-2 * config and/or log files etc. Steps to reproduce: just open and wait |
This task depends upon
Closed by Jan de Groot (JGC)
Wednesday, 18 June 2014, 11:28 GMT
Reason for closing: Won't fix
Additional comments about closing: Symlink issue caused by user, not something we should fix.
Wednesday, 18 June 2014, 11:28 GMT
Reason for closing: Won't fix
Additional comments about closing: Symlink issue caused by user, not something we should fix.
after todays update a lot of programs started crashing.
I can confirm the following programs crashed: chromium (startup), pidgin (when writing in a chat window), lxterminal (startup), skype (after the first seconds of usage)
i cant downgrade since i had removed my cache. hope this gets fixed soon.
ftp://seblu.net/archlinux/arm/packages/l/libxcursor/
I am running 64 bit arch.
i just updated and didnt remove anything and firefox worked fine.
others programs like mixxx and clementine kept crashing. going to remove and test.
cheers
Thank you,
I also noticed that systemd's cpu usage goes off the charts when 14-2 is installed. Something that's scaring me is my laptop is starting to feel warm to the touch since this last round of updates, and this never happens. Usually I don't notice it.
I have experienced the same bug. I compiled libxcursor with the debug symbols.
This is the traceback. It appears that the cursor when a mouseover event over a horizontal split (in this case: split_h) cannot be found and is ultimately to blame for this particular segfault. There is no such cursor in the directory of the theme (/usr/share/icons/Adwaita/cursors).
So maybe the new inherit theme which was introduced in the index.theme is to blame.
The result is a segfault (vlc is the application with which the segfault occurs).
Good luck!
https://bugs.freedesktop.org/show_bug.cgi?id=3603
Don't know why Fedora doesn't hit this though.
Every theme has a fallback to the default theme. Libxcursor 1.1.14-2 adds a fallback to Adwaita for the default theme, meaning that if some theme is missing a cursor, it will take the fallback from Adwaita. This fixes bugs with some applications that crash or have undefined behaviour when a cursor doesn't exist in the theme (this is what happens with mutter/gnome-shell with custom themes which aren't complete).
What happens here is that a cursor is requested which isn't in Adwaita. Libxcursor will fallback to the default theme, which has a fallback to Adwaita, which doesn't have the cursor, so it goes to default again. What we created here is a circular inheritance when a requested cursor doesn't exist in Adwaita.
Libxcursor will just recurse until stack overflows. This is why CPU usage is higher than before and why it crashes inside glibc. I'll have a look at the upstream patch later tonight, probably it will get a recursion depth limit and a special case where a fallback from default to some other theme will not recurse back into the default theme.
Regarding the CPU usage, I have noticed that journald also hits high cpu as it writes to the journal upon a segfault (this is just an observation). Unfortunately, I downgraded so I can provide further data only if really neaded.
Eitherway, a default cursor theme (outside the recursive theme enumeration suggested in the patch) looks sensible to me. Or even simpler: just a default theme with libxcursor that covers all bases.
Thanks for supporting the package.
I'm not using the Adwaita theme.
I think Jan said it best:
> What happens here is that a cursor is requested which isn't in Adwaita. Libxcursor will fallback to the default theme, which has a fallback to Adwaita, which doesn't have the cursor, so it goes to default again. What we created here is a circular inheritance when a requested cursor doesn't exist in Adwaita.
> Libxcursor will just recurse until stack overflows
So I would surmise that if you don't have any other theme but Adwaita installed and open an application that requests (in my case) a pointer icon, which is not present in the Adwaita theme, the bug should be reproduced. Otherwise it is lurking somewhere else :-)
I also think that the bug should be reproducible for any theme variation or set of themes which do not enumerate exhaustively the resource in question. It is just so that the probability of unsuccessful enumeration decreases over the set of shared resources of all installed themes.
i've also the problem that some programs crashed. Here are my Ticket https://bugs.archlinux.org/task/40730.
I traced some programs and added into the Ticket.
Marcus
Thanks for pointing me to Jan's explanation. I think I've read it too quickly before, but now it makes sense. I'm using Numix-ArchBlue with the Human (from Ubuntu, available in the aur) cursor theme.
Uses every desktop this library? Can i work on an other desktop. I need my notebook to work the next days.
Greetings Marcus
Perl updated to 5.20
2014-06-04
Perl 5.20, as any other new perl version, requires all modules that are not purely perl code to be rebuilt. We did that for all packages in our repos.
The last couple major updates printed an error message when trying to load modules built against the wrong version, 5.20 seems to cause segfaults. Please make sure to rebuild all custom installed CPAN modules and binaries that link to libperl.so. """"<<< + extra stuff that is not linked well like libxcursor etc that is all now turning out Segmentation fault errors""
add testing for faster fix access or check/list before update on what it is depended on that way you can plan ahead if you should update(work around it) & won't get hit by unspected errors ;)
Refer to my post on arch-dev-public for a script that helps to find those packages.
The only program that was even remotely stable was firefox and xterm
xfce-terminal crashed
whisker's menu crashed
terminator crashed
skype crashed
pidgin crashed
I don't think I have any kde/qt programs installed beyond kid3.
Is this bug happening only to people who don't have KDE installed?
If using last version, Chromium crashes every time.
Edit:
Seems also that Steam started working again. Yuppie :D
No, I have a lot of KDE stuff installed and I'm still affected. In fact, KWin is one of the things that crashes for me with libxcursor 1.1.14-2 installed.
open("/usr/share/icons/default/index.theme", O_RDONLY) = 62
read(62, "[Icon Theme]\nInherits=Adwaita\n", 4096) = 30
...
open("/usr/share/icons/Adwaita/index.theme", O_RDONLY) = 62
read(62, "[Icon Theme]\nInherits=Adwaita\n", 4096) = 30
I've also been studying the sources a bit, libxcursor will not go into loop unless tricked. Code is as following:
- lookup file from theme
- if no icon, lookup file from default theme
Inside lookup function:
- if no icon, look in inherits. This never traverses "default"
- if not in inherits, return NULL.
People who are affected have symlinked /usr/share/icons/Adwaita to /usr/share/icons/default. The Adwaita icon theme doesn't have a theme index file, so by upgrading to the new xcursor, this placed a nice index.theme file into /usr/share/icons/Adwaita, referencing itself.
This is simply a user error, this is not a packaging bug or library bug.
Yep, I had done that. Removing the symlink before upgrading fixes the problem for me. I feel pretty stupid now...
So, we should remove the symlink /usr/share/icons/default to fix the issue. Right?
I think it should be somewhere also on the Wiki for the noobs like me :P
Wait, that doesn't make sense, either, but that what "symlinked /usr/share/icons/Adwaita to /usr/share/icons/default" seems to say.
To clarify even more, I mean "sudo rm /usr/share/icons/default" and after that we should perform the upgrade. Am I right?
> Wait, that doesn't make sense, either, but that what "symlinked /usr/share/icons/Adwaita to /usr/share/icons/default" seems to say.
Other way around. He gave them in the order you'd give them to ln -s, but it's the second argument (default) that points to the first (Adwaita).
> To clarify even more, I mean "sudo rm /usr/share/icons/default" and after that we should perform the upgrade. Am I right?
Yes.
I can confirm (at least on my system) `sudo rm /usr/share/icons/default` appears to have worked.