Author Topic: strstr( (const char *)&props, "$engine_subsystem=") != NULL  (Read 151 times)

0 Members and 1 Guest are viewing this topic.

strstr( (const char *)&props, "$engine_subsystem=") != NULL
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...

 

Offline The E

  • He's Ebeneezer Goode
  • Global Moderator
  • 213
  • Nothing personal, just tech support.
    • Skype
    • Steam
    • Twitter
Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Can you post the Harrier.pof model? It seems that something is going wrong with it.
**** every cause that ends in murder and children crying. ― Iain Banks
Join the fun at the HLP IRC channel. Get the latest spam and gossip as long as it's fresh!

 
Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
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.

 

Offline The E

  • He's Ebeneezer Goode
  • Global Moderator
  • 213
  • Nothing personal, just tech support.
    • Skype
    • Steam
    • Twitter
Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Your problem is right here:


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
**** every cause that ends in murder and children crying. ― Iain Banks
Join the fun at the HLP IRC channel. Get the latest spam and gossip as long as it's fresh!

 
Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Strange... ok how do I have to rename it? Or what do I have to do?

 

Offline The E

  • He's Ebeneezer Goode
  • Global Moderator
  • 213
  • Nothing personal, just tech support.
    • Skype
    • Steam
    • Twitter
Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
You need to change the corrupted string in the text field I marked above to "$subsystem=$engine".
**** every cause that ends in murder and children crying. ― Iain Banks
Join the fun at the HLP IRC channel. Get the latest spam and gossip as long as it's fresh!

 
Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
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?

 

Offline The E

  • He's Ebeneezer Goode
  • Global Moderator
  • 213
  • Nothing personal, just tech support.
    • Skype
    • Steam
    • Twitter
Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Please post the log again, it's the only way to find out which model causes this.
**** every cause that ends in murder and children crying. ― Iain Banks
Join the fun at the HLP IRC channel. Get the latest spam and gossip as long as it's fresh!

 
Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Here you go...

 

Offline The E

  • He's Ebeneezer Goode
  • Global Moderator
  • 213
  • Nothing personal, just tech support.
    • Skype
    • Steam
    • Twitter
Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Well, it still seems like harrier.pof is the culprit. Have you tried the model I posted above?
**** every cause that ends in murder and children crying. ― Iain Banks
Join the fun at the HLP IRC channel. Get the latest spam and gossip as long as it's fresh!

 
Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
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...

 

Offline AdmiralRalwood

  • 211
  • Mister Subspace Strikes
    • Skype
    • Steam
    • Twitter
Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
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".
Ph'nglui mglw'nafh Codethulhu GitHub wgah'nagl fhtagn.

schrödinbug (noun) - a bug that manifests itself in running software after a programmer notices that the code should never have worked in the first place.

When you gaze long into BMPMAN, BMPMAN also gazes into you.

"I am one of the best FREDders on Earth" -General Battuta

<Aesaar> literary criticism is vladimir putin

<MageKing17> "There's probably a reason the code is the way it is" is a very dangerous line of thought. :P
<MageKing17> Because the "reason" often turns out to be "nobody noticed it was wrong".
(the very next day)
<MageKing17> this ****ing code did it to me again
<MageKing17> "That doesn't really make sense to me, but I'll assume it was being done for a reason."
<MageKing17> **** ME
<MageKing17> THE REASON IS PEOPLE ARE STUPID
<MageKing17> ESPECIALLY ME

<MageKing17> God damn, I do not understand how this is breaking.
<MageKing17> Everything points to "this should work fine", and yet it's clearly not working.
<MjnMixael> 2 hours later... "God damn, how did this ever work at all?!"
(...)
<MageKing17> so
<MageKing17> more than two hours
<MageKing17> but once again we have reached the inevitable conclusion
<MageKing17> How did this code ever work in the first place!?

<@The_E> Welcome to OpenGL, where standards compliance is optional, and error reporting inconsistent

<MageKing17> It was all working perfectly until I actually tried it on an actual mission.

<IronWorks> I am useful for FSO stuff again. This is a red-letter day!
* z64555 erases "Thursday" and rewrites it in red ink

<MageKing17> TIL the entire homing code is held up by shoestrings and duct tape, basically.

 

Offline The E

  • He's Ebeneezer Goode
  • Global Moderator
  • 213
  • Nothing personal, just tech support.
    • Skype
    • Steam
    • Twitter
Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
duh, me stupid
**** every cause that ends in murder and children crying. ― Iain Banks
Join the fun at the HLP IRC channel. Get the latest spam and gossip as long as it's fresh!

 
Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
Ok, I've changed the string to what AdmiralRalwood said... Seems to work :)

Now I don't get crashes anymore, thx!

 
Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
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.
« Last Edit: September 05, 2017, 03:48:34 pm by bomb3rman »

 

Offline AdmiralRalwood

  • 211
  • Mister Subspace Strikes
    • Skype
    • Steam
    • Twitter
Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
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).
Ph'nglui mglw'nafh Codethulhu GitHub wgah'nagl fhtagn.

schrödinbug (noun) - a bug that manifests itself in running software after a programmer notices that the code should never have worked in the first place.

When you gaze long into BMPMAN, BMPMAN also gazes into you.

"I am one of the best FREDders on Earth" -General Battuta

<Aesaar> literary criticism is vladimir putin

<MageKing17> "There's probably a reason the code is the way it is" is a very dangerous line of thought. :P
<MageKing17> Because the "reason" often turns out to be "nobody noticed it was wrong".
(the very next day)
<MageKing17> this ****ing code did it to me again
<MageKing17> "That doesn't really make sense to me, but I'll assume it was being done for a reason."
<MageKing17> **** ME
<MageKing17> THE REASON IS PEOPLE ARE STUPID
<MageKing17> ESPECIALLY ME

<MageKing17> God damn, I do not understand how this is breaking.
<MageKing17> Everything points to "this should work fine", and yet it's clearly not working.
<MjnMixael> 2 hours later... "God damn, how did this ever work at all?!"
(...)
<MageKing17> so
<MageKing17> more than two hours
<MageKing17> but once again we have reached the inevitable conclusion
<MageKing17> How did this code ever work in the first place!?

<@The_E> Welcome to OpenGL, where standards compliance is optional, and error reporting inconsistent

<MageKing17> It was all working perfectly until I actually tried it on an actual mission.

<IronWorks> I am useful for FSO stuff again. This is a red-letter day!
* z64555 erases "Thursday" and rewrites it in red ink

<MageKing17> TIL the entire homing code is held up by shoestrings and duct tape, basically.

 
Re: strstr( (const char *)&props, "$engine_subsystem=") != NULL
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. :)