After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 636764 - Crash in mark and sweep GC
Crash in mark and sweep GC
Status: RESOLVED INVALID
Product: gjs
Classification: Bindings
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gjs-maint
gjs-maint
Depends on:
Blocks:
 
 
Reported: 2010-12-08 11:32 UTC by Maciej (Matthew) Piechotka
Modified: 2011-01-21 19:01 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Maciej (Matthew) Piechotka 2010-12-08 11:32:24 UTC
At some moment I started getting crashes of gnome-shell - i.e. it worked some time, then it crashed, and then it crashed at every startup of gnome-shell.

My version of gjs is 0.7.7 + 60ae0e2 + 5259356 + 1f2cfe8.

Starting program: /usr/bin/mutter --mutter-plugins=libgnome-shell --replace
[Thread debugging using libthread_db enabled]
Traceback (most recent call last):
  File "/usr/share/gdb/auto-load/usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.1/libstdc++.so.6.0.14-gdb.py", line 59, in <module>
    from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named libstdcxx.v6.printers
[New Thread 0x7fffeb4bd710 (LWP 15745)]
[New Thread 0x7fffe2c68710 (LWP 15826)]
[New Thread 0x7fffdd2b9710 (LWP 15828)]
[New Thread 0x7fffd0877710 (LWP 15830)]

Program received signal SIGSEGV, Segmentation fault.
0x00007fffea33e2ed in markIfUnmarked (trc=0x7fffffffd7d0, thing=0x7ffff7e40010, kind=<value optimized out>) at jsgc.h:191
191	jsgc.h: No such file or directory.
	in jsgc.h

Thread 1 (Thread 0x7ffff7fad780 (LWP 15534))

  • #0 markIfUnmarked
    at jsgc.h line 191
  • #1 markIfUnmarked
    at jsgc.h line 440
  • #2 TypedMarker
    at jsgcinlines.h line 320
  • #3 Mark<JSObject>
    at jsgcinlines.h line 199
  • #4 js::gc::MarkKind
    at jsgcinlines.h line 437
  • #5 MarkValueRaw
    at jsgcinlines.h line 458
  • #6 gc_root_traversal
    at jsgc.cpp line 1427
  • #7 js::MarkRuntime
    at jsgc.cpp line 1678
  • #8 MarkAndSweep
    at jsgc.cpp line 2139
  • #9 GCUntilDone
    at jsgc.cpp line 2482
  • #10 js_GC
    at jsgc.cpp line 2547
  • #11 run_leisure_functions
    at shell-global.c line 1698
  • #12 g_main_dispatch
    at gmain.c line 2267
  • #13 g_main_context_dispatch
    at gmain.c line 2824
  • #14 g_main_context_iterate
    at gmain.c line 2902
  • #15 g_main_loop_run
    at gmain.c line 3110
  • #16 main
    at core/main.c line 722

	Inferior 1 [process 15534] will be killed.

Quit anyway? (y or n)
Comment 1 Maciej (Matthew) Piechotka 2010-12-08 20:56:17 UTC
Stack trace with snapshot from 7 Dec:

Starting program: /usr/bin/mutter --mutter-plugins=libgnome-shell --replace
[Thread debugging using libthread_db enabled]
Traceback (most recent call last):
  File "/usr/share/gdb/auto-load/usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.1/libstdc++.so.6.0.14-gdb.py", line 59, in <module>
    from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named libstdcxx.v6.printers
[New Thread 0x7fffeb4bd710 (LWP 15745)]
[New Thread 0x7fffe2c68710 (LWP 15826)]
[New Thread 0x7fffdd2b9710 (LWP 15828)]
[New Thread 0x7fffd0877710 (LWP 15830)]

Program received signal SIGSEGV, Segmentation fault.
0x00007fffea33e2ed in markIfUnmarked (trc=0x7fffffffd7d0, thing=0x7ffff7e40010, kind=<value optimized out>) at jsgc.h:191
191	jsgc.h: No such file or directory.
	in jsgc.h

