[Bug 51086] winegstreamer hangs in gst_init_check() while registering libgstges.so (GStreamer Editing Services plugin); may manifest as hang during prefix creation and subsequent failure to load applications with "wine: could not load kernel32.dll, status c0000135"

WineHQ Bugzilla wine-bugs at winehq.org
Tue Jul 6 17:20:43 CDT 2021


https://bugs.winehq.org/show_bug.cgi?id=51086

Zebediah Figura <z.figura12 at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|winegstreamer hangs in      |winegstreamer hangs in
                   |gst_init_check() while      |gst_init_check() while
                   |registering libgstges.so    |registering libgstges.so
                   |(GStreamer Editing Services |(GStreamer Editing Services
                   |plugin)                     |plugin); may manifest as
                   |                            |hang during prefix creation
                   |                            |and subsequent failure to
                   |                            |load applications with
                   |                            |"wine: could not load
                   |                            |kernel32.dll, status
                   |                            |c0000135"

--- Comment #17 from Zebediah Figura <z.figura12 at gmail.com> ---
(In reply to Alex S from comment #16)
> (In reply to Zebediah Figura from comment #15)
> > This is a GStreamer bug; the plugin is hanging in its registration function.
> 
> Are you entirely sure? How exactly anything hanging could lead to the "could
> not load kernel32.dll" error message? Why would winecfg load gstreamer in
> the first place? (And as far FreeBSD's Wine is concerned, it's typically
> built without gstreamer support.)
> 
> Now, it's almost certain there is some kind of mixup, but in my opinion the
> actual bug report message should take priority over everything else.

When wineboot creates the prefix, it does several tasks, and one is registering
a set of builtin DLLs. That includes winegstreamer. winegstreamer loads
libgstreamer on load, which does a scan for plugins and attempts to register
them all into the local cache.

Another task wineboot does is to copy system DLLs into the prefix. If a DLL
isn't present in the prefix, it can't be subsequently loaded, and will return
STATUS_DLL_NOT_FOUND (i.e. c0000135). That includes kernel32.

Granted, wine could be more robust at one or more of these steps. We could
include a timeout when registering builtin DLLs. We don't actually need to load
libgstreamer when registering it (and probably shouldn't anyway). But at the
same time, this bug is going to happen whenever someone tries to load
libgstreamer, so it's not like the bug report is actually going to go away.
It's a sticky situation.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list