Hi guys, I sent this to the wine-users list but didn't get any response so I thought maybe you could answer this. I am simply trying to figure out why Total Annihilation keeps terminating with a code 21. I would prefer to know where the list of errors is so that I can solve these on my own without needing to pester people all the time. :-)
Daniel
---------- Forwarded Message ----------
Subject: Total Annihilation Date: Sun, 27 Jan 2002 13:40:38 -0500 From: Daniel Davis [email protected] To: [email protected]
Hi everyone,
I just started tinkering with wine on my system and everytime I try to run Total Annihilation it dies with a return (error) code 21. Is there a list of return codes anywhere in wine that can help me determine where this program and any others I try to run in the future are dying?
Daniel
-------------------------------------------------------
On 2002.01.28 09:03 Daniel Davis wrote:
Hi guys, I sent this to the wine-users list but didn't get any response so I thought maybe you could answer this. I am simply trying to figure out why Total Annihilation keeps terminating with a code 21. I would prefer to know where the list of errors is so that I can solve these on my own without needing to pester people all the time. :-)
Daniel
Could you be more vague?
I have no idea what the value of the wine return code can be. So if you are talking about something like printing out the value that the wine program returned from the shell after running it.. I dunno what to tell you.
Now if you are talking about some message, well the error code is most likely a Windows one, which you could find in the include/winerror.h file. Doing a quick look through that shows that ERROR_NOT_READY is defined to windows error code 21.
For Linux error codes EISDIR corresponds to error code 21 (from /usr/include/asm/errno.h).
I would suggest that you stick to the wine-users list unless you plan on helping to develop Wine. Not that we don't like you, but this list is for developer traffic which /sometimes/ includes /detailed/ bug reports. Look in the wine documentation on how to use debugmsg effectively and so on and post an appropriate trace to wine-users. Generally one of the developers who monitors wine-users will take the detailed bug report and do something about it. Usually involving posting the relevant information to this list (wine-devel).
-Dave
Total Annihilation keeps terminating with a code 21. I would prefer to know where the list of errors is so that I can solve these on my own without needing to pester people all the time. :-)
Could you be more vague?
Well, just to add something, I once had a report like that on #WineHQ and the error report came (as far as I could tell) from here :
miscemu/main.c : int WINAPI wine_initial_task( HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, INT show ) { (...) if ((instance = NE_StartMain( main_exe_name, main_exe_file )) < 32) { (...) switch (instance) { case 2: MESSAGE("file not found\n" ); break; case 11: MESSAGE("invalid exe file\n" ); break; default: MESSAGE("error=%d\n",instance ); break; } (...)
loader/ne/module.c : HINSTANCE16 NE_StartMain( LPCSTR name, HANDLE file ) { (...) if ((hModule = NE_LoadExeHeader( file, name )) < 32) return hModule;
static HMODULE16 NE_LoadExeHeader( HANDLE hFile, LPCSTR path ) { (...) _llseek( hFile, mz_header.e_lfanew, SEEK_SET ); if (_lread( hFile, &ne_header, sizeof(ne_header) ) != sizeof(ne_header)) return (HMODULE16)11; /* invalid exe */
So it seems that Wine did not manage to read the NE header of the given executable. But I did not investigate further than that as all this is a bit over my head :-)
Lionel
Sorry,
I feel like an idiot.. I didn't even think about return codes inside the program which you wouldn't have any control over. I was assuming it was a wine generated code. (blatantly incorrect assumption now that I'm coherent)..
Well, I guess that's what I get for trying to think while being exhausted. Actually, I am reasonably certain it's more of a setup issue than a bug. I am interested in helping the development effort but I am just getting started using Wine so I didn't want to ask too many stupid questions without knowing enough about the codebase. I would like to point out that I have 7 years experience programming in C and 4 in C++ and I'm perfectly competent. But we all have to start somewhere.
I think I've figured out the problem though. It's not finding a DLL in the same directory as the executable.
Daniel
On Monday 28 January 2002 06:10 pm, David Elliott wrote:
On 2002.01.28 09:03 Daniel Davis wrote:
Hi guys, I sent this to the wine-users list but didn't get any response so I thought maybe you could answer this. I am simply trying to figure out why Total Annihilation keeps terminating with a code 21. I would prefer to know where the list of errors is so that I can solve these on my own without needing to pester people all the time. :-)
Daniel
Could you be more vague?
I have no idea what the value of the wine return code can be. So if you are talking about something like printing out the value that the wine program returned from the shell after running it.. I dunno what to tell you.
Now if you are talking about some message, well the error code is most likely a Windows one, which you could find in the include/winerror.h file. Doing a quick look through that shows that ERROR_NOT_READY is defined to windows error code 21.
For Linux error codes EISDIR corresponds to error code 21 (from /usr/include/asm/errno.h).
I would suggest that you stick to the wine-users list unless you plan on helping to develop Wine. Not that we don't like you, but this list is for developer traffic which /sometimes/ includes /detailed/ bug reports. Look in the wine documentation on how to use debugmsg effectively and so on and post an appropriate trace to wine-users. Generally one of the developers who monitors wine-users will take the detailed bug report and do something about it. Usually involving posting the relevant information to this list (wine-devel).
-Dave