• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Solved] Fatal error after cinematics.

Status
Not open for further replies.
Level 5
Joined
Aug 7, 2012
Messages
68
Hello there,

My map, Posé RPG was working fine until v1.30. I had some reports about the map crashing any time a cinematic ends (you can read the comments) and I had to upgrade my own game as well to test it. I can now confirm that it indeed crashes to desktop with a fatal error after cinematics, no matter which one. Map is now awaiting update instead of approved because of this reason (which I am fine with, it's a pretty big issue).

I have no idea what is causing it. I have tried to fix it by myself and failed. I will post one of the triggers and also the map page below.

  • Initial Conversation
    • Events
      • Unit - A unit comes within 256.00 of Trader 0022 <gen>
    • Conditions
      • ((Owner of (Triggering unit)) controller) Equal to User
      • ((Unit-type of (Triggering unit)) is A Hero) Equal to True
    • Actions
      • Trigger - Turn off (This trigger)
      • Special Effect - Destroy SpecialEffect[1]
      • Cinematic - Turn cinematic mode On for (All players)
      • Cinematic - Disable user control for (All players)
      • Cinematic - Disable boundary tinting for (All players)
      • Game - Disable selection and deselection functionality (Disable selection circles)
      • Camera - Pan camera for Player 1 (Red) to (Position of Trader 0022 <gen>) over 0.00 seconds
      • Camera - Pan camera for Player 2 (Blue) to (Position of Trader 0022 <gen>) over 0.00 seconds
      • Camera - Pan camera for Player 5 (Yellow) to (Position of Trader 0022 <gen>) over 0.00 seconds
      • Unit - Make Heroes[1] face Trader 0022 <gen> over 0.00 seconds
      • Unit - Make Heroes[2] face Trader 0022 <gen> over 0.00 seconds
      • Unit - Make Heroes[3] face Trader 0022 <gen> over 0.00 seconds
      • Cinematic - Send transmission to (All players) from Trader 0022 <gen> named Armory Trader: Play No sound and display Nice to see a new f.... Modify duration: Set to 7.00 seconds and Wait
      • Cinematic - Send transmission to (All players) from Trader 0022 <gen> named Armory Trader: Play No sound and display This is all that is.... Modify duration: Set to 11.00 seconds and Wait
      • Cinematic - Send transmission to (All players) from Trader 0022 <gen> named Armory Trader: Play No sound and display You should talk to .... Modify duration: Set to 7.00 seconds and Wait
      • Cinematic - Send transmission to (All players) from (Triggering unit) named (Proper name of (Triggering unit)): Play No sound and display Thanks for the head.... Modify duration: Set to 5.00 seconds and Wait
      • Game - Enable selection and deselection functionality (Enable selection circles)
      • Cinematic - Turn cinematic mode Off for (All players)
      • Cinematic - Enable user control for (All players)
      • Cinematic - Enable boundary tinting for (All players)
      • Camera - Pan camera for Player 1 (Red) to (Position of Heroes[1]) over 0.00 seconds
      • Camera - Pan camera for Player 2 (Blue) to (Position of Heroes[2]) over 0.00 seconds
      • Camera - Pan camera for Player 5 (Yellow) to (Position of Heroes[3]) over 0.00 seconds
I want to say it again that the game crashes as soon as the cinematic ends. Other than that, cinematic plays just fine. I have tried disabling every single action one by one to no avail.

Posé RPG v1.7

Any help would be appreciated. Damn, I hate patches.
 
Level 5
Joined
Aug 7, 2012
Messages
68
Just try disabling more and more lines in a specific cinematic trigger and running the trigger each time to see when the crash stops.

Also you are leaking many points. Things That Leak

I have disabled every single action there except the cinematic itself which works fine. Also, if you are talking about "Camera - Pan" (which seems to leak), I have also disabled those and it won't make a difference. I haven't changed anything at all since the patch. Everything is the same, meaning the patch changed something that the map isn't okay with.

Still crashes with this :

  • Initial Conversation
    • Events
      • Unit - A unit comes within 256.00 of Trader 0022 <gen>
    • Conditions
      • ((Owner of (Triggering unit)) controller) Equal to User
      • ((Unit-type of (Triggering unit)) is A Hero) Equal to True
    • Actions
      • Trigger - Turn off (This trigger)
      • Special Effect - Destroy SpecialEffect[1]
      • Cinematic - Turn cinematic mode On for (All players)
      • Cinematic - Send transmission to (All players) from Trader 0022 <gen> named Armory Trader: Play No sound and display Nice to see a new f.... Modify duration: Set to 7.00 seconds and Wait
      • Cinematic - Send transmission to (All players) from Trader 0022 <gen> named Armory Trader: Play No sound and display This is all that is.... Modify duration: Set to 11.00 seconds and Wait
      • Cinematic - Send transmission to (All players) from Trader 0022 <gen> named Armory Trader: Play No sound and display You should talk to .... Modify duration: Set to 7.00 seconds and Wait
      • Cinematic - Send transmission to (All players) from (Triggering unit) named (Proper name of (Triggering unit)): Play No sound and display Thanks for the head.... Modify duration: Set to 5.00 seconds and Wait
      • Cinematic - Turn cinematic mode Off for (All players)
I don't get it. This does NOT happen on v1.29.
 
Last edited:
Level 39
Joined
Feb 27, 2007
Messages
5,010
No, you’re leaking points: Position of <Unit>.

Sorry I didn’t see you’ve tried disabling the lines. My point isn’t that it should break at some point and the cinematic should fail, rather that an ‘empty’ trigger shouldn’t cause a fatal crash so you can disable everything in it and enable lines one by one to find the one that is causing the crash. Whatever broke with the patch is directly tied to something you’re doing and you need to find the line the game doesn’t like.

Alternatively try re-making the trigger from scratch (don’t copy paste lines from the existing trigger).
 
Level 5
Joined
Aug 7, 2012
Messages
68
Well, I have found the culprit and it's the action that turns cinematic mode off. I have no idea why it's happening though. There is no reason that it should happen and I need to use it.

This trigger alone crashes the game :

  • Initial Conversation
    • Events
      • Unit - A unit comes within 256.00 of Trader 0022 <gen>
    • Conditions
      • ((Unit-type of (Triggering unit)) is A Hero) Equal to True
    • Actions
      • Cinematic - Turn cinematic mode Off for (All players)
And here, typing -wtf crashes the game :

  • Untitled Trigger 001
    • Events
      • Player - Player 1 (Red) types a chat message containing -wtf as An exact match
    • Conditions
    • Actions
      • Cinematic - Turn cinematic mode Off for (All players)
I am really confused now.
 
Last edited:

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,197
The map you linked cannot be opened with the 1.31.1 editor. Please provide the map which crashes and contains the above described trigger which causes the crash in a form which can be opened in World Editor. If you are uncomfortable providing the map to the public then feel free to send it to me by private conversation. One can upload such a map to the pastebin which produces a private link (only people with link can download).

A possible cause could be an unintended trigger interaction. The action is causing triggers to fire which were not intended to fire at that time and cause a crash as a result.

Another cause could be that a trigger is placing an invalid value into one of the variables the action uses.
 
Level 5
Joined
Aug 7, 2012
Messages
68
The map you linked cannot be opened with the 1.31.1 editor. Please provide the map which crashes and contains the above described trigger which causes the crash in a form which can be opened in World Editor. If you are uncomfortable providing the map to the public then feel free to send it to me by private conversation. One can upload such a map to the pastebin which produces a private link (only people with link can download).

A possible cause could be an unintended trigger interaction. The action is causing triggers to fire which were not intended to fire at that time and cause a crash as a result.

Another cause could be that a trigger is placing an invalid value into one of the variables the action uses.

It can't be opened because it's protected. I have the unprotected version. I can privately send it to anyone who may be able to solve the issue because I am out of options here.
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,197
The crash is being caused by destroying the currently visible multiboard.

If one executes the following the game will crash.
  • Crash
    • Events
      • Player - Player 1 (Red) skips a cinematic sequence
    • Conditions
    • Actions
      • Multiboard - Create a multiboard with 1 columns and 1 rows, titled Dummy
      • Multiboard - Destroy (Last created multiboard)
      • Cinematic - Turn cinematic mode Off for (All players)
Specifically the crash is the result of destroying the currently visible multiboard (GUI implicitly shows multiboards on creation) which causes ShowInterface(true, X) to crash upon completion. I am guessing it tries to restore visibility of the currently visible multiboard but since the multiboard was destroyed it dereferences a freed object which results in the crash.

It is possible that this crash is the result of regression.

The current work around is to hide all multiboards before destroying them. For example the following will not crash...
  • No Crash
    • Events
      • Player - Player 1 (Red) skips a cinematic sequence
    • Conditions
    • Actions
      • Multiboard - Create a multiboard with 1 columns and 1 rows, titled Dummy
      • Multiboard - Hide (Last created multiboard)
      • Multiboard - Destroy (Last created multiboard)
      • Cinematic - Turn cinematic mode Off for (All players)
The following can be used to guard cinematic mode from the crash. The disadvantage is that it will also hide currently visible and not destroyed multiboards.
  • No Crash Guard
    • Events
      • Player - Player 1 (Red) skips a cinematic sequence
    • Conditions
    • Actions
      • Multiboard - Create a multiboard with 1 columns and 1 rows, titled Dummy
      • Multiboard - Destroy (Last created multiboard)
      • Multiboard - Hide all multiboards
      • Cinematic - Turn cinematic mode Off for (All players)
Attached is a demo map with triggers for all 3 of these cases.
 

Attachments

  • Destroyed Multiboard Crash.w3x
    12 KB · Views: 17
Last edited:
Level 5
Joined
Aug 7, 2012
Messages
68
I've hid the multiboard before destroying it as you said, and it DID fix everything. I don't know what to say, it was so simple. I have no idea how you figured it out but thank you so much, you have basically saved the map. I will mention you when I upload the new version.

I have no idea why it didn't happen before v1.30 though.
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,197
I have no idea how you figured it out
60 minutes of painfully disabling, removing and altering triggers and other parts of the map. Then about 30 minutes writing up the findings.
I have no idea why it didn't happen before v1.30 though.
Likely a regression bug caused by maintenance and extension work on the related code. Hopefully it will be fixed in a future version.
 
Level 5
Joined
Aug 7, 2012
Messages
68
60 minutes of painfully disabling, removing and altering triggers and other parts of the map. Then about 30 minutes writing up the findings.

Likely a regression bug caused by maintenance and extension work on the related code. Hopefully it will be fixed in a future version.

Thank you for your time. I guess fixing bugs is no simple task since it may introduce other bugs like this one. I hope anyone who may encounter the same problem in the future will stumple upon this topic.
 
Status
Not open for further replies.
Top