Thread 1 (Thread 0x7ffff7fad780 (LWP 24052))

  • #0 _cairo_gstate_get_original_target
    at cairo-gstate.c line 400
  • #1 meta_frames_draw
    at ui/frames.c line 2246
  • #2 gtk_widget_get_preferred_size
    at gtksizerequest.c line 526
  • #3 gtk_window_compute_hints
    at gtkwindow.c line 7287
  • #4 gtk_window_compute_configure_request
    at gtkwindow.c line 6587
  • #5 gtk_window_show
    at gtkwindow.c line 4648
  • #6 g_closure_invoke
    at gclosure.c line 766
  • #7 signal_emit_unlocked_R
    at gsignal.c line 3182
  • #8 g_signal_emit_valist
    at gsignal.c line 2983
  • #9 g_signal_emit
    at gsignal.c line 3040
  • #10 gtk_widget_show
    at gtkwidget.c line 3857
  • #11 meta_ui_new
    at ui/ui.c line 276
  • #12 meta_screen_new
    at core/screen.c line 768
  • #13 meta_display_open
    at core/display.c line 821
  • #14 main
    at core/main.c line 719

Comment 2 Maciej (Matthew) Piechotka 2010-12-08 21:00:01 UTC
Ups. Sorry - please ignore last comment - I looked into wrong file.
Comment 3 Colin Walters 2010-12-08 21:01:36 UTC
What I need is information on when this started happening.  Most useful would be to back down (or upgrade) your SpiderMonkey version, and tell me if it still crashes.
Comment 4 Maciej (Matthew) Piechotka 2010-12-08 21:08:03 UTC
(In reply to comment #3)
> What I need is information on when this started happening.  Most useful would
> be to back down (or upgrade) your SpiderMonkey version, and tell me if it still
> crashes.

xulrunner version:

% xulrunner-2.0 --version
Mozilla XULRunner 2.0b8pre - 20101207014904

Also xulrunner 2.8b7pre.

When did it started:

It wasn't connected to any upgrade IIRC. My previous update was on 26 Nov and it happens since less then week.

gnome-shell just crashed at some point and keeped crashing at each point after.
Comment 5 Colin Walters 2010-12-08 21:17:07 UTC
(In reply to comment #4)

> It wasn't connected to any upgrade IIRC. My previous update was on 26 Nov and
> it happens since less then week.

But the point is that if it worked for you before, something changed.  You need to help me figure out the "what changed".  Again, please try downgrading xulrunner first.  If that does work, try checking out both gnome-shell and gjs from Nov 25 or whatever.

Just get me whatever information you can to try to narrow down the component.
Comment 6 Maciej (Matthew) Piechotka 2010-12-08 21:28:56 UTC
(In reply to comment #5)
> (In reply to comment #4)
> 
> > It wasn't connected to any upgrade IIRC. My previous update was on 26 Nov and
> > it happens since less then week.
> 
> But the point is that if it worked for you before, something changed.  You need
> to help me figure out the "what changed".

Sorry - I only meant that most obvious factors stayed the same.

> Again, please try downgrading
> xulrunner first.  If that does work, try checking out both gnome-shell and gjs
> from Nov 25 or whatever.
> 
> Just get me whatever information you can to try to narrow down the component.

I will try. For sure I will have time to do this next week and I cannot promise any feedback before.

PS. I mark it as NEEDINFO to remember.
Comment 7 Jonathan Strander 2010-12-09 00:10:02 UTC
At Colin's request (via IRC), trying to add my data:

Xulrunner is 1.9.2, and has been for all of my Shell usage since October (since I'm on Ubuntu Maverick). First time I experienced a crash was after recompiling at 1:00PM CST on December 4th.

http://eduke32.pastebin.com/raw.php?i=7aFe6s55

This was (iirc) around the time the GtkStyleContext branch was pushed to master in gtk+ (don't recall what else was pushed then).

The crash is consistent with the same bt. It will either occur immediate upon starting the shell, or (if not then) when restarting the shell.

Commenting out the call to shell_global_maybe_gc() in run_leisure_functions() seems to prevent the crash:
http://eduke32.pastebin.com/raw.php?i=MXunfQvc
(not posting as a patch because it's a hack)
Comment 8 Maciej (Matthew) Piechotka 2010-12-31 02:34:39 UTC
I cannot reproduce immidiatly the crash with newest gjs/mutter/gnome-shell.