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:
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
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.
Error found, could also lead to incomplete withdrawal of convois.
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.