Assertion issue in generate.cpp

Started by math, January 26, 2022, 02:39:02 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

math

Hi!

FET just crashed two times in a row when calculating a new schedule. When it crashed first, I copied the output to a text editor for posting it here. Then I restarted FET, loaded the configuration file and restarted the schedule calculation. And again FET crashed with the very same error message:

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
Assertion failed: (c.times[permutation]!=UNALLOCATED_TIME), function generate, file generate.cpp, line 6083.

I thought that my configuration file might be useful for reproducing the error, but now it stopped crashing on this input file, even though I tried it for a couple of times.

I'm using the most current version of FET on MacOS 10.15.7. 

Best, Matthias

Liviu Lalescu

Hello!

Thank you for the bug report! Yes, I could use your file and a crashing random seed (but I suppose now you overwrote it). I will try to investigate. If it crashes for some seeds only, it is a FET bug. If it crashes sometimes and not other times on the same seed, it might be a problem of your computer.

It is very weird, because I thought FET was very stable in this part.

If you don't want to share your input file publicly, you can send it on my email. If you don't have the crashing seeds, I will generate multiple trying to obtain a crash.

math

Hi Liviu!

Sorry, I did not save the contents of the output directory so I cannot provide you with a seed. I just sent you the configuration file by email.
Btw: Yesterday evening I noticed that you published a new version of FET two days ago. I'm still using version 6.2.5.

Best, Matthias

Liviu Lalescu

Hello, Matthias,

Thank you for your file! I just received it and will try to replicate the crash.

FET-6.2.5 is the same as FET-6.2.6 in this part.

Liviu Lalescu

Hello, Matthias,

Thank you for your file! I tried, but could not crash it. I tried on GNU/Linux (openSUSE Tumbleweed) and Windows. I generated single 3 or so times, and multiple 100 timetables. No crash.

It must have been a hardware problem, or a software problem related to other programs since, as I have already said, this part of code is very tested and cannot go wrong.

If you get another crash, please keep the random seed and send it to me (careful: another generation will overwrite it). Also, you can try to regenerate with this random seed to see if it crashes the second time.

Generate multiple will not overwrite the seeds.

math

Hi Liviu!

Thanks for taking care of this issue. A hardware problem is a good explanation even though there are no entries in the system log about detected memory errors. If this assertion error should ever occur again, I will keep the seed.

Btw: If FET quits due to an assertion error, what would be the resulting exit status?


Best, Matthias

Liviu Lalescu

Hello, Matthias,

I got a few reports also from Darren and I got assert crashes myself for absolutely no reason in FET. Maybe they are related to Qt.

As for assert: https://www.cplusplus.com/reference/cassert/assert/ (it seems that SIGABRT is emitted, but I am not sure).