News:

Simutrans Sites
Know our official sites. Find tools and resources for Simutrans.

[SOLVED] [bug r4954] Crahs loading savegames

Started by T0m4S, November 22, 2011, 05:10:26 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

T0m4S

Hi,

I just downloaded the last nightly version r4954 and since then I can't load anygames. It can start a new game and save it but not load it. The error is as following:



The log can be found here:

http://dl.dropbox.com/u/3876059/simu.log

I just tested it on windows.

DirrrtyDirk

Downloaded r4954? Hmmm I can still only see r4951 as the lastest when I call the nightly page...  ???

I had to compile r4954 myself- and the error you describe did not happen to me. Saving, loading... old games, new games... all worked perfectly normal for me.
  
***** PAK128 Dev Team - semi-retired*****

T0m4S

I didn't downloaded it from the nightly site, but directly from the svn repository. So nobody else has the problem. :s

DirrrtyDirk

Well, so far just I don't have it - and there are not that many people out there, who compile their own nightlies regularly (I also don't usually), I think (most probably download nightlies only from the nightly site).
  
***** PAK128 Dev Team - semi-retired*****

T0m4S

Yes, bad choice of words sorry...  :-[ Actually I find it's strange that it refers to the file algorithm from MSCV 10, and at the line 3665 mentioned by the error there's:

Quote// TEMPLATE FUNCTION sort WITH PRED
template<class _BidIt,
   class _Pr,
   class _Ty> inline
   void _Insertion_sort1(_BidIt _First, _BidIt _Last, _Pr _Pred, _Ty *)
   {   // insertion sort [_First, _Last), using _Pred
   if (_First != _Last)
      for (_BidIt _Next = _First; ++_Next != _Last; )
         {   // order next element
         _BidIt _Next1 = _Next;
         _Ty _Val = _Move(*_Next);

         if (_DEBUG_LT_PRED(_Pred, _Val, *_First))
            {   // found new earliest element, move to front
            _Move_backward(_First, _Next, ++_Next1);
            *_First = _Move(_Val);
            }
         else
            {   // look for insertion point after first
            for (_BidIt _First1 = _Next1;
               _DEBUG_LT_PRED(_Pred, _Val, *--_First1);
               _Next1 = _First1)
               *_Next1 = _Move(*_First1);   // move hole down
            *_Next1 = _Move(_Val);   // insert element in hole
            }
         }
   }

DirrrtyDirk

Quote from: T0m4S on November 22, 2011, 09:07:28 PM
Yes, bad choice of words sorry...

No need to be sorry. Just wanted to let you know, that just because it seems to work for me, does not mean there's no problem. But apparently, if there is one, it is not 100% reproducable. So solving might be a little tricky for the Devs.
  
***** PAK128 Dev Team - semi-retired*****

Dwachs

#6
@Tomas: do you get similar error when rotating the map?

Edit: I think I know what the error is. The r4954 calls std::sort with a comparison function that is not a strict weak ordering... will fix this soon.
Parsley, sage, rosemary, and maggikraut.

T0m4S

Quote from: Dwachs on November 22, 2011, 09:21:20 PM
@Tomas: do you get similar error when rotating the map?

Edit: I think I know what the error is. The r4954 calls std::sort with a comparison function that is not a strict weak ordering... will fix this soon.
Yes it happens also when rotating. So I think you are right about what it is...

Dwachs

could not commit a fix, the svn seems to be down.

Can you test whether changing '>=' to '>' in dataobj/dingliste.cc line 428 makes 'your' crash go away?
Parsley, sage, rosemary, and maggikraut.

T0m4S


Dwachs

Parsley, sage, rosemary, and maggikraut.