Syphius
2010-Aug-23 13:45 UTC
[Wine] [Bug] [Urgent] CreateProcess Failed internal error (1359)
Hi, I working on porting an IDE on MacOSX with the help of Wine, And I discover a random bug on wine. Please use this sample code to reproduce it (to be compiled on Windows): Code: ///////////////////////////////////////////////////////////////////////////// int Quit(int aReturnCode) { #ifdef _DEBUG wcout << L"Press Enter to quit"; getchar(); #endif return aReturnCode; } ///////////////////////////////////////////////////////////////////////////// int wmain(int argc, wchar_t *argv[]) { int arg = 0; if(argc > 1) { arg = _wtoi(argv[1]); } HANDLE hands[255]; wchar_t buff[255]; swprintf(buff,255,L"Test_%s_%s.log",argv[1],argv[2]); FILE * fil = _wfopen(buff,L"w"); fwprintf(fil,L"Start %d\n",arg); fflush(fil); printf( "Start %d\n",arg); if(arg >= 7) { printf( "End chain\n"); return Quit(0); } int max = 2; if(arg > 0) { max = 2; } for(int i = 0; i < max; i++) { wchar_t buffer[255]; swprintf(buffer,255,L"\"%s\" %d %s%d",argv[0],arg + 1,argv[2],i); STARTUPINFOW si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); si.dwFlags = STARTF_USESTDHANDLES/*|STARTF_USESHOWWINDOW*/; //sui.wShowWindow = SW_HIDE; ZeroMemory( &pi, sizeof(pi) ); // Start the child process. if( !CreateProcessW( NULL, // No module name (use command line) buffer, // Command line NULL, // Process handle not inheritable NULL, // Thread handle not inheritable FALSE, // Set handle inheritance to FALSE 0, // No creation flags NULL, // Use parent's environment block NULL, // Use parent's starting directory &si, // Pointer to STARTUPINFO structure &pi ) // Pointer to PROCESS_INFORMATION structure ) { printf( "CreateProcess failed (%d).\n", GetLastError() ); fwprintf(fil,L"CreateProcess failed (%d).\n", GetLastError()); fflush(fil); } hands[i] = pi.hProcess; } fclose(fil); for(int i=0;i<max;i++) { // Wait until child process exits. WaitForSingleObject( hands[i], INFINITE ); // Close process and thread handles. CloseHandle( hands[i] ); } printf( "End %d\n", arg); return Quit(0); } When I execute it on windows everything work fine I get this type of messages : Code: Start 0 Start 1 Start 1 Start 2 Start 2 Start 2 Start 2 Start 3 Start 3 Start 3 Start 3 Start 3 Start 3 Start 3 Start 3 Start 4 Start 4 And on mac with wine I get : Code: Start 0 Start 1 Start 1 Start 2 Start 2 Start 2 Start 2 Start 3 Start 3 Start 3 Start 3 Start 3 Start 3 Start 3 Start 3 Start 4 Start 4 Start 4 Start 4 Start 4 Start 4 Start 4 CreateProcess failed (1359). Start 4 Start 4 Start 4 Start 4 Start 4 Start 4 Start 4 Start 4 Start 4 Start 5 Start 5 Start 5 Start 5 Start 5 Start 5 Start 5 Start 5 Start 5 Start 5 Start 5 Start 5 Start 5 Start 5 Start 5 CreateProcess failed (1359). Start 5 Start 5 Start 5 Start 5 Start 5 Start 5 Start 5 Start 5 Start 5 Start 5 CreateProcess failed (1359). Start 5 Start 5 Start 5 Start 5 Start 5 Start 5 CreateProcess failed (1359). Start 6 Start 6 Start 6 Start 6 Start 6 Start 6 Start 6 CreateProcess failed (1359). Start 6 Start 6 Start 6 Start 6 Start 6 CreateProcess failed (1359). Start 6 Start 6 Start 6 CreateProcess failed (1359). Start 6 CreateProcess failed (1359). CreateProcess failed (1359). Start 6 Start 6 Start 6 Start 6 CreateProcess failed (1359). Start 6 Start 6 CreateProcess failed (1359). Start 6 Start 6 CreateProcess failed (1359). Start 6 Start 6 CreateProcess failed (1359). Start 6 CreateProcess failed (1359). Start 6 CreateProcess failed (1359). CreateProcess failed (1359). Start 6 CreateProcess failed (1359). Start 6 Start 6 Start 6 Start 6 Start 6 Start 6 CreateProcess failed (1359). Start 6 CreateProcess failed (1359). Start 6 Start 6 Start 6 Start 6 Start 6 CreateProcess failed (1359). CreateProcess failed (1359). Start 6 CreateProcess failed (1359). Start 6 CreateProcess failed (1359). Start 6 CreateProcess failed (1359). CreateProcess failed (1359). Start 6 Start 6 Start 6 Start 6 CreateProcess failed (1359). Start 6 Start 6 Start 6 Start 6 CreateProcess failed (1359). Start 6 Start 6 Start 6 Start 6 CreateProcess failed (1359). Start 6 CreateProcess failed (1359). Start 6 Start 6 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 Start 7 I used wine 1.2, 1.3.0 and 1.1.39 on MacOSX 10.6.4 SnowLeopard (Intel hardware) and Windows XP SP3. Could you help me? Best Regards, Syphius.
Maybe Matching Threads
- [PATCH 1/3] Rationalise whitespace to 4 space indentation with no trailing spaces
- [PATCH 1/6] Rationalise whitespace to 4 space indentation with no trailing spaces
- CreateProcess and redirected stdout from Linux apps?
- Running an exe from within a wined exe
- [ win32utils-Bugs-5503 ] Process::create() checks return value of CreateProcess against 0, should be false