Fatal signal: Segmentation Fault (SDL Parachute Deployed), but not as root
Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Fatal signal: Segmentation Fault (SDL Parachute Deployed), but not as root
I'm trying to run a Windows screensaver on Linux using Wine. The screensaver uses SDL.
I copied the necessary files to a directory, and opened the exe in Wine.
As root everything works, and I see the screensaver.
As a regular user, it does not. I get:
Fatal signal: Segmentation Fault (SDL Parachute Deployed)
I've used chown to change ownerschip to the user and a "screensaver" group, but that doesn't help.
Look at the permissions on all the files needed by the screensaver. (ls -l)
Just because the group et al is right don't mean the group et al have the right permissions.
I expect you'll want rwxr-xr-x (just match what the other screensavers say).
Last edited by Simon Bridge; 06-13-2005 at 06:44 AM.
biik ... hunch tho: possible that the screensaver settings are cached somewhere and you'll have to reboot for the new permissions to take effect (was this tried). If this works, then there is probably some sort of config utility.
The way it runs says that it is a permissions problem. Is it possible that the screensaver calls something elsewhere?
I just had a thought - if these files are just copied over - maybe the screensaver is calling it's support files from the windows partition still? ... maybe not likely but it would be in keeping with win paradigms to have the program look in a particular named directory on the windows c drive if it expects only to be run in a windows environment. This could be checked - what are the permissions for the win partition? If only root has execute access - try giving everyone execute, just for a while. (or rename the files in windows)
Hi,a reboot did not fix the problem.
I don't think the screensaver can access window files anymore, since it doesn't now the location to the "C:" drive, since linux mounts this on /win/C.
I already copied the necessary DLLs, without them it gave an error.
Different screensavers will act differently - windows right - some will want their dlls et al in the same directory, others will look in a specific (named) directory - assuming it's there. (This is poor programming BTW. But it happens.)
You have a point about not knowing where the c: drive is - if it wants a named directory, it's code will look for c:\fu\bar or whatever ... technically, you could write a wrapper to trap that sort of thing However: your problem is not that a file cannot be found (which is what you'd get if it was trying to look for a non-existant directory) but that only root can access something vital needed to run the screensaver.
It comes down to how badly you want to have this particular screensaver.
Have you tried altering the permissions for your win mountpoint?
Wine should be able to come with this - like aliasing c:\ to something useful in linux.
Last edited by Simon Bridge; 06-19-2005 at 05:49 AM.
Thanks! It seems indeed that wine has its own windows-directories in ~/.wine/drive_c/windows
In Windows, the screensaver files were all in the C:\Windows\ directory, so I tried placing the files in the wine equivalent. This did indeed seem to solve the problem.
I did need to cd first to the right directory, so I wrote a little script to do this
#!/bin/bash
cd ~/.wine/drive_c/windows
wine Antarctica_App.exe
(I'm writing this if others are having the same problem...)
Don't forget to chmod +x this script...
What I don't understand however, is why root was able to run it, and a regular user couldn't. Probably permissions indeed, but I think the win dir has the right permissions:
-r-xr-xr-x 2 root root 266240 2004-07-05 11:31 Antarctica.scr*
-r-xr-xr-x 2 root root 274432 2004-07-05 11:26 Antarctica_App.exe*
-r-xr-xr-x 1 root root 225280 2002-10-07 09:49 SDL.dll*
-r-xr-xr-x 2 root root 262144 2003-03-09 12:53 SDL_mixer.dll*
And the same for the other files.
Shouldn't that be enough?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.