-
Notifications
You must be signed in to change notification settings - Fork 8
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
GameMaker segfaults unless run as root #9620
Comments
This very much sounds like a permission issue as you should not need to run GameMaker as root. As a check, you could unpack the .deb to a temporary location and run it from in there to ensure that it's a problem with the installation.
Which should run it locally from that directory, having been extracted with the same permissions as your user. You could also attach that crash dump so we can see in our code what is going wrong. |
Hi stuckie, yes, Devuan is pretty much Debian.
Attaching the dump below |
Ok, so this is definitely failing with ImageMagick as we try to call Environment_Initialize. You should have three libraries in your GameMaker-Beta/x86_64 folder:
I'd first check the permissions on those to make sure your user can access them, especially if running as root seems to work. Then perhaps try:
to make sure it has all it's dependencies on your system.. though again, the running as root trips me up here as surely it would fail if these weren't met. To pinpoint whether it's a LD path issue ( as .NET is a bit odd with library paths ) try renaming them to ensure they cannot be found and see if you get the exact same crash. Finally, the only other thing I can think of is, again, back to permissions. All else fails, you could run it within an Ubuntu distrobox - which is a Docker-like container system and if nothing else, keeps it in it's own little world. |
Thank you for trying to help me!
And this is the output of ldd Magick.Native-Q8-x64.dll.so
Just to be on the same page, do I need to rename the libraries that are in the output for ldd Magick.Native-Q8-x64.dll.so? In GameMaker.dll.config I see only dllmap commands for yoga while IDE.dll.config has openAL, onig and yoga. If I add this dllmap line into both files, would that cause any issues? Checking the /tmp folder's permissions with ls -al gave this result:
Could this be the reason why it won't work? If so, what would be your recommendation in terms of permissions the user should have for this folder? Would it cause any security issues if the user can write to the /tmp folder? |
Interesting that the arm64 version doesn't link to gtk3 but that's nothing to do with what's here. ( Verifying commands on an arm64 distribution just now, if you're wondering ) For the ldd, no, that's just seeing what library link dependencies it has. It shouldn't hurt adding it to both files, so feel free to do so. |
After moving the file and adding to both dll.config files I saw the GameMaker Studio window but it's blank and non-functioning. |
Ah, ok, you did two different things at once! The step of moving the libraries was to see if it was not able to find them initially, or if the actual initialise function was being called but doing something your distribution did not like. From that ui.log, it's definitely not picking up the libraries now so it's unable to load any images - hence the black screen. Though that's slightly worrying in that it's working now, rather than crashing out. Separately, the config lines were to remap what it's looking for. If you have moved/renamed the libraries, you'll need to put them back or modify the target lines to where they are now. |
Should I return the Magick.Native-Q8-x64.dll.so to the x86_64 folder and set it in the dll.configs and try running it again or is there something else I should try? |
Yep, may as well try it as I'm running out of ideas now. If this doesn't work, again, I can only suggest running it through distrobox in an Ubuntu container. |
After setting it back to the folder with the extracted engine |
I still recommend using distrobox - I've used it to test on Arch, for instance - and it keeps things contained out the way. The fact it actually runs as root is particularly confusing, and certainly seems to point towards a permissions issue somewhere that's tripping things up. I definitely cannot recommend running anything as root, as you're likely well aware of! I have noticed we are running an older version of ImageMagick so I'll put in a ticket to update this for the next major release, and hopefully that may help as we do have a couple of other image issues at the moment that may also benefit from the update. Unfortunately, I'm a bit at a loss now. |
Yeah. I understand and I'm hopeful the ImageMagick update will fix this and many other issues as well. I'll also look into distrobox as well although I'm not a fan of running containers and flatpaks on my aging laptop. 🙁 |
Yep, we can look at the log and see if there's anything in there that points to what is going on. |
Launching it from the extracted folder as root also leads to it running and installing its runtime. |
There's definitely nothing in the logs that seem to point to anything in particular going wrong ( or right, in this case. ) We've marked ImageMagick to be updated for the next major release ( it's too late for this one ) so hopefully that'll work out. I'll keep this ticket open to refer back to when we have a beta that's available for testing, so we can try and pin it down. |
In any case, thank you for looking into it. Here's hoping the next beta will work on this system as well. I set up GameMaker on my other PC so if worst comes to worst, I can just use that in the meantime. 🙂 |
Description
Hello, I get a segfault whenever I try running GameMaker Studio unless I run it as root.
This issue started happening after updating from version 2022 to any of the 2023/2024 versions.
My operating system is Devuan Daedalus.
Attaching strace output as well because I don't have a sample package to upload, I can't get to the stage where GameMaker runs.
strace.txt
Through conversations with one of the developers we were able to pinpoint the culprit of the segfault being the imagemagick library.
Would it be possible to dig deeper into this and issue a fix?
Expected Change
GameMaker Studio should run as intended.
Steps To Reproduce
How reliably can you recreate this issue using your steps above?
Always
Which version of GameMaker are you reporting this issue for?
2024.1300 (Betas)
Which operating system(s) are you seeing the problem on?
Devuan 5 Daedalus
Are you running GameMaker from inside your Steam library?
No
Sample Package Attached?
Sample Project Added?
The text was updated successfully, but these errors were encountered: