GStreamer 1.24.0 and a new Warning

Hi all,
since I upgraded to the latest GStreamer 1.24

I get this warning
(FireflyLuciferin:36608): GStreamer-WARNING **: 12:27:23.362: External plugin loader failed. This most likely means that the plugin loader helper binary was not found or could not be run. You might need to set the GST_PLUGIN_SCANNER environment variable if your setup is unusual. This should normally not be required though.

I never seen this warning before, what can it be?

Thanks
Davide

1 Like

How did you update? Did you properly configured the prefix ti match your installation?

using the MSI installer.
I use the same path as always.

A --gst-debug= or GST_DEBUG=*:INFO,*PLUGIN*:LOG debug log might shed some light.

Can you try with 1.24.1? I think this commit might have fixed your issue, registry, ptp: Canonicalize the library path returned by dladdr (bd97973c) · Commits · GStreamer / gstreamer · GitLab

Thanks for the answer philn, I appreciate it,
I’ll try it once the installer will be ready.

1.24.1 binaries are up now.

@philn
Same warning even with 1.24.1
the weird thing is that the Warning does not shows every time.

Sometimes I see it, sometimes not…

Please provide debug logs suggested by Tim.

I saw some as well in Gstreamer 1.24.1. For example, qt libs are missing for qml6 sink although qml6 sink is not used. My app is still using Qt5. Maybe ignore them. But do pay attention to these warnings for libs or plugins which are used.

OS: Ubuntu 22.04

I’m not sure if this helps, or is strictly related, but here goes:

I’ve been testing GStreamer 1.24.3 and 1.24.4 on five different Windows 11 laptops. On one machine only, Gstreamer crashes when trying to construct the path to the system plugin scanner:

0:00:00.161548400 27356 00000214081E8090 DEBUG GST_REGISTRY gstregistry.c:1586:priv_gst_get_relocated_libgstreamer: attempting to retrieve libgstreamer-1.0 location using Win32-specific method
0:00:00.168271100 27356 00000214081E8090 DEBUG GST_REGISTRY gstregistry.c:1595:priv_gst_get_relocated_libgstreamer: using DLL dir <redacted (app path)>\gstreamer\x86_64\lib
0:00:00.170209200 27356 00000214081E8090 DEBUG GST_PLUGIN_LOADING gstpluginloader-win32.c:483:find_helper_bin_location: found libgstreamer-1.0 library at <redacted (app path)>\gstreamer\x86_64\lib
0:00:00.172337300 27356 00000214081E8090 DEBUG GST_PLUGIN_LOADING gstpluginloader-win32.c:500:find_helper_bin_location: constructing path to system plugin scanner using plugin dir: ‘lib’, plugin scanner dir: ‘libexec’

Above was the last line executed at debug level 6.

Even if I supply the path via THE GST_PLUGIN_SCANNER environment variable, the scanner is apparently found but it can’t be loaded, on both the good machines and the bad one:

0:00:00.023052500 42816 000002276E13E090 LOG GST_PLUGIN_LOADING gstpluginloader-win32.c:469:find_helper_bin_location: Trying GST_PLUGIN_SCANNER env var: \gstreamer\x86_64\libexec\gstreamer-1.0
0:00:00.023202100 42816 000002276E13E090 WARN GST_PLUGIN_LOADING gstpluginloader-win32.c:1095:gst_plugin_loader_new: Couldn’t create helper process
0:00:00.023248800 42816 000002276E13E090 WARN GST_REGISTRY gstregistry.c:1164:gst_registry_scan_plugin_file: Failed starting plugin scanner. Scanning in-process

On my good machines, scanning does succeed. It looks like it succeeds regardless if that env var is set or not. But on my one machine, gstreamer still crashes.

Now, I don’t want to mislead anyone, because this crash also is now happening with Gstreamer 1.19.

So something is now wrong on this one machine only. I just don’t know yet what to look for.

1 Like

