D2X-XL Bug Reports - Mac OS X
Moderators: Grendel, Aus-RED-5
D2X-XL Bug Reports - Mac OS X
D2X-XL Bug Reports - Mac OS X
________________________________________________________________________________
Koolbear has kindly provided a support ticker tracker. Find it here.
Please post bug reports there in the future.
The bug reports threads in this forum will be put out of service.
________________________________________________________________________________
This thread is intended for D2X-XL bug reports for Mac OS X - no suggestions, no questions, no bug reports for other OS's here please.
To put them all neatly together and help me not to forget them, I kindly request everybody to post bug reports for D2X-XL/OS X in this thread.
Please keep this thread clean. In case some issue needs detailled discussion, I will open an extra thread for it.
Thanks
Diedel (a.k.a. karx11erx)
PS:
Please read the D2X-XL FAQ and the D2X-XL Version History to see whether your problem has already been solved.
- Shadowfury333
- DBB Ace
- Posts: 326
- Joined: Mon Aug 09, 2004 8:36 pm
in D2X-XL 1.5.70, I get this when I try to start an MP game:
Also, -grabmouse still doesn't work. It worked in 1.5.44, but not in 1.5.61 or 1.5.70.
Code: Select all
Fatal signal: Bus Error (SDL Parachute Deployed)
SF,
any chance you get a compiler and determine the exact location of the crash?
I have found a bug in the parsing of this parameter. Mouse grabbing is on by default in the release version of d2x-xl according to my source code (which should be the latest version from the SVN repository kaelan and I are using), so you can omit the parameter.
any chance you get a compiler and determine the exact location of the crash?
I have found a bug in the parsing of this parameter. Mouse grabbing is on by default in the release version of d2x-xl according to my source code (which should be the latest version from the SVN repository kaelan and I are using), so you can omit the parameter.
- Shadowfury333
- DBB Ace
- Posts: 326
- Joined: Mon Aug 09, 2004 8:36 pm
Re:
Not a problem, I already have XCode. However, since the filepathing isn't working properly, the check will have to wait.Diedel wrote:any chance you get a compiler and determine the exact location of the crash?
- Shadowfury333
- DBB Ace
- Posts: 326
- Joined: Mon Aug 09, 2004 8:36 pm
Another bug:
When I start a second game in D2X-XL during one session, I get this:
When I start a second game in D2X-XL during one session, I get this:
Code: Select all
Fatal signal: Segmentation Fault (SDL Parachute Deployed)
d2x-xl(2121,0x4814600) malloc: *** Deallocation of a pointer not malloced: 0x31329d0; This could be a double free(), or free() called with the middle of an allocated block; Try setting environment variable MallocHelp to see tools to help debug
d2x-xl(2121,0xa000ef98) malloc: *** Deallocation of a pointer not malloced: 0x4a25e00; This could be a double free(), or free() called with the middle of an allocated block; Try setting environment variable MallocHelp to see tools to help debug
Segmentation fault
Interesting. I will try to reproduce this on Windows (d2x uses different memory management code here, but I can turn that off).
Edit: Doesn't happen here.
Are you aware of the fact that younger save games had a flaw leading to random memory being overwritten when loading them?
So if you loaded a savegame, that may have caused the problem.
Or how exactly do you provoke the crash?
Edit: Doesn't happen here.
Are you aware of the fact that younger save games had a flaw leading to random memory being overwritten when loading them?
So if you loaded a savegame, that may have caused the problem.
Or how exactly do you provoke the crash?
- Shadowfury333
- DBB Ace
- Posts: 326
- Joined: Mon Aug 09, 2004 8:36 pm
Re:
1. Start D2X-XLDiedel wrote:Or how exactly do you provoke the crash?
2. Start single player game
3. End singleplayer game(either by death, hitting Escape and clicking on "Yes", or by completion)
4. Start another single player game.
It seems obvious to me that this is a problem concerning de-allocation of memory aka memory leaks upon ending a game.
- Shadowfury333
- DBB Ace
- Posts: 326
- Joined: Mon Aug 09, 2004 8:36 pm
Re:
The Mac memory management would probably be taken care of by the Mac-only code.Diedel wrote:This does not happen in the PC version - or the Windows memory management is more tolerant than the one on the Mac. Afaik doesn't happen on Linux either.
- Shadowfury333
- DBB Ace
- Posts: 326
- Joined: Mon Aug 09, 2004 8:36 pm
Re:
Well, something is not taking care of memory deallocation.Diedel wrote:Afaik on the Mac memory is handled by the OS.
- Shadowfury333
- DBB Ace
- Posts: 326
- Joined: Mon Aug 09, 2004 8:36 pm
Re:
I know, I suppose Kaelan will be the one to fix it.Diedel wrote:So I just cannot fix this OS X bug.
- bugmenot
- DBB Ace
- Posts: 23
- Joined: Fri Nov 12, 2004 6:15 am
- Location: www.bugmenot.com
- Contact:
D2X-XL is a horrible Mac OS X citizen, other problems
I was hoping to use D2X-XL to play Descent 2 (and multiplayer games), but the fact that it's such a horrible Mac OS X citizen makes it very frustrating to use. Here are a few problems, and how I think they should be fixed:
1. First of all, D2X-XL still doesn't detect data files in the same folder as the GUI application when launching, even after I read a long discussion about this in another thread. It works if you put the data in /Applications/Games/D2X-XL/Data/ , but that's unacceptable if you like to have your games in a different location (I store mine in /Games/ ).
One of the programmers mentioned they were having trouble figuring out the current directory when launching the GUI application. There's no need to figure out the current directory. You can figure it out just from the executable location, like so:
My executable location (NOT the path to the GUI app) is /Games/D2X-XL/d2x-xl.app/Contents/MacOS/d2x-xl . To figure out where my data folder is, you just back up 3 levels from the executable, and you'll find the containing folder of the GUI app -- in this case, that would be /Games/D2X-XL/ . Then you would just have to search for a folder inside that path named Data, which would be /Games/D2X-XL/Data/ . So to recap, to find a Data folder in the same location as the GUI app, go to the executable location, go up three levels, and then look for a Data folder there.
(If you were to try using the current directory to find the location of the data folder, it wouldn't work, because GUI apps launch with a current directory of \"/\".)
2. If you use the Terminal application to change directory to the data folder, and then launch the d2x-xl executable from that location, player files are created inside the data folder. However, on next launch, those player files are not displayed in the choose player dialog on next launch -- if you attempt to create a player that has the same name as the one you created on last launch, D2X-XL will prevent you from doing so because a player with that name already exists, but still will not allow you to choose that player.
3. The config file and player files are stored inside the data folder (if launched from the command line), and stored in the same folder as the GUI app (if launched using the GUI app). In both cases, this behavior is wrong.
One (and only one) preference file should go inside ~/Library/Preferences/ , where ~ is the current user's home folder. This would probably be the config file, and ideally it should be named \"d2x-xl.cfg\" instead of \"descent.cfg\" so that it's easy to identify which application the preference file belongs to (since we do have other versions of d2x available for Mac OS X). The player files, player saved game files, and screenshot files should be stored inside ~/Library/Application Support/D2X-XL/ . This is where other files that aren't global application preferences should be stored for a good Mac OS X app. If the D2X-XL application support folder doesn't exist, it should be created.
If it's too complicated to separate out the config file from the player file/saved game files/screenshot files and store them in different locations, it's acceptable to just put them all in ~/Library/Preferences/D2X-XL/ instead. The D2X-XL preference folder also needs to be created if it doesn't exist.
4. Lastly, D2X-XL may not have backwards compatibility with the player files created with the other version of d2x for Mac OS X -- http://www.macupdate.com/info.php/id/13422 . If you put the player files in the proper location, D2X-XL will see them in the choose player dialog, but if you attempt to select them, it says there is a version mismatch and will not load them. If you delete the player file, create a player of the same name, and attempt to load one of the saved games from d2x, D2X-XL will recognize the name and show a screenshot of the level at the point where you saved, but will be unable to load the games because it can't find the mission \"descent\".
It looks like this might be related to not being able to find the Descent 1 mission files, but I've tried all the locations I can think of, and D2X-XL still is not able to find them. The only mission that shows up is Descent 2. I tried putting the mission files in the data folder, I tried putting a \"Missions\" folder inside the data folder, I tried putting a \"Missions\" folder at the same level as the \"Data\" folder, and I also tried these locations when launching from the command line. I even tried simply putting the \"Missions\" folder in the same location as the executable itself (inside the GUI app), all to no avail. The D2X-XL page (at www.descent2.de) does not help in revealing where the mission files need to be located.
-- simX
1. First of all, D2X-XL still doesn't detect data files in the same folder as the GUI application when launching, even after I read a long discussion about this in another thread. It works if you put the data in /Applications/Games/D2X-XL/Data/ , but that's unacceptable if you like to have your games in a different location (I store mine in /Games/ ).
One of the programmers mentioned they were having trouble figuring out the current directory when launching the GUI application. There's no need to figure out the current directory. You can figure it out just from the executable location, like so:
My executable location (NOT the path to the GUI app) is /Games/D2X-XL/d2x-xl.app/Contents/MacOS/d2x-xl . To figure out where my data folder is, you just back up 3 levels from the executable, and you'll find the containing folder of the GUI app -- in this case, that would be /Games/D2X-XL/ . Then you would just have to search for a folder inside that path named Data, which would be /Games/D2X-XL/Data/ . So to recap, to find a Data folder in the same location as the GUI app, go to the executable location, go up three levels, and then look for a Data folder there.
(If you were to try using the current directory to find the location of the data folder, it wouldn't work, because GUI apps launch with a current directory of \"/\".)
2. If you use the Terminal application to change directory to the data folder, and then launch the d2x-xl executable from that location, player files are created inside the data folder. However, on next launch, those player files are not displayed in the choose player dialog on next launch -- if you attempt to create a player that has the same name as the one you created on last launch, D2X-XL will prevent you from doing so because a player with that name already exists, but still will not allow you to choose that player.
3. The config file and player files are stored inside the data folder (if launched from the command line), and stored in the same folder as the GUI app (if launched using the GUI app). In both cases, this behavior is wrong.
One (and only one) preference file should go inside ~/Library/Preferences/ , where ~ is the current user's home folder. This would probably be the config file, and ideally it should be named \"d2x-xl.cfg\" instead of \"descent.cfg\" so that it's easy to identify which application the preference file belongs to (since we do have other versions of d2x available for Mac OS X). The player files, player saved game files, and screenshot files should be stored inside ~/Library/Application Support/D2X-XL/ . This is where other files that aren't global application preferences should be stored for a good Mac OS X app. If the D2X-XL application support folder doesn't exist, it should be created.
If it's too complicated to separate out the config file from the player file/saved game files/screenshot files and store them in different locations, it's acceptable to just put them all in ~/Library/Preferences/D2X-XL/ instead. The D2X-XL preference folder also needs to be created if it doesn't exist.
4. Lastly, D2X-XL may not have backwards compatibility with the player files created with the other version of d2x for Mac OS X -- http://www.macupdate.com/info.php/id/13422 . If you put the player files in the proper location, D2X-XL will see them in the choose player dialog, but if you attempt to select them, it says there is a version mismatch and will not load them. If you delete the player file, create a player of the same name, and attempt to load one of the saved games from d2x, D2X-XL will recognize the name and show a screenshot of the level at the point where you saved, but will be unable to load the games because it can't find the mission \"descent\".
It looks like this might be related to not being able to find the Descent 1 mission files, but I've tried all the locations I can think of, and D2X-XL still is not able to find them. The only mission that shows up is Descent 2. I tried putting the mission files in the data folder, I tried putting a \"Missions\" folder inside the data folder, I tried putting a \"Missions\" folder at the same level as the \"Data\" folder, and I also tried these locations when launching from the command line. I even tried simply putting the \"Missions\" folder in the same location as the executable itself (inside the GUI app), all to no avail. The D2X-XL page (at www.descent2.de) does not help in revealing where the mission files need to be located.
-- simX
- Shadowfury333
- DBB Ace
- Posts: 326
- Joined: Mon Aug 09, 2004 8:36 pm
Re: D2X-XL is a horrible Mac OS X citizen, other problems
This has already been pointed out(by me), although I refered to it as ../../../Data.bugmenot wrote:My executable location (NOT the path to the GUI app) is /Games/D2X-XL/d2x-xl.app/Contents/MacOS/d2x-xl . To figure out where my data folder is, you just back up 3 levels from the executable, and you'll find the containing folder of the GUI app
Have you checked off the 'Play D1 Missions' checkbox?bugmenot wrote:It looks like this might be related to not being able to find the Descent 1 mission files, but I've tried all the locations I can think of, and D2X-XL still is not able to find them.
- bugmenot
- DBB Ace
- Posts: 23
- Joined: Fri Nov 12, 2004 6:15 am
- Location: www.bugmenot.com
- Contact:
Re: D2X-XL is a horrible Mac OS X citizen, other problems
Heh, I was a bit bewildered when you mentioned this option, because it would have been ridiculously obvious. I searched high and low, but couldn't find it. But I happened by chance to change to a larger resolution, and now that option shows on the main menu. However, unlike the other menus, when you're at 640x480 resolution, the main menu does NOT scroll downward to show any other options. So this is mainly a menu bug. (I tried my saved games, and they work fine, as does playing Descent 1 missions.)Shadowfury333 wrote:Have you checked off the 'Play D1 Missions' checkbox?
However, regardless of finding that option, it seems that D2X-XL is still incompatible with the other d2x project's player files. It still gave me a "version mismatch" error when I tried to open the other d2x project's player file. Even after I loaded a D2X-XL player file, checked the "Play D1 Missions", and then retried loading the other d2x project's player file, it still gave me a version mismatch error. (The D2X-XL website mentions that backward compatibility is a main feature of D2X-XL, so that's why I mention it here even though it seems to be a relatively easy error to fix.)
Thanks for the tip Shadowfury, even if the main menu was conspiring to hide it from me.
- bugmenot
- DBB Ace
- Posts: 23
- Joined: Fri Nov 12, 2004 6:15 am
- Location: www.bugmenot.com
- Contact:
A few more cosmetic/menu bugs
After fiddling around with D2X-XL, here are a few more cosmetic/menu bugs that I've found.
1. When in windowed mode, the main menu blinks to black about once every 30 seconds.
2. The \"Fullscreen\" setting is not preserved for a player across launches. If you choose to go fullscreen, quit D2X-XL and relaunch it, and choose your player again, D2X-XL will restore the window back to the resolution you chose, but will not put it back in fullscreen.
3. Space and return menu oddities: if you go to the screen resolution menu, and you select a new resolution with the spacebar, it will appear that the new resolution is selected. However, if you go back to the main menu, and then return to the screen resolution menu, you'll notice it has reverted back to the previous resolution. It turns out you have to press RETURN to get your setting to stick instead of space, even though by using space it appears that the setting was changed. The same thing applies to the Fullscreen option -- if you use space, the box gets checked but the window doesn't go fullscreen even if you exit to the main menu. If you use return instead, fullscreen is enabled immediately.
Space and return should simply do the same thing, and this bug'll be fixed.
4. Inconsistent delay for resolution menu changes: if you go to the screen resolution menu, enabling fullscreen is effective immediately. However, changing resolution requires you to go back to the main menu for the change to take effect. Either screen resolution changes should be immediate (which would probably be best), or screen resolution changes and fullscreen switching should take effect on exit to the options menu, not to the main menu (eliminating a step for resolution changes, but gaining a step for fullscreen switching).
5. When switching in and out of fullscreen, the screen gets bunched up in the top right corner of the window/screen (with black in the upper left and bottom), until you exit to the main menu. It appears that the menu thinks that its in 640x480 mode until returning to the main menu where it expands to fill the whole window.
-- simX
1. When in windowed mode, the main menu blinks to black about once every 30 seconds.
2. The \"Fullscreen\" setting is not preserved for a player across launches. If you choose to go fullscreen, quit D2X-XL and relaunch it, and choose your player again, D2X-XL will restore the window back to the resolution you chose, but will not put it back in fullscreen.
3. Space and return menu oddities: if you go to the screen resolution menu, and you select a new resolution with the spacebar, it will appear that the new resolution is selected. However, if you go back to the main menu, and then return to the screen resolution menu, you'll notice it has reverted back to the previous resolution. It turns out you have to press RETURN to get your setting to stick instead of space, even though by using space it appears that the setting was changed. The same thing applies to the Fullscreen option -- if you use space, the box gets checked but the window doesn't go fullscreen even if you exit to the main menu. If you use return instead, fullscreen is enabled immediately.
Space and return should simply do the same thing, and this bug'll be fixed.
4. Inconsistent delay for resolution menu changes: if you go to the screen resolution menu, enabling fullscreen is effective immediately. However, changing resolution requires you to go back to the main menu for the change to take effect. Either screen resolution changes should be immediate (which would probably be best), or screen resolution changes and fullscreen switching should take effect on exit to the options menu, not to the main menu (eliminating a step for resolution changes, but gaining a step for fullscreen switching).
5. When switching in and out of fullscreen, the screen gets bunched up in the top right corner of the window/screen (with black in the upper left and bottom), until you exit to the main menu. It appears that the menu thinks that its in 640x480 mode until returning to the main menu where it expands to fill the whole window.
-- simX
- bugmenot
- DBB Ace
- Posts: 23
- Joined: Fri Nov 12, 2004 6:15 am
- Location: www.bugmenot.com
- Contact:
Also, I just wanted to say that I am also getting a crash and the \"Fatal signal: Segmentation Fault (SDL Parachute Deployed)\" Console error when trying to host/join any kind of UDP/IP network game. This is in version 1.5.70. Under version 1.5.61, a \"UDP Error\" with the message \"ioctl(siocgifconf) failure during broadcast detection: m\" is displayed, but you can select OK and continue to the host/join screen. I was unable to verify if network play worked at all under version 1.5.61, though, because I had no one with which to test it.
Note that in 1.5.61, the error only popped up the first time you tried to host/join a UDP/IP game. If you exited to the multiplayer menu and then tried to host/join another, the error wouldn't pop up.
Note that in 1.5.61, the error only popped up the first time you tried to host/join a UDP/IP game. If you exited to the multiplayer menu and then tried to host/join another, the error wouldn't pop up.
Re: A few more cosmetic/menu bugs
It gets overriden by the setting in d2x.ini.bugmenot wrote:2. The "Fullscreen" setting is not preserved for a player across launches. If you choose to go fullscreen, quit D2X-XL and relaunch it, and choose your player again, D2X-XL will restore the window back to the resolution you chose, but will not put it back in fullscreen.
That's not a bug, that's a feature.bugmenot wrote:3. Space and return menu oddities: if you go to the screen resolution menu, and you select a new resolution with the spacebar, it will appear that the new resolution is selected. However, if you go back to the main menu, and then return to the screen resolution menu, you'll notice it has reverted back to the previous resolution. It turns out you have to press RETURN to get your setting to stick instead of space, even though by using space it appears that the setting was changed. The same thing applies to the Fullscreen option -- if you use space, the box gets checked but the window doesn't go fullscreen even if you exit to the main menu. If you use return instead, fullscreen is enabled immediately.
Space and return should simply do the same thing, and this bug'll be fixed.
That's not a bug, that's a feature.bugmenot wrote:4. Inconsistent delay for resolution menu changes: if you go to the screen resolution menu, enabling fullscreen is effective immediately. However, changing resolution requires you to go back to the main menu for the change to take effect. Either screen resolution changes should be immediate (which would probably be best), or screen resolution changes and fullscreen switching should take effect on exit to the options menu, not to the main menu (eliminating a step for resolution changes, but gaining a step for fullscreen switching).
Fixed in latest versions, which aren't available for OS X yet. Go donate - if I could afford a Mac, these things would be fixed in two days.bugmenot wrote:5. When switching in and out of fullscreen, the screen gets bunched up in the top right corner of the window/screen (with black in the upper left and bottom), until you exit to the main menu. It appears that the menu thinks that its in 640x480 mode until returning to the main menu where it expands to fill the whole window.
-- simX
Geez - I had about 4000 D/Ls total of the Mac version so far, and 8 or 9 ppl have donated some money (USD 150 total).
- bugmenot
- DBB Ace
- Posts: 23
- Joined: Fri Nov 12, 2004 6:15 am
- Location: www.bugmenot.com
- Contact:
Re: A few more cosmetic/menu bugs
Ask, and ye shall receive. 16.6666666% of your previous total. Happy?Diedel wrote:Fixed in latest versions, which aren't available for OS X yet. Go donate - if I could afford a Mac, these things would be fixed in two days.
Geez - I had about 4000 D/Ls total of the Mac version so far, and 8 or 9 ppl have donated some money (USD 150 total).
Brightness set artificially high
One bug and one question.
Bug: when loading a saved game or starting a new game, the brightness is set artificially high. When accessing a menu, though, the brightness returns to normal.
Question: Is multiplayer supposed to work? I'm getting the \"ioctl(siocgifconf) failure during broadcast detection: m\" message again when trying to host/join a multiplayer game. I don't know if that affects whether or not I can play a multiplayer game, though, as I don't have anyone with which to test it out. (If possible, I'd like to try and test it with someone.)
Bug: when loading a saved game or starting a new game, the brightness is set artificially high. When accessing a menu, though, the brightness returns to normal.
Question: Is multiplayer supposed to work? I'm getting the \"ioctl(siocgifconf) failure during broadcast detection: m\" message again when trying to host/join a multiplayer game. I don't know if that affects whether or not I can play a multiplayer game, though, as I don't have anyone with which to test it out. (If possible, I'd like to try and test it with someone.)
Hrm. It doesn't seem to work. I used the \"-debug-printlog\" option, and it spit out a huge log file just for trying to start a game.
Specifically, these 3 lines keep coming up in the log:
Is there a d2x.hog file needed in order to play multiplayer games? These three lines literally appear in the log file a couple hundred times.
(By the way, I noted that earlier in this thread, ShadowFury got networking to work on Mac OS X, using a hoard.ham file. I downloaded it, but it still didn't help in getting D2X-XL to network on my own machine.)
Specifically, these 3 lines keep coming up in the log:
Code: Select all
cfile_get_filehandle(): error opening /Games/D2X-XL/missions/d2x.hog
cfile_find_hogfile(): '/Games/D2X-XL/data/descent2.hog:d2x.hog' not found
cfile_find_hogfile(): '/Games/D2X-XL/data/descent.hog:d2x.hog' not found
(By the way, I noted that earlier in this thread, ShadowFury got networking to work on Mac OS X, using a hoard.ham file. I downloaded it, but it still didn't help in getting D2X-XL to network on my own machine.)
Re: Brightness set artificially high
I've gotten at least a partial fix in place for this error on my machine, and I just submitted the patch to Kaelan, so hopefully it'll appear in a build soon. I don't think that's the end of the network problems, but it's a start.simX wrote:One bug and one question.
Question: Is multiplayer supposed to work? I'm getting the "ioctl(siocgifconf) failure during broadcast detection: m" message again when trying to host/join a multiplayer game. I don't know if that affects whether or not I can play a multiplayer game, though, as I don't have anyone with which to test it out. (If possible, I'd like to try and test it with someone.)
Mine Exit Bug
I just downloaded D2X-XL from macupdate.com. It looks great so far. However, I have found a couple bugs.
I was playing the Descent 1 mission, starting at the beginning. It told me it couldn't find the .pig file, which isn't surprising, since D2X couldn't either. So I clicked OK, started playing, finished the level, and destroyed the reactor. Here's the bug:
When I entered the mine exit, it popped up the \"you were incinerated in the mine\" message. I clicked OK, up popped the lack of .pig message again, clicked OK, repeated. Another bug:
Instead of depositing me on Level 2, it popped up a message saying I had completed Level 2, and awarded me a bunch of points for something I hadn't done at all! I clicked OK, clicked on another .pig message, and was deposited on Level 3, as normal.
I was playing the Descent 1 mission, starting at the beginning. It told me it couldn't find the .pig file, which isn't surprising, since D2X couldn't either. So I clicked OK, started playing, finished the level, and destroyed the reactor. Here's the bug:
When I entered the mine exit, it popped up the \"you were incinerated in the mine\" message. I clicked OK, up popped the lack of .pig message again, clicked OK, repeated. Another bug:
Instead of depositing me on Level 2, it popped up a message saying I had completed Level 2, and awarded me a bunch of points for something I hadn't done at all! I clicked OK, clicked on another .pig message, and was deposited on Level 3, as normal.
Differentiation is an integral part of calculus.