Author Topic: ASSERTION: SHIP_NOT_FLYABLE  (Read 1885 times)

0 Members and 1 Guest are viewing this topic.

Offline Vakarias

  • 22
  • I wonder when my personalities will exceed my iq
ASSERTION: SHIP_NOT_FLYABLE
I've been experiencing some engine issues. Log is available as a gist on GitHub:
https://gist.github.com/anonymous/7468922ab043904eb91c

I hope that this is sufficient. This issue gets even worse (ASSERTION: "sig > 0" at object.cpp:1979) if I try using the latest nightly.

I was directed to make this topic from #freespace, battuta is perplexed by this.
AKA Vaktezraj on IRC

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: ASSERTION: SHIP_NOT_FLYABLE
The issue occurs in bp2-20 'One Future' a short ways into the mission. The bug is 100% reproable for him and always occurs at the same point. He's running OS X, 3.7.0 release.

I haven't seen this particular error:

Quote
ASSERTION: "!(Ship_info[shipp->ship_info_index].flags & SIF_NOT_FLYABLE)" at missionmessage.cpp:1866

before.

 

Offline Kopachris

  • 28
  • send penguins
    • Steam
    • Twitter
Re: ASSERTION: SHIP_NOT_FLYABLE
Well, obviously it seems that either a navbuoy, sentry, or cargo container is trying to send a message.  Make sure 1) the ship's .tbl entry doesn't flag it as one of those, and/or 2) the mission isn't trying to have a navbuoy, sentry, or cargo container send a message.  Could be happening if the ship that was originally supposed to send the message was accidentally destroyed.  Do we know what the ship in question is?
----
My Bandcamp | Discord: Kopachris#0001 | My GitHub

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: ASSERTION: SHIP_NOT_FLYABLE
Pretty sure that this 'message 'cruiser1: picking up macduff' with invalid head.  Fix by assigning persona to the message.' is unrelated to the error, it just happens to be adjacent in the log. That's a safe error that pops up all the time - it occurs 3 other times in this log alone and I've seen it hundreds in other places.

Or...are you spotting something else I'm not? Where are you getting all this business about navbuoys, sentries, or cargo containers?

e: are you looking at the code surrounding this assert? I'm just not following your diagnostic  :confused:

 

Offline zookeeper

  • *knock knock* Who's there? Poe. Poe who?
  • 210
Re: ASSERTION: SHIP_NOT_FLYABLE
As far as I can tell, SIF_NOT_FLYABLE is a ship flag which gets set if the ship class flag is "cargo", "navbuoy" or "sentry gun", and apparently any such ships shouldn't be able to send messages (I have no idea whatsoever why).

I'd check the senders of the macduff message and/or any messages supposed to immediately follow it. Since it's a BP mission I'm going to assume that there's a lot of all sorts of complicated stuff going on, so maybe there's something which alters the sender's flags or something.

Oh well, Kopachris beat me to it.

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: ASSERTION: SHIP_NOT_FLYABLE
There are a couple sentries in the mission, but I can't see how any of them would be sending a message. None of the message-sending ships in the mission have any of those flags, AFAICT. No alter-ship-flag SEXPs.

Could this be related to the player ship being a cruiser? The ship itself shouldn't be sending any messages, though, so I'm not sure why that'd matter.

 

Offline Kopachris

  • 28
  • send penguins
    • Steam
    • Twitter
Re: ASSERTION: SHIP_NOT_FLYABLE
Pretty sure that this 'message 'cruiser1: picking up macduff' with invalid head.  Fix by assigning persona to the message.' is unrelated to the error, it just happens to be adjacent in the log. That's a safe error that pops up all the time - it occurs 3 other times in this log alone and I've seen it hundreds in other places.

Or...are you spotting something else I'm not? Where are you getting all this business about navbuoys, sentries, or cargo containers?

e: are you looking at the code surrounding this assert? I'm just not following your diagnostic  :confused:

All I did was go to the line where the assert is and "Go to definition" on "SIF_NOT_FLYABLE", which takes me to ship.h, line 939: "#define   SIF_NOT_FLYABLE         (SIF_CARGO | SIF_NAVBUOY | SIF_SENTRYGUN)      // AL 11-24-97: this useful to know for targeting reasons".  Line 1862 in missionmessage.cpp is just a comment saying "be sure that this ship can actually send a message!!! (i.e. not-not-flyable -- get it!)"

Therefore, something's trying to send a message that shouldn't be.  It'd be nice if we knew which ship the assert was actually failing on.
----
My Bandcamp | Discord: Kopachris#0001 | My GitHub

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: ASSERTION: SHIP_NOT_FLYABLE
That'd be ideal, yeah. A HA - there is a 'command habitat' with a cargo flag that sends a message, and it happens right around then! I bet that's the issue.

The question is why this has never popped up before. This message gets sent on every playthrough of the mission, very early on, and I don't think anyone's reported this error before.

e: less dumb wording

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: ASSERTION: SHIP_NOT_FLYABLE
According to The_E this assert is a :v: original. He's pulling it from the code on charges of extreme worthlessness.

 

Offline zookeeper

  • *knock knock* Who's there? Poe. Poe who?
  • 210
Re: ASSERTION: SHIP_NOT_FLYABLE
The question is why this has never popped up before. This message gets sent on every playthrough of the mission, very early on, and I don't think anyone's reported this error before.

Is it possible that no one had simply played it that far on a debug build before?

  

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: ASSERTION: SHIP_NOT_FLYABLE
Possible, was this debug only? If so, why is he playing on a debug build?

 

Offline zookeeper

  • *knock knock* Who's there? Poe. Poe who?
  • 210
Re: ASSERTION: SHIP_NOT_FLYABLE
Possible, was this debug only?

Yes, asserts (of this kind, anyway) only trigger on debug builds.