STACK_TEXT:
00000040b5ffd8e0 00007ff8e7214e2a : 00007ff8e7252ac0 0000000000000000 00000040b5ffd9b0 000000000000005c : glib_2_0_0!g_build_pathname_va+0x98
00000040b5ffd960 00007ff8e72141b9 : 00000040b5ffdeb0 000000006657d066 0000000000000000 0000020acf0c0000 : gstreamer_1_0_0!find_helper_bin_location+0x22a
00000040b5ffdc00 00007ff8e71d1ab3 : 0000000200000000 000081b600000000 0000000000000000 00000040b5ffdeb0 : gstreamer_1_0_0!gst_plugin_loader_new+0x29
00000040b5ffdd00 00007ff8e71d1960 : 0000000000000000 0000020a90c62f80 0000020a98d00138 0000000000000001 : gstreamer_1_0_0!gst_registry_scan_plugin_file+0x83
00000040b5ffdd60 00007ff8e71d25d7 : 0000000000000000 0000000000000000 0000020a9a82323b 0000020a847d6fa0 : gstreamer_1_0_0!gst_registry_scan_path_level+0x7c0
00000040b5ffde60 00007ff8e71ced32 : 00000040b5ffdfc0 0000020a844c1f80 0000020a00000001 00000040b5ffdfc0 : gstreamer_1_0_0!scan_and_update_registry+0x2c7
00000040b5ffdf10 00007ff8e71d1c73 : 0000000000000000 00000040b5ffe080 0000020a9b22efa0 00007ff92c5318da : gstreamer_1_0_0!ensure_current_registry+0x1e2
00000040b5ffdf70 00007ff8e715cbe7 : 0000000000000000 0000020aefb86020 0000000000000000 0000020a9b1e6e60 : gstreamer_1_0_0!gst_update_registry+0x23
00000040b5ffdfc0 00007ff8e6c22528 : 0000000000000001 0000020a00000000 0000020a9b23cfa0 0000020a9b22efa0 : gstreamer_1_0_0!init_post+0x667
00000040b5ffe030 00007ff8e715c36f : 00000040b5ffe1a0 0000000000000000 0000020a9b22efa0 00007ff931e60000 : glib_2_0_0!g_option_context_parse+0x898
00000040b5ffe110 00007ff8e715c247 : 00000040b5ffe6c0 0000020ad71a43b0 00000040b5ffe290 0000020ad71a43b0 : gstreamer_1_0_0!gst_init_check+0xdf
00000040b5ffe160 00007ff8fbfba0bc : 0000020ad71a43b0 00007ff8fbfd7178 0000000000000000 0000000000000020 : gstreamer_1_0_0!gst_init+0x17

STACK_COMMAND: ~7s; .ecxr ; kb

FAULTING_SOURCE_LINE: C:\projects\repos\cerbero.git\1.24\build\sources\msvc_x86_64\glib-2.74.4\glib\gfileutils.c

FAULTING_SOURCE_FILE: C:\projects\repos\cerbero.git\1.24\build\sources\msvc_x86_64\glib-2.74.4\glib\gfileutils.c

FAULTING_SOURCE_LINE_NUMBER: 2085

FAULTING_SOURCE_CODE:
2081: }
2082:
2083: #ifdef G_OS_WIN32
2084:

2085: static gchar *
2086: g_build_pathname_va (const gchar *first_element,
2087: va_list *args,
2088: gchar *str_array)
2089: {
2090: /
Code copied from g_build_pathv(), and modified to use two

SYMBOL_NAME: glib_2_0_0!g_build_pathname_va+98

MODULE_NAME: glib_2_0_0

IMAGE_NAME: glib-2.0-0.dll

FAILURE_BUCKET_ID: INVALID_POINTER_READ_AVRF_c0000005_glib-2.0-0.dll!g_build_pathname_va

OS_VERSION: 10.0.19041.1

BUILDLAB_STR: vb_release

OSPLATFORM_TYPE: x64

OSNAME: Windows 10

IMAGE_VERSION: 2.74.4.0

FAILURE_ID_HASH: {77c8e690-c8fb-ee80-a37d-ab5afecae874}