| Issue 408: | globalmenu-gnome gtk module crashes multi-thread apps on SMP systems | |
| 27 people starred this issue and may be notified of changes. | Back to list |
Sign in to add a comment
|
I'm using 64bit Ubuntu Jaunty. I use spatial Nautilus. Sometimes Nautilus crashes when opening a folder. I filed a bug on Launchpad, against Nautilus. A developer found that "the crash is due to /usr/lib/gtk-2.0/modules/libglobalmenu-gnome.so", and naturally closed the bug because globalmenu is not in Ubuntu but in the PPA. The bug report with strace is here: https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/362819 |
||||||||||||
,
Apr 21, 2009
Is your CPU a SMP(dual core) ? |
|||||||||||||
,
Apr 21, 2009
Yes, it is a 3GHz Intel Core 2 Duo. |
|||||||||||||
,
Apr 21, 2009
OK. I get the problem. But it is going to be very difficult to make a fix because I don't have access to any x64 SMP machines. and debugging multithread is always a pain in the ass..
Summary: globalmenu-gnome gtk module crashes multi-thread apps on SMP systems
Labels: -Priority-Medium Priority-Critical Milestone-Release0.7.6 |
|||||||||||||
,
Apr 21, 2009
Ok, thanks. I'm afraid I have no idea how anything works, but if there is anything that mortals can do to help, please let me know. :) Unfortunately the machine with the crash is my office workstation at work, and naturally I cannot spend very much time there doing this, but I will probably be able to do some testing etc. |
|||||||||||||
,
Apr 23, 2009
Currently the module relies on the GDK critical section for protecting global members. It might be insufficient. I plan to protect all global menu code with a critical section no matter if we are within the GDK critical section or not. I bet it will fix the problem. Will it cause a deadlock though? |
|||||||||||||
,
Apr 23, 2009
Issue 390 has been merged into this issue. |
|||||||||||||
,
Apr 23, 2009
Please test against rev 2522 where a recursive lock is used to protect the internals of the global menu module. No deadlock is observed on my single core laptop.
Status: Started
|
|||||||||||||
,
Apr 23, 2009
Issue 401 has been merged into this issue. |
|||||||||||||
,
Apr 23, 2009
Issue 349 has been merged into this issue. |
|||||||||||||
,
Apr 27, 2009
A related change is in rev 2538. |
|||||||||||||
,
Apr 28, 2009
can't compile the source from svn on jaunty and the issue still there after I installed the deb package from ppa |
|||||||||||||
,
Apr 28, 2009
@deadeye2k You'll need a vala 0.6.x version to compile it on jaunty from svn, unfortunately that means you'll need to compile vala, too. Concerning the dep-package: I've uploaded a recent svn-snapshot to my ppa (https://launchpad.net/~gkulyk/+archive/ppa), the results should be available soon. Please test the package and tell me, if it fixes the issue for you, if so, I'll upload the snapshot to gnome-globalmenu-ppa, too. |
|||||||||||||
,
May 01, 2009
I think your PPA fixes the bug, but could be i´m a lucky boy at the moment... I started eclipse 10 times, programmed a little bit and no crash! Thank you! |
|||||||||||||
,
May 01, 2009
I still got eclipse crashed with globalmenu 0.7.6~svn2538 |
|||||||||||||
,
May 05, 2009
Could you also produce a stack track for the crash with svn2538? |
|||||||||||||
,
May 06, 2009
I don't know how to produce a stack track but I got this file in my home directory |
|||||||||||||
,
May 06, 2009
OK it is the same problem. Would you please run eclipse with env GLOBALMENU_GNOME_ARGS="--verbose --log-file=~/gnomenu.log" and attach a copy of ~/gnomenu.log here(when it crashes)? |
|||||||||||||
,
May 06, 2009
here you go |
|||||||||||||
,
May 06, 2009
Do you also have the stack back trace of this crash? |
|||||||||||||
,
May 06, 2009
(No comment was entered for this change.) |
|||||||||||||
,
May 23, 2009
Any progress on this issue? |
|||||||||||||
,
May 23, 2009
patches are warmly welcomed but i wont have time to work on it by myself. |
|||||||||||||
,
Jun 26, 2009
Slip. 0.7.6 contains several fixes regarding this.
Labels: -Milestone-Release0.7.6 Milestone-Release0.7.7
|
|||||||||||||
,
Jul 20, 2009
I'm on Jaunty with Firefox 3.5.1 and I still got the seg fault. I rebuilt the packages for 0.7.6 release but that didn't help in any way. I also tried building the latest trunk, but I got some vala related error, so I stopped. Any ideas? Thanks. |
|||||||||||||
,
Jul 20, 2009
Here's my PPA: https://edge.launchpad.net/~sushkov/+archive/personal |
|||||||||||||
,
Jul 31, 2009
I think the trunk compiles with 0.7.4 now. (r2587) |
|||||||||||||
,
Jul 31, 2009
Issue 462 has been merged into this issue. |
|||||||||||||
,
Aug 23, 2009
On my 64 bit Ubuntu Jaunty this problem occurs only when I start Eclipse Galileo or Ganymede but with 3.2 it works fine. And when I try, like 5-20 times to launch Galileo or Ganymede it works as well eventually. |
|||||||||||||
,
Aug 23, 2009
I had this issue on GIMP, but I'm on single core (AMD 3200+). The only thing we have in common is the 64bits of our OS. |
|||||||||||||
,
Aug 23, 2009
It might be a truncated pointer if single core is also affected. |
|||||||||||||
,
Aug 27, 2009
Confirm crushes of Firefox 3.5.2 & Gimp - Ubuntu Karmic amd64 on single core. |
|||||||||||||
,
Aug 27, 2009
Confirmed the bug with firefox 3.5.4pre, gimp 2.6 and gimp 2.7pre, ubuntu jaunty amd64 athlon dual core. |
|||||||||||||
,
Aug 28, 2009
I think this issue could be more related to 32 vs. 64 bit binaries incompatibility rather than SMP issue. Occasionally when launching eclipse i get the error about 32 bit incompatible library. I'll post the exact error message the next time it happens. |
|||||||||||||
,
Aug 31, 2009
Could someone with a smp/64bit platform run the crashing apps against valgrind? |
|||||||||||||
,
Aug 31, 2009
Since it's a race condition, I'm not at all convinced that will actually allow seeing the bug, but I can try -- at least gimp is usually very easy to crash. |
|||||||||||||
,
Sep 01, 2009
Same problem. I installed the last version from svn (2613), compiled with Vala 0.7.5. I tested with Eclipse 3.5 64bits, my SO is Ubuntu 9.04 64bits (using the 32bits everything works OK) Follow the error message and also I've attached the log. # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007ff644b9c379, pid=20763, tid=140696582797648 # # JRE version: 6.0_16-b01 # Java VM: Java HotSpot(TM) 64-Bit Server VM (14.2-b01 mixed mode linux-amd64 ) # Problematic frame: # C [libgobject-2.0.so.0+0xf379] g_object_ref+0x9 # # An error report file with more information is saved as: # /java/eclipse/3.5/hs_err_pid20763.log # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # |
|||||||||||||
,
Sep 01, 2009
@36 I don't know. Since somebody suggested it might be a truncated pointer or something too. @37: Was the log produced from an eclipse failure at launching? |
|||||||||||||
,
Sep 01, 2009
@38 Yes it was. |
|||||||||||||
,
Sep 01, 2009
Sometimes Global Menu (SVN 2613) consumes all the CPU and I have to kill the process. |
|||||||||||||
,
Sep 01, 2009
I tried running gimp in valgrind but couldn't ever get it to crash. |
|||||||||||||
,
Sep 01, 2009
I guess it just crashes when it's least convenient :) Stick in an a flashdrive, and as soon as the icon comes up - nautilus dies. Open up Home, nautilus dies. Open up "Computer", nautilus dies. Nautilus won't crash *every* time I do something like this - just often. I've been searching for the cause of the mysterious nautilus dying issue, and this seems to be it. I've running 64-bit, and it goes away when globalmenu is disabled. That said, globalmenu rocks and I can't bring myself to disable it unless it's for testing purposes! If I can help, let me know. |
|||||||||||||
,
Sep 02, 2009
If anyone can help, please do the follows: 1: checkout r2635, 2: build and install 3: set env GLOBALMENU_GNOME_ARGS=--patch-only 4: launch any crashing apps and see if they still --patch-only disables the global menu while keeping the code that intercepts GtkMenuBar. |
|||||||||||||
,
Sep 02, 2009
With GLOBALMENU_GNOME_ARGS=--patch-only I cannot make gimp crash, but obviously it has no globalmenu then. |
|||||||||||||
,
Sep 02, 2009
I spotted a suspicious code and made changes in rev2636. |
|||||||||||||
,
Sep 02, 2009
Thanks, but that didn't help. At least gimp still crashes. Here's the relevant part
of the stack trace:
#4 <signal handler called>
#5 0x00007fb343aec339 in IA__g_object_ref (_object=0x3a9c6060)
at /tmp/buildd/glib2.0-2.21.5/gobject/gobject.c:2339
#6 0x00007fb33c8be1cd in global_menu_gtk_update_menu_context (menubar=0x30a9620) at
globalmenu.c:248
#7 0x00007fb33c8be28a in global_menu_gtk_window_realize (window=<value optimized
out>) at globalmenu.c:450
#8 0x00007fb343aea48d in IA__g_closure_invoke (closure=0x384da60, return_value=0x0,
n_param_values=1,
param_values=0x3862ee0, invocation_hint=0x7fff38332620) at
/tmp/buildd/glib2.0-2.21.5/gobject/gclosure.c:767
#9 0x00007fb343b00fae in signal_emit_unlocked_R (node=0x275dea0, detail=0,
instance=0x7fb33a9c6060,
emission_return=0x0, instance_and_params=0x3862ee0) at
/tmp/buildd/glib2.0-2.21.5/gobject/gsignal.c:3247
#10 0x00007fb343b0255f in IA__g_signal_emit_valist (instance=0x7fb33a9c6060,
signal_id=<value optimized out>,
detail=0, var_args=0x7fff38332800) at
/tmp/buildd/glib2.0-2.21.5/gobject/gsignal.c:2980
#11 0x00007fb343b02a63 in IA__g_signal_emit (instance=0x3a9c6060, signal_id=0,
detail=1135461384)
at /tmp/buildd/glib2.0-2.21.5/gobject/gsignal.c:3037
#12 0x00007fb34646e7bb in IA__gtk_widget_realize (widget=0x7fb33a9c6060)
at /tmp/buildd/gtk+2.0-2.17.9/gtk/gtkwidget.c:3347
#13 0x00007fb3464817a8 in gtk_window_show (widget=0x7fb33a9c6060)
at /tmp/buildd/gtk+2.0-2.17.9/gtk/gtkwindow.c:4487
#14 0x00007fb343aea48d in IA__g_closure_invoke (closure=0x275d9f0, return_value=0x0,
n_param_values=1,
param_values=0x3875a00, invocation_hint=0x7fff38332af0) at
/tmp/buildd/glib2.0-2.21.5/gobject/gclosure.c:767
#15 0x00007fb343b008a5 in signal_emit_unlocked_R (node=0x275da80, detail=0,
instance=0x7fb33a9c6060,
emission_return=0x0, instance_and_params=0x3875a00) at
/tmp/buildd/glib2.0-2.21.5/gobject/gsignal.c:3177
#16 0x00007fb343b0255f in IA__g_signal_emit_valist (instance=0x7fb33a9c6060,
signal_id=<value optimized out>,
detail=0, var_args=0x7fff38332cd0) at
/tmp/buildd/glib2.0-2.21.5/gobject/gsignal.c:2980
#17 0x00007fb343b02a63 in IA__g_signal_emit (instance=0x3a9c6060, signal_id=0,
detail=1135461384)
at /tmp/buildd/glib2.0-2.21.5/gobject/gsignal.c:3037
#18 0x00007fb34646fa1b in IA__gtk_widget_show (widget=0x7fb33a9c6060)
at /tmp/buildd/gtk+2.0-2.17.9/gtk/gtkwidget.c:3031
#19 0x00000000004b3e13 in gimp_display_new (gimp=0x27980e0, image=0x0,
unit=GIMP_UNIT_PIXEL, scale=1,
menu_factory=0x2918280, popup_manager=0x31dda40, display_factory=0x2b23d70)
at /usr/src/debian/work/build-area/gimp-2.6.7/./app/display/gimpdisplay.c:387
#20 0x00000000004751e4 in gui_display_create (gimp=0x27980e0, image=0x0,
unit=GIMP_UNIT_PIXEL, scale=1)
at /usr/src/debian/work/build-area/gimp-2.6.7/./app/gui/gui-vtable.c:343
|
|||||||||||||
,
Sep 02, 2009
Can you run against 3637 and see if there is any critcals before the crash? run with env GLOBALMENU_GNOME_ARGS=--verbose |
|||||||||||||
,
Sep 02, 2009
Eclipse runs OK with "GLOBALMENU_GNOME_ARGS=--patch-only" But it still crashing if I don't disable the global menu. |
|||||||||||||
,
Sep 02, 2009
No output before the crash at all on my terminal. |
|||||||||||||
,
Sep 02, 2009
Ohh! Your truncated pointer comment made me look, and I seem to have fixed it. |
|||||||||||||
,
Sep 02, 2009
Patch to include dyn patch prototypes. Without this, we get the following warnings from gcc: globalmenu.c: In function ‘global_menu_gtk_uninit’: globalmenu.c:124: warning: cast to pointer from integer of different size globalmenu.c: In function ‘global_menu_gtk_update_menu_context’: globalmenu.c:248: warning: assignment makes pointer from integer without a cast globalmenu.c: In function ‘global_menu_gtk_window_realize’: globalmenu.c:448: warning: assignment makes pointer from integer without a cast globalmenu.c:451: warning: assignment makes pointer from integer without a cast globalmenu.c: In function ‘global_menu_gtk_lookup_item’: globalmenu.c:468: warning: assignment makes pointer from integer without a cast of which at least the first one is very bad for 64-bit machines. |
|||||||||||||
,
Sep 02, 2009
Many Thanks! Patch is submitted in rev 2639. We may wait for some confirmation from others as well before closing the bug. |
|||||||||||||
,
Sep 02, 2009
Agreed. Those with eclipse problems please try the latest revision, I don't have eclipse, only gimp, evolution and nautilus crash frequently for me (well, not any more!) |
|||||||||||||
,
Sep 02, 2009
Eclipse seems to work with rev 2640. I'm running for a few minutes with no problems. Thanks for the patch. |
|||||||||||||
,
Sep 02, 2009
Linked launchpad bug to this one. @rainwoodman might one of the patches affect single core, too? @all did it fix firefox 3.5? I'll try soon. Regards & thanks in advance. |
|||||||||||||
,
Sep 02, 2009
Yes, it would affect single core too, the issue is only 64-bit specific. |
|||||||||||||
,
Sep 02, 2009
Eclipse is running for more the two hour without problems. Probably it's not related to this task (and for sure it's not related to the last patch, because it's occurring since rev.2613), but Global Menu Applet is still consuming lots of CPU after running for a while (+/- 1.5 hours). Anyone else have this issue ? |
|||||||||||||
,
Sep 02, 2009
@57 golimpio, would you please file another issue against the problem you are experiencing? And please also mention the rev that was not affected, if you know one. |
|||||||||||||
,
Sep 03, 2009
@58 It's already reported by jo.m.berg see: http://code.google.com/p/gnome2-globalmenu/issues/detail?id=484 |
|||||||||||||
,
Sep 03, 2009
I am closing this issue. Thank everyone, again.
Status: Fixed
|
|||||||||||||
,
Sep 04, 2009
Issue 486 has been merged into this issue. |
|||||||||||||
,
Sep 06, 2009
Please reopen. I tested 0.7.7 build from this PPA: https://edge.launchpad.net/~matthaeus123/+archive/ppa Firefox 3.5.2 fails to run. --- $ uname -a ; apt-cache policy firefox-3.5 | head -3; apt-cache policy gnome- globalmenu | head -3; firefox-3.5; echo $GLOBALMENU_GNOME_ARGS Linux rivalry 2.6.30-02063003-generic #02063003 SMP Sat Jul 25 10:17:07 UTC 2009 x86_64 GNU/Linux firefox-3.5: Installed: 3.5.2+nobinonly-0ubuntu0.9.04.1 Candidate: 3.5.2+nobinonly-0ubuntu0.9.04.1 gnome-globalmenu: Installed: 0.7.7-0~ppa2009090301~kk Candidate: 0.7.7-0~ppa2009090301~kk /usr/share/themes/eGTK/gtk-2.0/gtkrc:387: error: invalid string constant "panel", expected valid string constant FoxyProxy settingsDir = /home/stas/.mozilla/firefox-3.5/pko7xxy8.default zsh: segmentation fault firefox-3.5 --patch-only --- |
|||||||||||||
,
Sep 06, 2009
GEEEEEEEEEE. Any programs other than firefox is affected? Can you produce a backtrace? |
|||||||||||||
,
Sep 07, 2009
My bad, I checked again and the problem was that libglobalmenu was not updated from Matt's PPA. So I rebuild the package for Jaunty (Karmic package had uninstallable dependencies). Jaunty package is available in my PPA: https://edge.launchpad.net/~sushkov/+archive/personal Now Firefox 3.5 works, I can confirm 0.7.7 solves the issue. You can close it. Thank you and sorry again for brainfucking :) |
|||||||||||||
,
Sep 07, 2009
I'm closing it also in launchpad. |
|||||||||||||
,
Sep 10, 2009
Issue 467 has been merged into this issue. |
|||||||||||||
,
Sep 17, 2009
Issue 441 has been merged into this issue. |
|||||||||||||
,
Sep 17, 2009
I used to have toubles (creator of issue 467 ), but since using cool2sv's PPA it works perfect without a single crash for a week now. Thanks to everyone who helped with this. |
|||||||||||||
,
Sep 17, 2009
Great thanks to rainwoodman. :) |
|||||||||||||
|
|
|||||||||||||