Description of problem: Tests in the gobject directory currently fail in Rawhide with: run-live-tests: info: you can skip this test by setting SKIP_RUN_LIVE_TESTS=1 ** Gjs:ERROR:gjs/byteArray.cpp:824:JSObject* gjs_byte_array_get_proto(JSContext*): assertion failed: (((void) "gjs_" "byte_array" "_define_proto() must be called before " "gjs_" "byte_array" "_get_proto()", !v_proto.isUndefined())) ./run-live-tests: line 26: 11146 Aborted (core dumped) $GJS $srcdir/tests-misc.js FAIL run-live-tests (exit status: 134) I've not investigated further, this is a placeholder. Version-Release number of selected component (if applicable): libguestfs 1.35.37 How reproducible: 100%
This commit added the assert: https://bug614413.bugzilla-attachments.gnome.org/attachment.cgi?id=349966 (from https://bugzilla.gnome.org/show_bug.cgi?id=614413) but I have absolutely no clue what it's going or how to change the affected code so far.
Thread 1 (Thread 0x7ff613bedf80 (LWP 18919)): #0 0x00007ff60e0fe56b in raise () at /lib64/libc.so.6 #1 0x00007ff60e0ff921 in abort () at /lib64/libc.so.6 #2 0x00007ff610f6569d in g_assertion_message () at /lib64/libglib-2.0.so.0 #3 0x00007ff610f6572a in g_assertion_message_expr () at /lib64/libglib-2.0.so.0 #4 0x00007ff613785696 in gjs_byte_array_get_proto(JSContext*) (cx=cx@entry=0x55d875795900) at gjs/byteArray.cpp:824 #5 0x00007ff613787099 in gjs_byte_array_from_byte_array(JSContext*, GByteArray*) (context=0x55d875795900, array=0x55d875a87a80) at gjs/byteArray.cpp:738 #6 0x00007ff6137623d0 in gjs_value_from_g_argument(JSContext*, JS::MutableHandleValue, GITypeInfo*, GArgument*, bool) (context=context@entry=0x55d875795900, value_p=value_p@entry=..., type_info=type_info@entry=0x55d875a87c00, arg=arg@entry=0x7ffe77cf44c8, copy_structs=copy_structs@entry=true) at gi/arg.cpp:2921 #7 0x00007ff613764c97 in boxed_field_getter(JSContext*, unsigned int, JS::Value*) (context=0x55d875795900, argc=<optimized out>, vp=0x7ffe77cf4640) at gi/boxed.cpp:666 #8 0x00007ff60fe0307d in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) () at /lib64/libmozjs-52.so.0 #9 0x00007ff60fe032a9 in js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) () at /lib64/libmozjs-52.so.0 #10 0x00007ff60fe03361 in js::CallGetter(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) () at /lib64/libmozjs-52.so.0 #11 0x00007ff60fe03443 in CallGetter(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<js::Shape*>, JS::MutableHandle<JS::Value>) () at /lib64/libmozjs-52.so.0 #12 0x00007ff60fe037a6 in js::NativeGetProperty(JSContext*, JS::Handle<js::NativeObject*>, JS::Handle<JS::Value>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>) () at /lib64/libmozjs-52.so.0 #13 0x00007ff60fe0531f in js::GetProperty(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>) () at /lib64/libmozjs-52.so.0 #14 0x00007ff60fdf564a in Interpret(JSContext*, js::RunState&) () at /lib64/libmozjs-52.so.0 #15 0x00007ff60fe029f6 in js::RunScript(JSContext*, js::RunState&) () at /lib64/libmozjs-52.so.0 #16 0x00007ff60fe02fcf in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) () at /lib64/libmozjs-52.so.0 #17 0x00007ff60fe032a9 in js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) () at /lib64/libmozjs-52.so.0 #18 0x00007ff60fc94614 in JS_CallFunctionValue(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) () at /lib64/libmozjs-52.so.0 #19 0x00007ff613795db6 in gjs_call_function_value(JSContext*, JS::HandleObject, JS::HandleValue, JS::HandleValueArray const&, JS::MutableHandleValue) (context=context@entry=0x55d875795900, obj=obj@entry=..., fval=fval@entry=..., args=..., rval=..., rval@entry=...) at gjs/jsapi-util.cpp:644 #20 0x00007ff6137673f5 in gjs_closure_invoke(GClosure*, JS::HandleValueArray const&, JS::MutableHandleValue) (closure=closure@entry=0x55d875a93d80, args=..., retval=retval@entry=...) at gi/closure.cpp:215 #21 0x00007ff613785015 in closure_marshal(GClosure*, GValue*, guint, GValue const*, gpointer, gpointer) (closure=0x55d875a93d80, return_value=0x0, n_param_values=2, param_values=0x7ffe77cf5680, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gi/value.cpp:272 #22 0x00007ff61121773d in g_closure_invoke () at /lib64/libgobject-2.0.so.0 #23 0x00007ff61122a4de in signal_emit_unlocked_R () at /lib64/libgobject-2.0.so.0 #24 0x00007ff611232d05 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0 #25 0x00007ff61123366f in g_signal_emit () at /lib64/libgobject-2.0.so.0 #26 0x00007ff5f8162297 in event_callback (g=<optimized out>, opaque=0x55d875a93380, event=64, event_handle=<optimized out>, flags=<optimized out>, buf=<optimized out>, buf_len=6, array=0x0, array_len=0) at src/session.c:127 #27 0x00007ff5ab5826d7 in guestfs_int_call_callbacks_message (g=0x55d875a933b0, event=64, buf=0x55d875a87a60 "launch", buf_len=6) at events.c:117 #28 0x00007ff5ab56c1c0 in guestfs_int_trace_send_line (g=g@entry=0x55d875a933b0, tb=tb@entry=0x7ffe77cf5a20) at actions-support.c:100 #29 0x00007ff5ab521ece in guestfs_launch (g=g@entry=0x55d875a933b0) at actions-3.c:507 #30 0x00007ff5f81740ed in guestfs_session_launch (session=<optimized out>, err=0x7ffe77cf5cf0) at src/session.c:15804 #31 0x00007ff611c05d1e in ffi_call_unix64 () at /lib64/libffi.so.6 #32 0x00007ff611c0568f in ffi_call () at /lib64/libffi.so.6 #33 0x00007ff61376ced8 in gjs_invoke_c_function(JSContext*, Function*, JS::HandleObject, JS::HandleValueArray const&, mozilla::Maybe<JS::MutableHandle<JS::Value> >, GIArgument*) (context=context@entry=0x55d875795900, function=function@entry=0x55d875a87710, obj=..., obj@entry=..., args=..., js_rval=..., r_value=r_value@entry=0x0) at gi/function.cpp:1033 #34 0x00007ff61376e7b4 in function_call(JSContext*, unsigned int, JS::Value*) (context=0x55d875795900, js_argc=0, vp=0x55d8759d44b8) at gi/function.cpp:1351 #35 0x00007ff60fe0318c in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) () at /lib64/libmozjs-52.so.0 #36 0x00007ff60fdfd668 in Interpret(JSContext*, js::RunState&) () at /lib64/libmozjs-52.so.0 #37 0x00007ff60fe029f6 in js::RunScript(JSContext*, js::RunState&) () at /lib64/libmozjs-52.so.0 #38 0x00007ff60fe09690 in js::ExecuteKernel(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value const&, js::AbstractFramePtr, JS::Value*) () at /lib64/libmozjs-52.so.0 #39 0x00007ff60fe097a0 in js::Execute(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value*) () at /lib64/libmozjs-52.so.0 #40 0x00007ff60fc82d13 in ExecuteScript(JSContext*, JS::AutoObjectVector&, JS::Handle<JSScript*>, JS::Value*) () at /lib64/libmozjs-52.so.0 #41 0x00007ff613796576 in gjs_eval_with_scope(JSContext*, JS::HandleObject, char const*, ssize_t, char const*, JS::MutableHandleValue) (context=0x55d875795900, object=object@entry=..., script=<optimized out>, script@entry=0x55d875791b40 "// libguestfs miscellaneous gobject binding tests\n// Copyright (C) 2012 Red Hat Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General"..., script_len=script_len@entry=2185, filename=filename@entry=0x55d875791b20 "./tests-misc.js", retval=retval@entry=...) at gjs/jsapi-util.cpp:876 #42 0x00007ff613788621 in gjs_context_eval(GjsContext*, char const*, gssize, char const*, int*, GError**) (js_context=0x55d8757956c0, script=0x55d875791b40 "// libguestfs miscellaneous gobject binding tests\n// Copyright (C) 2012 Red Hat Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General"..., script_len=2185, filename=0x55d875791b20 "./tests-misc.js", exit_status_p=0x7ffe77cf6bd0, error=0x7ffe77cf6b88) at gjs/context.cpp:701 #43 0x000055d87450be11 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at gjs/console.cpp:284
Upstream bug: https://gitlab.gnome.org/GNOME/gjs/issues/39
Fixed upstream in: https://gitlab.gnome.org/GNOME/gjs/commit/ab1ddf50153f6fb41c64208d0de91ad5ff4aed4b
Actually I see this fix has already been included in 1.52.2.