News:

Simutrans.com Portal
Our Simutrans site. You can find everything about Simutrans from here.

OK, now it's crashing with an assertion.

Started by neroden, March 27, 2010, 07:56:47 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

neroden

Running my patched and compiled simutrans-experimental, crashes during map creation with this assertion:

simutrans-experimental: simfab.cc:289: fabrik_t::~fabrik_t(): Assertion `plan' failed.

(Why is it running a factory *destructor* during map creation?)

If I put in a settings.xml file it instead segfaults.


VS

Which "map creation" ? The one directly on startup before rolling credits screen, or the one you start from new world dialogue? In the latter case the old map must be removed ;)

My projects... Tools for messing with Simutrans graphics. Graphic archive - templates and some other stuff for painters. Development logs for most recent information on what is going on. And of course pak128!

neroden

Quote from: VS on March 27, 2010, 09:29:37 AM
Which "map creation" ? The one directly on startup before rolling credits screen, or the one you start from new world dialogue? In the latter case the old map must be removed ;)

Ah-HA.  It's the one you start from new world dialogue.  So it's probably dying dismantling the old map....

neroden

#3
OK, I can generate a *different* crash-to-assertion bug.   ;D

If I go into public service mode (on the initial map) and start deleting factories, eventually I'll get this crash:
sim: simfab.cc:295: fabrik_t::~fabrik_t(): Assertion `f' failed.

It's not completely predictable; I appear to be able to delete some before getting it.

Deleting the Walmington-on-Sea Forest/Sawmill seems to be the most reliable way of prodicing *this* crash.

The *GOOD* news is, if I delete the demo.sve file from Pak128.Britain.Ex 0.5.before starting up, then everything works.  (So far.)  So it's a save file compatibility issue.

And now I can actually test the game.   :D

jamespetts

Thank you very much indeed for your reports - much appreciated. The problem appears to be that it is attempting to delete fields that don't exist. In a version compiled with the -NDEBUG switch on, the assertion will simply be passed by, which is what should be the case for the release version. I presume that you compiled your own in Linux without the -NDEBUG switch?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

neroden

Quote from: jamespetts on March 28, 2010, 06:00:49 PM
Thank you very much indeed for your reports - much appreciated. The problem appears to be that it is attempting to delete fields that don't exist. In a version compiled with the -NDEBUG switch on, the assertion will simply be passed by, which is what should be the case for the release version. I presume that you compiled your own in Linux without the -NDEBUG switch?

Yes.  I had to do that to get a working version, as documented in other bug threads.  ;D