Skip to content

fix misleading message for missing legacy plugins - #1273

Merged
AmyrAhmady merged 3 commits into
openmultiplayer:masterfrom
dockfries:fix/pawn-plugin-missing-file
Oct 11, 2026
Merged

AmyrAhmady merged 3 commits into
openmultiplayer:masterfrom
dockfries:fix/pawn-plugin-missing-file

Conversation

@dockfries

@dockfries dockfries commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #1272

On Linux, Spawn() ignored Canonicalise()'s return value.  Canonicalise() uses
realpath(), which fails for a missing file and left the output empty, so the
loader got an empty path: dlopen("") resolves to the main program's handle, and
dlsym("ComponentEntryPoint") matched $CAPI's symbol, wrongly reporting "This
file is an open.mp component."  Windows was unaffected (PathCanonicalizeA is
lexical).

Spawn() now reports the missing plugin along with the path it looked for;
Canonicalise() clears its output on failure.
@AmyrAhmady
AmyrAhmady merged commit 6643763 into openmultiplayer:master Oct 11, 2026
15 checks passed
@dockfries
dockfries deleted the fix/pawn-plugin-missing-file branch October 12, 2026 15:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Missing legacy plugin on Linux reports "This file is an open.mp component" instead of a missing-file error

2 participants