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 785153 - Drop autotools support
Drop autotools support
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2017-07-20 00:18 UTC by Florian Müllner
Modified: 2017-08-12 07:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
build: Drop autotools support (42.80 KB, patch)
2017-07-20 00:19 UTC, Florian Müllner
committed Details | Review
build: Add Build API wrapper for meson/ninja (5.40 KB, patch)
2017-07-20 00:19 UTC, Florian Müllner
committed Details | Review

Description Florian Müllner 2017-07-20 00:18:59 UTC
Follow-up to bug 783229 if no major problems pop up ...
Comment 1 Florian Müllner 2017-07-20 00:19:08 UTC
Created attachment 355986 [details] [review]
build: Drop autotools support

Complete the switch to meson and drop autotools support ...
Comment 2 Florian Müllner 2017-07-20 00:19:14 UTC
Created attachment 355987 [details] [review]
build: Add Build API wrapper for meson/ninja

The Build API[0] used by gnome-continuous expects a configure
script that generates a Makefile, so grab a copy of graphene's
compatibility script[1] to make it happy.

[0] https://github.com/cgwalters/build-api
[1] https://github.com/ebassi/graphene/blob/master/configure
Comment 3 Florian Müllner 2017-08-10 18:28:23 UTC
Attachment 355986 [details] pushed as cf010cf - build: Drop autotools support
Attachment 355987 [details] pushed as 4b1ba2c - build: Add Build API wrapper for meson/ninja
Comment 4 Ting-Wei Lan 2017-08-10 19:02:22 UTC
(In reply to Florian Müllner from comment #0)
> Follow-up to bug 783229 if no major problems pop up ...

Unfortunately, gnome-shell built with meson doesn't work on my machine running FreeBSD 11.1. When an application with single window is running, gnome-shell hangs if I move the mouse to 'Activities' or run other applications with Alt+F2. I am unable to have more than one window or run more than one application under gnome-shell. gnome-shell built with autotools works fine on my machine.
Comment 5 Florian Müllner 2017-08-10 19:03:32 UTC
That sounds bizarre, can you provide logs?
Comment 6 Ting-Wei Lan 2017-08-10 19:07:32 UTC
(In reply to Florian Müllner from comment #5)
> That sounds bizarre, can you provide logs?

Which kind of logs should I provide? I saw no difference on output written to stdout and stderr.
Comment 7 Florian Müllner 2017-08-10 19:22:48 UTC
(In reply to Ting-Wei Lan from comment #6)
> (In reply to Florian Müllner from comment #5)
> > That sounds bizarre, can you provide logs?
> 
> Which kind of logs should I provide?

I don't know - it's completely unclear how the build system would have an effect as described, in particular as the overview/window management bits in gnome-shell are javascript files bundled in a resource (so not subject to different compiler/linker flags).
Comment 8 Ting-Wei Lan 2017-08-11 06:33:04 UTC
I found another difference between gnome-shell built with autotools and meson. gnome-shell built with meson segfault when I run 'imports.system.gc()' with its D-Bus API or looking glass. gnome-shell built with autotools works fine.


Messages found on the console:

(gnome-shell:90699): GLib-GObject-CRITICAL **: g_type_get_qdata: assertion 'node != NULL' failed
gnome-session-binary[90588]: WARNING: Application 'org.gnome.Shell.desktop' killed by signal 11


Backtrace:

  • #0 IsAboutToBeFinalizedInternal<JSObject>
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/gc/Marking.cpp line 2735
  • #1 js::gc::IsAboutToBeFinalizedUnbarriered<JSObject*>
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/gc/Marking.cpp line 2797
  • #2 JS_UpdateWeakPointerAfterGCUnbarriered
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/jsapi.cpp line 1401
  • #3 JS_UpdateWeakPointerAfterGC
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/jsapi.cpp line 1395
  • #4 update_gtype_weak_pointers
    at /home/lantw44/gnome/source/gjs/gi/gtype.cpp line 67
  • #5 js::gc::GCRuntime::callWeakPointerCompartmentCallbacks
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/jsgc.cpp line 1474
  • #6 js::gc::GCRuntime::beginSweepingZoneGroup
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/jsgc.cpp line 5027
  • #7 js::gc::GCRuntime::beginSweepPhase
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/jsgc.cpp line 5232
  • #8 js::gc::GCRuntime::incrementalCollectSlice
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/jsgc.cpp line 5913
  • #9 js::gc::GCRuntime::gcCycle
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/jsgc.cpp line 6201
  • #10 js::gc::GCRuntime::collect
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/jsgc.cpp line 6329
  • #11 js::gc::GCRuntime::gc
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/jsgc.cpp line 6397
  • #12 gjs_gc
    at /home/lantw44/gnome/source/gjs/modules/system.cpp line 133
  • #13 js::CallJSNative
  • #14 js::InternalCallOrConstruct
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/vm/Interpreter.cpp line 459
  • #15 js::CallFromStack
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/vm/Interpreter.cpp line 510
  • #16 Interpret
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/vm/Interpreter.cpp line 2922
  • #17 js::RunScript
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/vm/Interpreter.cpp line 405
  • #18 js::ExecuteKernel
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/vm/Interpreter.cpp line 686
  • #19 EvalKernel
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/builtin/Eval.cpp line 327
  • #20 js::DirectEval
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/builtin/Eval.cpp line 438
  • #21 Interpret
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/vm/Interpreter.cpp line 2837
  • #22 js::RunScript
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/vm/Interpreter.cpp line 405
  • #23 js::InternalCallOrConstruct
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/vm/Interpreter.cpp line 477
  • #24 js::Call
    at /home/lantw44/gnome/source/mozjs-52.2.1gnome1/js/src/vm/Interpreter.cpp line 523
  • #25 js::jit::InvokeFunction
  • #26 ??
  • #27 ??
  • #28 ??
  • #29 ??
  • #30 js::jit::GetIntrinsicValueInfo
    from /home/lantw44/gnome/devinstall/lib/libmozjs-52.so
  • #31 ??
  • #32 ??
  • #33 ??
  • #34 ??
  • #35 ??

Comment 9 Ting-Wei Lan 2017-08-12 07:35:39 UTC
After rebuilding everything in jhbuild with CFLAGS=-O0, CXXFLAGS=-O0, and --buildtype=debug, GC no longer causes segfault. However, gnome-shell still hangs when more than one window is opened.