Windows/msys2 CI failing with empty output from g-ir-scanner
When f21db372 was pushed to main
1 week ago, CI passed on the two Windows/msys2 builds (clang and mingw-w64): https://gitlab.gnome.org/GNOME/gobject-introspection/-/jobs/2545547, https://gitlab.gnome.org/GNOME/gobject-introspection/-/jobs/2545546.
In merge requests !384 (merged), !258 (merged) and !385 (merged) since then, those two builds are failing to generate GLib-2.0.gir:
[673/704] Generating gir/gir-glib with a custom command (wrapped by meson to set PATH, to set env)
FAILED: gir/GLib-2.0.gir
"C:/msys64/clang64/bin/meson" "--internal" "exe" "--unpickle" "C:/_r/_builds/k3_3muaB/0/GNOME/gobject-introspection/_build/meson-private/meson_exe_python.exe_7515dfc636745a37d785781601877d3cdf89b1fd.dat"
while executing ['C:/msys64/clang64/bin/python.exe', 'C:/_r/_builds/k3_3muaB/0/GNOME/gobject-introspection/_build/tools/g-ir-scanner', '--output=gir/GLib-2.0.gir', '--no-libtool', '--quiet', '--reparse-validate', '--add-include-path', 'C:/_r/_builds/k3_3muaB/0/GNOME/gobject-introspection/_build/gir', '--add-include-path', 'C:/_r/_builds/k3_3muaB/0/GNOME/gobject-introspection/gir', '--extra-library=glib-2.0', '--extra-library=gmodule-2.0', '--extra-library=gobject-2.0', '--extra-library=gio-2.0', '--identifier-prefix=G', '--symbol-prefix=g', '--symbol-prefix=glib', '--c-include=glib.h', '--namespace=GLib', '--nsversion=2.0', '--library=glib-2.0', '--library=gobject-2.0', '--pkg-export=glib-2.0', '-LC:/_r/_builds/k3_3muaB/0/GNOME/gobject-introspection/_build/subprojects/libffi/src', '-LC:/_r/_builds/k3_3muaB/0/GNOME/gobject-introspection/_build/subprojects/proxy-libintl', '-LC:/_r/_builds/k3_3muaB/0/GNOME/gobject-introspection/_build/subprojects/glib/glib', '-LC:/_r/_builds/k3_3muaB/0/GNOME/gobject-introspection/_build/subprojects/glib/gobject', '-LC:/_r/_builds/k3_3muaB/0/GNOME/gobject-introspection/_build/subprojects/glib/gmodule', '-LC:/_r/_builds/k3_3muaB/0/GNOME/gobject-introspection/_build/subprojects/glib/gio', '--cflags-begin', '-IC:/_r/_builds/k3_3muaB/0/GNOME/gobject-introspection/subprojects/glib', '-IC:/_r/_builds/k3_3muaB/0/GNOME/gobject-introspection/_build/subprojects/glib', '-IC:/_r/_builds/k3_3muaB/0/GNOME/gobject-introspection/_build/subprojects/glib/glib', '-IC:/_r/_builds/k3_3muaB/0/GNOME/gobject-introspection/subprojects/glib/glib', '-IC:/_r/_builds/k3_3muaB/0/GNOME/gobject-introspection/subprojects/glib/gobject', '-IC:/_r/_builds/k3_3muaB/0/GNOME/gobject-introspection/subprojects/glib/gmodule', '-IC:/_r/_builds/k3_3muaB/0/GNOME/gobject-introspection/subprojects/glib/gio', '-IC:/_r/_builds/k3_3muaB/0/GNOME/gobject-introspection/_build/subprojects/libffi/include', '-IC:/_r/_builds/k3_3muaB/0/GNOME/gobject-introspection/subprojects/proxy-libintl', '-DGLIB_COMPILATION', '-DGOBJECT_COMPILATION', '-D__G_I18N_LIB_H__', '-DGETTEXT_PACKAGE=Dummy', '--cflags-end', '../subprojects/glib/gobject/glib-types.h', 'subprojects/glib/glib/glibconfig.h', 'subprojects/glib/gobject/glib-enumtypes.h', 'subprojects/glib/glib/glibconfig.h', 'subprojects/glib/glib/gversionmacros.h', 'subprojects/glib/glib/glib-visibility.h', '../subprojects/glib/glib/garcbox.c', '../subprojects/glib/glib/garray.c', '../subprojects/glib/glib/gasyncqueue.c', '../subprojects/glib/glib/gatomic.c', '../subprojects/glib/glib/gbacktrace.c', '../subprojects/glib/glib/gbase64.c', '../subprojects/glib/glib/gbitlock.c', '../subprojects/glib/glib/gbookmarkfile.c', '../subprojects/glib/glib/gbytes.c', '../subprojects/glib/glib/gcharset.c', '../subprojects/glib/glib/gchecksum.c', '../subprojects/glib/glib/gconvert.c', '../subprojects/glib/glib/gdataset.c', '../subprojects/glib/glib/gdate.c', '../subprojects/glib/glib/gdatetime.c', '../subprojects/glib/glib/gdir.c', '../subprojects/glib/glib/genviron.c', '../subprojects/glib/glib/gerror.c', '../subprojects/glib/glib/gfileutils.c', '../subprojects/glib/glib/ggettext.c', '../subprojects/glib/glib/ghash.c', '../subprojects/glib/glib/ghmac.c', '../subprojects/glib/glib/ghook.c', '../subprojects/glib/glib/ghostutils.c', '../subprojects/glib/glib/giochannel.c', '../subprojects/glib/glib/gkeyfile.c', '../subprojects/glib/glib/glib-init.c', '../subprojects/glib/glib/glib-private.c', '../subprojects/glib/glib/glist.c', '../subprojects/glib/glib/gmain.c', '../subprojects/glib/glib/gmappedfile.c', '../subprojects/glib/glib/gmarkup.c', '../subprojects/glib/glib/gmem.c', '../subprojects/glib/glib/gmessages.c', '../subprojects/glib/glib/gnode.c', '../subprojects/glib/glib/goption.c', '../subprojects/glib/glib/gpathbuf.c', '../subprojects/glib/glib/gpattern.c', '../subprojects/glib/glib/gpoll.c', '../subprojects/glib/glib/gprimes.c', '../subprojects/glib/glib/gqsort.c', '../subprojects/glib/glib/gquark.c', '../subprojects/glib/glib/gqueue.c', '../subprojects/glib/glib/grand.c', '../subprojects/glib/glib/grcbox.c', '../subprojects/glib/glib/grefcount.c', '../subprojects/glib/glib/grefstring.c', '../subprojects/glib/glib/gregex.c', '../subprojects/glib/glib/gscanner.c', '../subprojects/glib/glib/gsequence.c', '../subprojects/glib/glib/gshell.c', '../subprojects/glib/glib/gslice.c', '../subprojects/glib/glib/gslist.c', '../subprojects/glib/glib/gstdio.c', '../subprojects/glib/glib/gstrfuncs.c', '../subprojects/glib/glib/gstring.c', '../subprojects/glib/glib/gstringchunk.c', '../subprojects/glib/glib/gstrvbuilder.c', '../subprojects/glib/glib/gtestutils.c', '../subprojects/glib/glib/gthread.c', '../subprojects/glib/glib/gthreadpool.c', '../subprojects/glib/glib/gtimer.c', '../subprojects/glib/glib/gtimezone.c', '../subprojects/glib/glib/gtrace.c', '../subprojects/glib/glib/gtrace-private.h', '../subprojects/glib/glib/gtranslit.c', '../subprojects/glib/glib/gtrashstack.c', '../subprojects/glib/glib/gtree.c', '../subprojects/glib/glib/guniprop.c', '../subprojects/glib/glib/gutf8.c', '../subprojects/glib/glib/gunibreak.c', '../subprojects/glib/glib/gunicollate.c', '../subprojects/glib/glib/gunidecomp.c', '../subprojects/glib/glib/guri.c', '../subprojects/glib/glib/guriprivate.h', '../subprojects/glib/glib/gutils.c', '../subprojects/glib/glib/gutilsprivate.h', '../subprojects/glib/glib/guuid.c', '../subprojects/glib/glib/gvariant.c', '../subprojects/glib/glib/gvariant-core.c', '../subprojects/glib/glib/gvariant-parser.c', '../subprojects/glib/glib/gvariant-serialiser.c', '../subprojects/glib/glib/gvarianttypeinfo.c', '../subprojects/glib/glib/gvarianttype.c', '../subprojects/glib/glib/gversion.c', '../subprojects/glib/glib/gwakeup.c', '../subprojects/glib/glib/gprintf.c', 'subprojects/glib/glib/subprojects_glib_glib_glib.rc_glib.o', '../subprojects/glib/glib/gwin32.c', '../subprojects/glib/glib/gspawn-win32.c', '../subprojects/glib/glib/giowin32.c', '../subprojects/glib/glib/gthread-win32.c', '../subprojects/glib/glib/glib-typeof.h', '../subprojects/glib/glib/galloca.h', '../subprojects/glib/glib/garray.h', '../subprojects/glib/glib/gasyncqueue.h', '../subprojects/glib/glib/gatomic.h', '../subprojects/glib/glib/gbacktrace.h', '../subprojects/glib/glib/gbase64.h', '../subprojects/glib/glib/gbitlock.h', '../subprojects/glib/glib/gbookmarkfile.h', '../subprojects/glib/glib/gbytes.h', '../subprojects/glib/glib/gcharset.h', '../subprojects/glib/glib/gchecksum.h', '../subprojects/glib/glib/gconvert.h', '../subprojects/glib/glib/gdataset.h', '../subprojects/glib/glib/gdate.h', '../subprojects/glib/glib/gdatetime.h', '../subprojects/glib/glib/gdir.h', '../subprojects/glib/glib/genviron.h', '../subprojects/glib/glib/gerror.h', '../subprojects/glib/glib/gfileutils.h', '../subprojects/glib/glib/ggettext.h', '../subprojects/glib/glib/ghash.h', '../subprojects/glib/glib/ghmac.h', '../subprojects/glib/glib/ghook.h', '../subprojects/glib/glib/ghostutils.h', '../subprojects/glib/glib/gi18n.h', '../subprojects/glib/glib/gi18n-lib.h', '../subprojects/glib/glib/giochannel.h', '../subprojects/glib/glib/gkeyfile.h', '../subprojects/glib/glib/glist.h', '../subprojects/glib/glib/gmacros.h', '../subprojects/glib/glib/gmain.h', '../subprojects/glib/glib/gmappedfile.h', '../subprojects/glib/glib/gmarkup.h', '../subprojects/glib/glib/gmem.h', '../subprojects/glib/glib/gmessages.h', '../subprojects/glib/glib/gnode.h', '../subprojects/glib/glib/goption.h', '../subprojects/glib/glib/gpathbuf.h', '../subprojects/glib/glib/gpattern.h', '../subprojects/glib/glib/gpoll.h', '../subprojects/glib/glib/gprimes.h', '../subprojects/glib/glib/gqsort.h', '../subprojects/glib/glib/gquark.h', '../subprojects/glib/glib/gqueue.h', '../subprojects/glib/glib/grand.h', '../subprojects/glib/glib/grcbox.h', '../subprojects/glib/glib/grefcount.h', '../subprojects/glib/glib/grefstring.h', '../subprojects/glib/glib/gregex.h', '../subprojects/glib/glib/gscanner.h', '../subprojects/glib/glib/gsequence.h', '../subprojects/glib/glib/gshell.h', '../subprojects/glib/glib/gslice.h', '../subprojects/glib/glib/gslist.h', '../subprojects/glib/glib/gspawn.h', '../subprojects/glib/glib/gstdio.h', '../subprojects/glib/glib/gstrfuncs.h', '../subprojects/glib/glib/gstrvbuilder.h', '../subprojects/glib/glib/gtestutils.h', '../subprojects/glib/glib/gstring.h', '../subprojects/glib/glib/gstringchunk.h', '../subprojects/glib/glib/gthread.h', '../subprojects/glib/glib/gthreadpool.h', '../subprojects/glib/glib/gtimer.h', '../subprojects/glib/glib/gtimezone.h', '../subprojects/glib/glib/gtrashstack.h', '../subprojects/glib/glib/gtree.h', '../subprojects/glib/glib/gtypes.h', '../subprojects/glib/glib/guuid.h', '../subprojects/glib/glib/gunicode.h', '../subprojects/glib/glib/guri.h', '../subprojects/glib/glib/gutils.h', '../subprojects/glib/glib/gvarianttype.h', '../subprojects/glib/glib/gvariant.h', '../subprojects/glib/glib/gversion.h', '../subprojects/glib/glib/gwin32.h', '../subprojects/glib/glib/gprintf.h', '../gir/glib-2.0.c']
--- stdout ---
--- stderr ---
[674/704] Linking target tests/scanner/libbarapp-1.0.dll
[675/704] Compiling C object tests/scanner/libregress-1.0.dll.p/annotation.c.obj
[676/704] Compiling C object tests/scanner/libregress-1.0.dll.p/foo.c.obj
[677/704] Compiling C object tests/scanner/libregress-1.0.dll.p/regress.c.obj
ninja: build stopped: subcommand failed.
At first I thought this was a bug in !258 (merged), but it's happening for unrelated MRs too, so it must be either an infra issue or triggered by a GLib change. The most recent good build was https://gitlab.gnome.org/GNOME/gobject-introspection/-/pipelines/486313 and the first bad build was in https://gitlab.gnome.org/GNOME/gobject-introspection/-/pipelines/487289. Unfortunately I wasn't able to find a GLib commit sha1 in the log.
I've pushed a branch wip/smcv/testbuild
which is a duplicate of main
, to get a pipeline for a test-rebuild of main
: https://gitlab.gnome.org/GNOME/gobject-introspection/-/pipelines/490770
The failing command-line is very long, so I can't help wondering whether it's as simple as Windows hitting a command-line length limit? If it's that, then probably the only solution would be to give g-ir-scanner a --filelist
instead of command-line options.