Hard Light Productions Forums

General FreeSpace => FreeSpace & FreeSpace Open Support => Topic started by: bomb3rman on September 05, 2017, 01:17:42 pm

Title: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Post by: bomb3rman on September 05, 2017, 01:17:42 pm
I'm creating a mission. All ships I use in this mission have been used before, but now the game sometimes crashes. DEBUG is producing the following. Can someone tell me what this means? I tested with 3.7.4 and 3.8, same result...

Code: [Select]
Assert: strstr( (const char *)&props, "$engine_subsystem=") != NULL
File: modelread.cpp
Line: 2016

ntdll.dll! ZwWaitForSingleObject + 12 bytes
KERNELBASE.dll! WaitForSingleObject + 18 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! SCP_DumpStack + 354 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! WinAssert + 194 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! read_model_file + 16311 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! model_load + 806 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! mission_parse_handle_late_arrivals + 185 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! mission_parse_maybe_create_parse_object + 369 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! post_process_ships_wings + 111 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! post_process_mission + 69 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! parse_mission + 1592 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! parse_main + 497 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! mission_load + 228 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! game_start_mission + 187 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! game_enter_state + 520 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! gameseq_set_state + 303 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! game_process_event + 242 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! gameseq_process_events + 149 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! game_main + 787 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! WinMain + 328 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! invoke_main + 30 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! __scrt_common_main_seh + 346 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! __scrt_common_main + 13 bytes
fs2_open_3_7_4_SSE2-DEBUG.exe! WinMainCRTStartup + 8 bytes
KERNEL32.DLL! BaseThreadInitThunk + 36 bytes
ntdll.dll! RtlSubscribeWnfStateChangeNotification + 1081 bytes
ntdll.dll! RtlSubscribeWnfStateChangeNotification + 1028 bytes

Log attached

EDIT: While looking at the "loading line" in the upper leaft corner, it seems to crash while loading a certain .pof file (a ship)... This would be strange since this ships is used 2 missions before, producing no problem...

[attachment stolen by Russian hackers]
Title: Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Post by: The E on September 05, 2017, 01:36:01 pm
Can you post the Harrier.pof model? It seems that something is going wrong with it.
Title: Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Post by: bomb3rman on September 05, 2017, 01:54:34 pm
Yes, that's what I thought, too.

Here you go, it's renamed. It was the Scimitar (by Aldo) before. I had trouble with the textures, because another model had the same texture-name. I changed the texture names with pcs2 for the Harrier-model.

Forum says .pof doesn't work, it's a rar-file now.

