Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The 64-bit server crashes when executing print or printf in the scripts #835

Open
FranDevet opened this issue Jan 14, 2024 · 5 comments
Open
Assignees
Labels
bug Something isn't working nightly

Comments

@FranDevet
Copy link

Describe the bug
If you run the 'print' or 'printf' function in OnGamemodeInit/OnFilterScriptInit on an open.mp x64 server, the server will immediately shut down. It works correctly on the Win32 server.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'new filterscript'
#define FILTERSCRIPT

#include <open.mp>

public OnFilterScriptInit()
{
	print(" ");
	print("  -----------------------------------");
	print("  |  My first open.mp filterscript! |");
	print("  -----------------------------------");
	print(" ");
}


public OnFilterScriptExit()
{
	return 1;
}
  1. Click on 'compile and run omp server x64'
  2. See error

Expected behavior
The filter script should execute the print function, and the server should not close.

Screenshots and/or logs
If applicable, add screenshots and/or log output to help explain your problem.

Commit hash in master
Link

@FranDevet FranDevet added bug Something isn't working nightly labels Jan 14, 2024
@AmyrAhmady
Copy link
Member

Is your script compiled with a x64 pawn compiler?

@FranDevet
Copy link
Author

yes
compilerx64.zip

@AmyrAhmady
Copy link
Member

AmyrAhmady commented Feb 1, 2024

Just use the commonly used compilers, aka 32bit versions of them, scripts compiled with 32bit compilers work with omp x64

@NexiusTailer
Copy link
Contributor

NexiusTailer commented Feb 2, 2024

Just of curiosity, I compiled my test gamemode with x64 pawn compiler exactly from the archive above, compiled .amx script works good on omp server x64/x32 and even samp server (so, as I understand, x64 compiler generates regular .amx file). My next step was to also add filterscript of the example above, the omp server crashed. Then I compiled the same filterscript with x32 compiler and tested again, it crashed again. Here are the two minidump files:

omp_minidump (x64 compiler).zip
omp_minidump (x32 compiler).zip

I'm almost sure they are identical because the compiler (most likely) is not related to the issue itself, it's only about x64 omp server AND the fact that print function is called exactly from filterscript, not gamemode.

@Hual Hual reopened this Mar 7, 2024
@NexiusTailer
Copy link
Contributor

Can confirm the issue is still reproducible on the latest nightly build (6941fee)

omp_minidump.zip

Additional details which may be useful:
Crashes on x64 server everytime it starts with a problematic filterscript, but if this filterscript will be loaded after the server started (with loadfs command), there is no crash and all is ok.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working nightly
Projects
None yet
Development

No branches or pull requests

4 participants