afxgroup Posted December 2, 2012 Share Posted December 2, 2012 Hello, I'm trying to update GemRB for OS4 to version 0.7.1 (at moment) but i have a lot of python errors when running bg1. the interface is invisible except if i move the mouse on a point on the screen but it disappear almost instant.. My question is.. which version of python is needed? i'm using 2.5 since is the latest we have When the game starts: http://pastebin.com/k9yhdp0s In game errors: http://pastebin.com/HseN3dp8 Any hints? Link to comment
lynx Posted December 2, 2012 Share Posted December 2, 2012 Why not try 0.7.2? Python 2.5 should still be fine. Link to comment
afxgroup Posted December 2, 2012 Share Posted December 2, 2012 because i was starting to work on it few weeks ago and i would finish it. but if you tell me that python2.5 is ok so the problem is elsewhere.. but i don't know where.. Link to comment
lynx Posted December 2, 2012 Share Posted December 2, 2012 the first log has no apparent errors, while the second one has some that are in code that has changed in the meanwhile. Updating may fix it and would definitely help me help you. Link to comment
afxgroup Posted December 4, 2012 Share Posted December 4, 2012 Yes. i did this. Now 0.7.2 is working correctly except when i exit the game. Actually it seems a problem on shared object code. Basically on OS4 seems that when the game execute the "return" instructions some shared library still in memory and while on linux (or other platforms) it doesn't seems a problem on os4 it crash with an "unknown error". This means that the library is still executing the code in the memory somewhere.. I must investigate deeper but it is hard to track down Link to comment
SyntaxError Posted December 4, 2012 Share Posted December 4, 2012 or this is the same openal thread termination bug fuzzie has. Link to comment
afxgroup Posted December 5, 2012 Share Posted December 5, 2012 Yes.. openal is one of the main culprit.. Link to comment
afxgroup Posted December 7, 2012 Share Posted December 7, 2012 I've resolved that problem adding an #ifndef on SDL_WaitThread on OpenALAudio.cpp #ifndef __amigaos4__ SDL_WaitThread(musicThread, NULL); #endif That's because the threads on os4 are handled not so well in our SDL. For example we can kill a thread directly like other posix systems.. and then forcing the release methods on Interface.cpp in the destructor at the end of function i've added: #ifdef __amigaos4__ // This is needed by amigaos4 since the SDL destructor in the VideoDriver seems never called if (video!=NULL) { video->release(); video = NULL; } if (AudioDriver!=NULL) { AudioDriver->release(); AudioDriver = NULL; } #endif Now i have no more crash on exit and all seems clean.. Link to comment
SyntaxError Posted December 8, 2012 Share Posted December 8, 2012 then this isnt the same thing that happens to fuzzie. not that is matters since you are terminating, but you are now leaking musicThread. Link to comment
lynx Posted December 8, 2012 Share Posted December 8, 2012 A similar audio and video release has been committed. Are you sure that SDL_WaitThread call is harmful for you? It sounds fishy. Link to comment
afxgroup Posted December 9, 2012 Share Posted December 9, 2012 I can only tell to you that this cure the problem.. maybe i have a leak.. but not a graceful crash... The problem witrh SDL and threads is known so on OS4 it will wait for the thread forever. IIRC in the past GemRB was using SDK_KillThread that is not implemented on os4 but i've seen that now is no more present.. Link to comment
SyntaxError Posted December 9, 2012 Share Posted December 9, 2012 SDL_KillThread is the wrong way to terminate a thread. It is meant to ungracefully kill a thread and it seems to be removed in SDL2 or it is missing from the documentation. you say that this is "known" so why isnt this an SDL bug? im sure they will fix it if it is. Link to comment
afxgroup Posted December 9, 2012 Share Posted December 9, 2012 No it is known since on OS4 is not possible to kill a thread just with a "kill" function. is the OS that is not able to do this. So it can be implemented in a "safe" way on OS4 Link to comment
lynx Posted December 9, 2012 Share Posted December 9, 2012 I've committed that part too now, thanks. Link to comment
afxgroup Posted December 10, 2012 Share Posted December 10, 2012 uh thank you.. i should send to you a few other patches and then all is in sync.. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.