[attachment stolen by Russian hackers]
Title: Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Post by: The E on September 05, 2017, 01:57:12 pm
Your problem is right here:
(https://i.imgur.com/YMnjNwj.png)

Somehow, the string there got corrupted, this causes the error you're seeing.

Fixed pof can be downloaded here: https://www.dropbox.com/s/gzu8f009rs3l6fw/Harrier.pof?dl=0
Title: Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Post by: bomb3rman on September 05, 2017, 01:59:20 pm
Strange... ok how do I have to rename it? Or what do I have to do?
Title: Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Post by: The E on September 05, 2017, 02:01:09 pm
You need to change the corrupted string in the text field I marked above to "$subsystem=$engine".
Title: Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Post by: bomb3rman on September 05, 2017, 02:07:24 pm
Code: [Select]
Assert: "strstr( (const char *)&props, "$engine_subsystem=") != NULL"
File: modelread.cpp
Line: 2040

ntdll.dll! ZwWaitForSingleObject + 12 bytes
KERNELBASE.dll! WaitForSingleObject + 18 bytes
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>

[ This info is in the clipboard so you can paste it somewhere now ]


Use Debug to break into Debugger, Exit will close the application.

ntdll.dll! ZwWaitForSingleObject + 12 bytes
KERNELBASE.dll! WaitForSingleObject + 18 bytes
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
OPENGL32.DLL! wglCopyContext + 2187 bytes
ntdll.dll! RtlAllocateHeap + 268 bytes
ntdll.dll! RtlAllocateHeap + 50 bytes
atioglxx.dll! DrvPresentBuffers + 21339743 bytes
atioglxx.dll! DrvPresentBuffers + 10329036 bytes
atioglxx.dll! DrvPresentBuffers + 10292791 bytes
atioglxx.dll! DrvPresentBuffers + 10292186 bytes
atioglxx.dll! DrvPresentBuffers + 10210498 bytes
atioglxx.dll! DrvPresentBuffers + 21340577 bytes
atioglxx.dll! DrvPresentBuffers + 21340577 bytes
atioglxx.dll! DrvPresentBuffers + 21316808 bytes
atioglxx.dll! DrvPresentBuffers + 8676695 bytes
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>

Is there another model also wrong?
Title: Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Post by: The E on September 05, 2017, 02:09:46 pm
Please post the log again, it's the only way to find out which model causes this.
Title: Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Post by: bomb3rman on September 05, 2017, 02:11:52 pm
Here you go...

[attachment stolen by Russian hackers]
Title: Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Post by: The E on September 05, 2017, 02:15:41 pm
Well, it still seems like harrier.pof is the culprit. Have you tried the model I posted above?
Title: Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Post by: bomb3rman on September 05, 2017, 02:19:29 pm
Yes your model is inside the folder, it is named correctly now. This is strange. The fs2_log is from 20.13 pm, like the one before. As if Freespace 2 didn't write a new one...
Title: Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Post by: AdmiralRalwood on September 05, 2017, 02:24:20 pm
You need to change the corrupted string in the text field I marked above to "$subsystem=$engine".
It needs to be "$engine_subsystem", not "$subsystem".
Title: Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Post by: The E on September 05, 2017, 02:28:20 pm
duh, me stupid
Title: Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Post by: bomb3rman on September 05, 2017, 03:24:19 pm
Ok, I've changed the string to what AdmiralRalwood said... Seems to work :)

Now I don't get crashes anymore, thx!
Title: Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Post by: bomb3rman on September 05, 2017, 03:38:41 pm
Ok that was too early... Sometimes when I "restart" the mission (esc + restart ingame), it crashes...

There are some warnings before this, but this seems the most heavy one:

Code: [Select]
Assert: "first_frame != -1"
File: missionshipchoice.cpp
Line: 2807
Failed to load icon iconfighter04


ntdll.dll! ZwWaitForSingleObject + 12 bytes
KERNELBASE.dll! WaitForSingleObject + 18 bytes
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>

[ This info is in the clipboard so you can paste it somewhere now ]


Use Debug to break into Debugger, Exit will close the application.

ntdll.dll! ZwWaitForSingleObject + 12 bytes
KERNELBASE.dll! WaitForSingleObject + 18 bytes
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>
fs2_open_3_8_0_SSE2-FASTDBG.exe! <no symbol>


I don't know what's going on. Hte exact same ships are used in another mission and don't cause problems there...

I'm trying to narrow down the problem... Sometimes restarting works, sometimes not. I'm trying to reply the errors, but it won't really work. I had the feeling that I can't open the mission ingame, change something in Fred, save and go "escape->restart". Then it would crash... but now sometimes I can...
I'm a bit lost...

EDIT: It also seems that FS2 isn't writing new logs... the last one is still from 20.13 pm (the one I already attached), though there were more crashes after this.
Title: Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Post by: AdmiralRalwood on September 05, 2017, 04:05:51 pm
Ok that was too early... Sometimes when I "restart" the mission (esc + restart ingame), it crashes...

There are some warnings before this, but this seems the most heavy one:

Code: [Select]
Assert: "first_frame != -1"
File: missionshipchoice.cpp
Line: 2807
Failed to load icon iconfighter04
Well, I mean... do you have an iconfighter04? I presume you do if it only crashes on restart, but if so, the only way to diagnose this one is probably with a debug log.

EDIT: It also seems that FS2 isn't writing new logs... the last one is still from 20.13 pm (the one I already attached), though there were more crashes after this.
Try looking in %APPDATA%\HardLightProductions\FreeSpaceOpen\data\ (FSO 3.8 uses this directory if you're using one of the newer release candidates of wxLauncher, which I presume you are since the log above is from 3.7.4).
Title: Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Post by: bomb3rman on September 06, 2017, 11:33:32 am
Ah ok, I didn't know that 3.8 saved the log file within another folder... THX.

Well, I really didn't have an iconfighter04 :confused: Now I changed the table file so that this file isn't required anymore... Seems stable for the moment, maybe that was it. :)