Hello again!
Try running the application with the debugger and builtin msvcrt. Perhaps you get a backtrace of the crash. Otherwise try in the relay trace (builtin msvcrt, showing the messagebox but not the crash) to find where the messagebox is called. You can seach for the message text. Now work up the log and try to find why the program decides to emit the messagebox.
Well, the debugger doesn't tell me anything, as the backtrace is only one line long and it doesn't contain any information. I digged a bit deeper in the relay-log. After the save-file dialog I found this:
0009:Call ntdll.RtlLeaveCriticalSection(6c300220) ret=6c2317dd 0009:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=6c2317dd 0009:Call msvcrt._mbscmp(7fe7c6d0 "",7d8aa353 "Saving project UNTITLED to i:\mnt\privat\Origin6\UNTITLED.opj...") ret=4c0608e6 0009:Ret msvcrt._mbscmp() retval=ffffffff ret=4c0608e6 0009:Call kernel32.GetLastError() ret=6c23429b 0009:Ret kernel32.GetLastError() retval=00000000 ret=6c23429b 0009:Call kernel32.TlsGetValue(00000003) ret=6c231018 0009:Ret kernel32.TlsGetValue() retval=7fdd4bb0 ret=6c231018 0009:Call kernel32.SetLastError(00000000) ret=6c2342b5 0009:Ret kernel32.SetLastError() retval=00000000 ret=6c2342b5 0009:Call kernel32.lstrlenA(7d8aa353 "Saving project UNTITLED to i:\mnt\privat\Origin6\UNTITLED.opj...") ret=6c2338d7 0009:Ret kernel32.lstrlenA() retval=00000040 ret=6c2338d7 0009:Call msvcrt.memcpy(7fe7c6d0,7d8aa353,00000040) ret=6c233905 0009:Ret msvcrt.memcpy() retval=7fe7c6d0 ret=6c233905 0009:Call kernel32.GetLastError() ret=6c23429b 0009:Ret kernel32.GetLastError() retval=00000000 ret=6c23429b 0009:Call kernel32.TlsGetValue(00000003) ret=6c231018 0009:Ret kernel32.TlsGetValue() retval=7fdd4bb0 ret=6c231018 0009:Call kernel32.SetLastError(00000000) ret=6c2342b5 0009:Ret kernel32.SetLastError() retval=00000000 ret=6c2342b5 0009:Call user32.CallWindowProcA(7f72ffe2,0001003e,00000401,00000100,7fe7c6d0) ret=6c2320f2
The GetLastError and SetLastError calls look a bit strange to me...
Then there is A LOT OF gui-stuff...
... some _mbsinc calls
... some putc calls
And finally ...
0009:Call msvcrt.fclose(7fe8fa90) ret=7f81ecf0 0009:Call kernel32.WriteFile(00000018,7fe60478,00000004,7fadef00,00000000) ret=7e876aa7 0009:Call ntdll.NtWriteFile(00000018,00000000,00000000,00000000,7fadee08,7fe60478,00000004,00000000,00000000) ret=7fcc4389 0009:Ret ntdll.NtWriteFile() retval=00000000 ret=7fcc4389 0009:Ret kernel32.WriteFile() retval=00000001 ret=7e876aa7 0009:Call ntdll.RtlFreeHeap(7fd80000,00000000,7fe60478) ret=7e87a5e5 0009:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7e87a5e5 0009:Call ntdll.RtlEnterCriticalSection(7e899fc8) ret=7e877bb5 0009:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=7e877bb5 0009:Call kernel32.CloseHandle(00000018) ret=7e877bd6 0009:Call ntdll.NtClose(00000018) ret=7fceb271 0009:Ret ntdll.NtClose() retval=00000000 ret=7fceb271 0009:Ret kernel32.CloseHandle() retval=00000001 ret=7e877bd6 0009:Call ntdll.RtlEnterCriticalSection(7e899fc8) ret=7e877be7 0009:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=7e877be7 0009:Call ntdll.RtlLeaveCriticalSection(7e899fc8) ret=7e877d1f 0009:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=7e877d1f 0009:Call ntdll.RtlLeaveCriticalSection(7e899fc8) ret=7e877c40 0009:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=7e877c40 0009:Ret msvcrt.fclose() retval=00000000 ret=7f81ecf0 0009:Call kernel32.OpenFile(7fe60252 "i:\mnt\privat\Origin6\UNTITLED.opj",7fadf040,00000200) ret=7f81ed08 0009:Call ntdll.RtlInitAnsiString(7fadecb4,7fe60252 "i:\mnt\privat\Origin6\UNTITLED.opj") ret=7fcc2d75 0009:Ret ntdll.RtlInitAnsiString() retval=00000023 ret=7fcc2d75 0009:Call ntdll.RtlAnsiStringToUnicodeString(7fffcbf8,7fadecb4,00000000) ret=7fcc2dda 0009:Ret ntdll.RtlAnsiStringToUnicodeString() retval=00000000 ret=7fcc2dda 0009:Call ntdll.RtlGetFullPathName_U(7fffcc00 L"i:\mnt\privat\Origin6\UNTITLED.opj",00000208,7fadecd8,00000000) ret=7fce6be7 0009:Ret ntdll.RtlGetFullPathName_U() retval=00000044 ret=7fce6be7 0009:Call ntdll.RtlInitUnicodeString(7fadecbc,7fadecd8 L"I:\mnt\privat\Origin6\UNTITLED.opj") ret=7fce6b4e 0009:Ret ntdll.RtlInitUnicodeString() retval=00000046 ret=7fce6b4e 0009:Call ntdll.RtlUnicodeStringToAnsiSize(7fadecbc) ret=7fce6b58 0009:Ret ntdll.RtlUnicodeStringToAnsiSize() retval=00000023 ret=7fce6b58 0009:Call ntdll.RtlUnicodeStringToAnsiString(7fadecb4,7fadecbc,00000000) ret=7fce6b81 0009:Ret ntdll.RtlUnicodeStringToAnsiString() retval=00000000 ret=7fce6b81 0009:Call ntdll.RtlInitAnsiString(7fadeca0,7fe60252 "i:\mnt\privat\Origin6\UNTITLED.opj") ret=7fcc2d75 0009:Ret ntdll.RtlInitAnsiString() retval=00000023 ret=7fcc2d75 0009:Call ntdll.RtlAnsiStringToUnicodeString(7fffcbf8,7fadeca0,00000000) ret=7fcc2dda 0009:Ret ntdll.RtlAnsiStringToUnicodeString() retval=00000000 ret=7fcc2dda 0009:Call ntdll.RtlInitAnsiString(7fadeca0,00000000) ret=7fcc2d75 0009:Ret ntdll.RtlInitAnsiString() retval=00000000 ret=7fcc2d75 0009:Call ntdll.RtlAnsiStringToUnicodeString(7fadec98,7fadeca0,00000001) ret=7fcc2dda 0009:Ret ntdll.RtlAnsiStringToUnicodeString() retval=00000000 ret=7fcc2dda 0009:Call ntdll.RtlDetermineDosPathNameType_U(7fffcc00 L"i:\mnt\privat\Origin6\UNTITLED.opj") ret=7fce8811 0009:Ret ntdll.RtlDetermineDosPathNameType_U() retval=00000002 ret=7fce8811 0009:Call ntdll.RtlDoesFileExists_U(7fffcc00 L"i:\mnt\privat\Origin6\UNTITLED.opj") ret=7fce8820 0009:Ret ntdll.RtlDoesFileExists_U() retval=00000001 ret=7fce8820 0009:Call ntdll.RtlGetFullPathName_U(7fffcc00 L"i:\mnt\privat\Origin6\UNTITLED.opj",00000208,7fadecd0,00000000) ret=7fce6be7 0009:Ret ntdll.RtlGetFullPathName_U() retval=00000044 ret=7fce6be7 0009:Call ntdll.RtlFreeHeap(7fd80000,00000000,7fdcd6a8) ret=7fccb881 0009:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7fccb881 0009:Call ntdll.RtlFreeHeap(7fd80000,00000000,00000000) ret=7fccb881 0009:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7fccb881 0009:Call ntdll.RtlInitUnicodeString(7fadeca8,7fadecd0 L"I:\mnt\privat\Origin6\UNTITLED.opj") ret=7fce6b4e 0009:Ret ntdll.RtlInitUnicodeString() retval=00000046 ret=7fce6b4e 0009:Call ntdll.RtlUnicodeStringToAnsiSize(7fadeca8) ret=7fce6b58 0009:Ret ntdll.RtlUnicodeStringToAnsiSize() retval=00000023 ret=7fce6b58 0009:Call ntdll.RtlUnicodeStringToAnsiString(7fadeca0,7fadeca8,00000000) ret=7fce6b81 0009:Ret ntdll.RtlUnicodeStringToAnsiString() retval=00000000 ret=7fce6b81 0009:Call ntdll.RtlInitAnsiString(7fadeed0,7fadf048 "I:\mnt\privat\Origin6\UNTITLED.opj") ret=7fcc2d75 0009:Ret ntdll.RtlInitAnsiString() retval=00000023 ret=7fcc2d75 0009:Call ntdll.RtlAnsiStringToUnicodeString(7fffcbf8,7fadeed0,00000000) ret=7fcc2dda 0009:Ret ntdll.RtlAnsiStringToUnicodeString() retval=00000000 ret=7fcc2dda 0009:Call ntdll.RtlDosPathNameToNtPathName_U(7fffcc00 L"I:\mnt\privat\Origin6\UNTITLED.opj",7fadeed4,00000000,00000000) ret=7fcc4e4f 0009:Ret ntdll.RtlDosPathNameToNtPathName_U() retval=00000001 ret=7fcc4e4f 0009:Call ntdll.NtDeleteFile(7fadeebc) ret=7fcc4edf 0009:Ret ntdll.NtDeleteFile() retval=00000000 ret=7fcc4edf 0009:Call ntdll.RtlFreeUnicodeString(7fadeed4) ret=7fcc4ee7 0009:Ret ntdll.RtlFreeUnicodeString() retval=00000001 ret=7fcc4ee7 0009:Ret kernel32.OpenFile() retval=00000001 ret=7f81ed08 0009:Call kernel32.TlsGetValue(00000003) ret=6c231018 0009:Ret kernel32.TlsGetValue() retval=7fdd4bb0 ret=6c231018 0009:Call kernel32.TlsGetValue(00000003) ret=6c231018 0009:Ret kernel32.TlsGetValue() retval=7fdd4bb0 ret=6c231018
I think here (at the latest) it starts building the error dialog...
0009:Call kernel32.FindResourceA(00400000,000003f1,00000006) ret=6c233a4e 0009:Call ntdll.LdrFindResource_U(00400000,7faded74,00000003,7faded90) ret=7fcf69c3 0009:Ret ntdll.LdrFindResource_U() retval=c000008b ret=7fcf69c3 0009:Call ntdll.RtlNtStatusToDosError(c000008b) ret=7fcf6968 0009:Ret ntdll.RtlNtStatusToDosError() retval=00000716 ret=7fcf6968 0009:Ret kernel32.FindResourceA() retval=00000000 ret=6c233a4e 0009:Call ntdll.RtlEnterCriticalSection(6c300178) ret=6c23178e 0009:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=6c23178e 0009:Call kernel32.FindResourceA(7d4f0000,000003f1,00000006) ret=6c292bb9 0009:Call ntdll.LdrFindResource_U(7d4f0000,7faded74,00000003,7faded90) ret=7fcf69c3 0009:Ret ntdll.LdrFindResource_U() retval=c000008a ret=7fcf69c3 0009:Call ntdll.RtlNtStatusToDosError(c000008a) ret=7fcf6968 0009:Ret ntdll.RtlNtStatusToDosError() retval=00000715 ret=7fcf6968 0009:Ret kernel32.FindResourceA() retval=00000000 ret=6c292bb9 0009:Call kernel32.FindResourceA(10000000,000003f1,00000006) ret=6c292bb9 0009:Call ntdll.LdrFindResource_U(10000000,7faded74,00000003,7faded90) ret=7fcf69c3 0009:Ret ntdll.LdrFindResource_U() retval=c000008b ret=7fcf69c3 0009:Call ntdll.RtlNtStatusToDosError(c000008b) ret=7fcf6968 0009:Ret ntdll.RtlNtStatusToDosError() retval=00000716 ret=7fcf6968 0009:Ret kernel32.FindResourceA() retval=00000000 ret=6c292bb9 0009:Call kernel32.FindResourceA(4c000000,000003f1,00000006) ret=6c292bb9 0009:Call ntdll.LdrFindResource_U(4c000000,7faded74,00000003,7faded90) ret=7fcf69c3 0009:Ret ntdll.LdrFindResource_U() retval=c000008b ret=7fcf69c3 0009:Call ntdll.RtlNtStatusToDosError(c000008b) ret=7fcf6968 0009:Ret ntdll.RtlNtStatusToDosError() retval=00000716 ret=7fcf6968 0009:Ret kernel32.FindResourceA() retval=00000000 ret=6c292bb9 0009:Call kernel32.FindResourceA(44000000,000003f1,00000006) ret=6c292bb9 0009:Call ntdll.LdrFindResource_U(44000000,7faded74,00000003,7faded90) ret=7fcf69c3 0009:Ret ntdll.LdrFindResource_U() retval=c000008a ret=7fcf69c3 0009:Call ntdll.RtlNtStatusToDosError(c000008a) ret=7fcf6968 0009:Ret ntdll.RtlNtStatusToDosError() retval=00000715 ret=7fcf6968 0009:Ret kernel32.FindResourceA() retval=00000000 ret=6c292bb9 0009:Call kernel32.FindResourceA(7f770000,000003f1,00000006) ret=6c292bb9 0009:Call ntdll.LdrFindResource_U(7f770000,7faded74,00000003,7faded90) ret=7fcf69c3 0009:Ret ntdll.LdrFindResource_U() retval=00000000 ret=7fcf69c3 0009:Ret kernel32.FindResourceA() retval=7f98d968 ret=6c292bb9 0009:Call user32.LoadStringA(7f770000,00003f0e,7fadeebc,00000100) ret=6c292bcf 0009:Call ntdll.RtlAllocateHeap(7fd80000,00000000,00000200) ret=7f6b448f 0009:Ret ntdll.RtlAllocateHeap() retval=7fe60478 ret=7f6b448f 0009:Call kernel32.FindResourceW(7f770000,000003f1,00000006) ret=7f6b3dd5 0009:Call ntdll.LdrFindResource_U(7f770000,7fadec78,00000003,7fadec94) ret=7fcf6b33 0009:Ret ntdll.LdrFindResource_U() retval=00000000 ret=7fcf6b33 0009:Ret kernel32.FindResourceW() retval=7f98d968 ret=7f6b3dd5 0009:Call kernel32.LoadResource(7f770000,7f98d968) ret=7f6b3de4 0009:Call ntdll.LdrAccessResource(7f770000,7f98d968,7fadecd4,00000000) ret=7fcf5f94 0009:Ret ntdll.LdrAccessResource() retval=00000000 ret=7fcf5f94 0009:Ret kernel32.LoadResource() retval=7f9aea58 ret=7f6b3de4 0009:Call kernel32.LockResource(7f9aea58) ret=7f6b3df2 0009:Ret kernel32.LockResource() retval=7f9aea58 ret=7f6b3df2 0009:Call kernel32.WideCharToMultiByte(00000000,00000000,7fe60478 L"Achtung !",00000009,7fadeebc,000000ff,00000000,00000000) ret=7f6b4557
"Achtung !" is the caption of the dialog.
It seems as if the file is written normally, but in fact no file is created (or it is deleted again). But I can't say what's wrong...
Ciao,
Olaf Leidinger