Skip to main content
Topic: Recall all with convois in depot causes crash (Read 4738 times) previous topic - next topic

Recall all with convois in depot causes crash

When attempting to replace all vehicles of a given type with a newer model, I forgot to press replace all before commensing the purchase of the replacement vehicles. Since I had not bought that many, I decided go ahead and recall all vehicles, with the intention of yet again buying new replacement vehicles. This means that I in the depot had a couple of convois attached to the line for which I pressed Recall all in the line management window. This caused Simutrans to crash with:
Code: [Select]
FATAL ERROR: vector_tpl<T>::[]
index out of bounds: 13 not in 0..12
There were 13 convois (I presume index 0..12) out on the road servicing the line when I pressed the button iirc.

I do have a save game, but since it is based on the New York challenge...it is 5MB even bzipped... so I hesitate to attach it unless it is necessary.

Simutrans r2898, compiled on gcc 4.3.4, debian/squeeze

Re: Recall all with convois in depot causes crash

Reply #1
This problem happened to me both RC and trunk version.

Load attached savegame and click "Withdraw all" button on line management window may cause same problem.

And I'm not sure this is the same reason or not, but when I click "Withdraw all" button, some convoi will not be sold.

How to reproduce:
1. Make a new line
2. Open depot window and attach the line to convoi
3. Copy convoi twice. (all 3 convois)
4. Start 2 convois
5. Click "Withdraw all" button on line management window

Result:
One convoi running was sold.
One convoi running was not sold.
One convoi in depot was not sold.

Re: Recall all with convois in depot causes crash

Reply #2
Error found, could also lead to incomplete withdrawal of convois.

 

Re: Recall all with convois in depot causes crash

Reply #3
the procedure z9999 described above leads to another crash: if wihdraw is pressed when a vehicle leaves the depot. should be fixed in rev 2978.
Parsley, sage, rosemary, and maggikraut.