Map: 'Das Dreieck' leads to crash when selected

Bug #521704 reported by Prophet
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Return To The Roots
Status tracked in S25client
S25client
Fix Released
Critical
FloSoft

Bug Description

When i start a new direct Ip game and try to select the map "Das Dreieck" in the "Alte" category the game crashes with the given message on command line:
/home/myname/opt/s25rttr/bin/rttr.sh: Zeile 27: 8353 Floating point exception./bin/s25client

It seems someone is doing bad math here :)

This happens under Linux with rev6018

Tags: rev6018
Revision history for this message
FloSoft (flosoft) wrote : Re: [Bug 521704] [NEW] Map: 'Das Dreieck' leads to crash when selected

Can you start with "rttr.sh debug" to start with gdb? and send us a full
backtrace, thx

Revision history for this message
Prophet (prophet005) wrote :

Heres the backtrace:
Program received signal SIGFPE, Arithmetic exception.
0x080d990a in ctrlMinimap::SetDisplaySize (this=0x96d8380, width=224,
    height=186, map_width=<value optimized out>, map_height=0)
    at /srv/buildfarm/s25client/src/ctrlMinimap.cpp:79
79 /srv/buildfarm/s25client/src/ctrlMinimap.cpp: No such file or directory.
 in /srv/buildfarm/s25client/src/ctrlMinimap.cpp
(gdb) bt
#0 0x080d990a in ctrlMinimap::SetDisplaySize (this=0x96d8380, width=224,
    height=186, map_width=<value optimized out>, map_height=0)
    at /srv/buildfarm/s25client/src/ctrlMinimap.cpp:79
#1 0x08178770 in ctrlPreviewMinimap::SetMap (this=0x96d8700, ctrl_id=1,
    selection=<value optimized out>)
    at /srv/buildfarm/s25client/src/ctrlPreviewMinimap.h:69
#2 dskSelectMap::Msg_TableSelectItem (this=0x96d8700, ctrl_id=1,
    selection=<value optimized out>)
    at /srv/buildfarm/s25client/src/dskSelectMap.cpp:210
#3 0x080fbd1a in ctrlTable::Msg_LeftDown (this=0x96d8760, mc=...)
    at /srv/buildfarm/s25client/src/ctrlTable.cpp:304
#4 0x083dfecc in Window::RelayMouseMessage (this=0x96d8700,
    msg=&virtual Window::Msg_LeftDown(MouseCoords const&), mc=...)
    at /srv/buildfarm/s25client/src/Window.cpp:202
#5 0x083ebdac in WindowManager::Msg_LeftDown (this=0x8624460, mc=...)
    at /srv/buildfarm/s25client/src/WindowManager.cpp:377
#6 0x00a88270 in VideoSDL::MessageLoop (this=0x8a521e0)
    at /srv/buildfarm/s25client/driver/video/SDL/src/SDL.cpp:414
#7 0x083b4446 in VideoDriverWrapper::Run (this=0x86244a0)
    at /srv/buildfarm/s25client/src/VideoDriverWrapper.cpp:319
#8 0x0833ccf1 in GameManager::Run (this=0x868ad88)
    at /srv/buildfarm/s25client/src/GameManager.cpp:155
#9 0x083a4508 in main (argc=<value optimized out>, argv=<value optimized out>)
    at /srv/buildfarm/s25client/src/main.cpp:191

Revision history for this message
SilSie (silsie) wrote :

Den Fehler hatte ich auch schon ewig, wollte ich grade eben endlich mal reporten ;)

Revision history for this message
FloSoft (flosoft) wrote : Re: [Bug 521704] Re: Map: 'Das Dreieck' leads to crash when selected

klingt dann sehr danach das die map nen fehler hat, aber schaus mir an
wenn ich daheim bin am di

Revision history for this message
FloSoft (flosoft) wrote :

kann den Fehler nicht reproduzieren, bei mir stürzt er weder unter Windows noch unter Linux ab. Habe jedoch mal vorsichtshalber 2 asserts reingemacht.

Wenns weiterhin auftritt bitte mal eure Karte hochladen, evtl ist die bei euch anders als bei mir.

Revision history for this message
Prophet (prophet005) wrote :

Also ich habe es nochmal getestet (mit der aktuellen revision 6033). Der Absturz tritt bei mir immer noch auf. Bin wie gesagt unter Linux. Habe die Karte angehängt.

Revision history for this message
FloSoft (flosoft) wrote :

die Map ist tatsächlich unterschiedlich. Habt ihr ne komische
S2-Version? Anscheinend sind bei euch 2 zusätzliche Bytes drin

meine:
00000920 xx xx xx xx xx xx 11 27 00 00 00 00 80 00 90 00
00000930 10 27 00 00 00 00 80 00 90 00 01 00 00 48 00 00

eure:
00000920 xx xx xx xx xx xx 00 00 11 27 00 00 00 00 80 00
00000930 90 00 10 27 00 00 00 00 80 00 90 00 01 00 00 48

also hier (große Ve):
00000920 xx xx xx xx xx xx VV VV 11 27 00 00 00 00 80 00

Revision history for this message
Prophet (prophet005) wrote :

Also das ist meine Siedler 2 Kopie die ich schon seit urzeiten (früher mit Dosbox) benutzte. Die ist einfach immer wieder mit kopiert worden. Ich habe gerade nochmal auf meiner CD nachgeschaut und auch dort sind diese 2 zusätzlichen Bytes vorhanden, auf einer Original CD.

Revision history for this message
FloSoft (flosoft) wrote :

Hast du Originale Gold Edition oder "normale" mit Missions CD?

Schon merkwürdig das sich die Header da unterscheiden

Am 17.02.2010 17:47, schrieb Prophet:
> Also das ist meine Siedler 2 Kopie die ich schon seit urzeiten (früher
> mit Dosbox) benutzte. Die ist einfach immer wieder mit kopiert worden.
> Ich habe gerade nochmal auf meiner CD nachgeschaut und auch dort sind
> diese 2 zusätzlichen Bytes vorhanden, auf einer Original CD.
>

Revision history for this message
FloSoft (flosoft) wrote :

Spike erklärte mir gerade, das die Map auch bei Ihm im Original abstürzt.

Habe nun eine etwas drastische Methode benutzt, um den Fehler auszugleichen ;-)
Da wir da eh nicht alles auslesen (sondern nur width+height) hab ich das nun soweit korrigiert das er wenn er eine 0 breite oder höhe einliest, es nochmals probiert und ggf weniger unbekannte/unbenutzte bytes überspringt.

fixed in rev6038

Revision history for this message
Prophet (prophet005) wrote :

Ich habe die Gold Edition im Original.

Ja soetwas ähnliches hätte ich auch vorgeschlagen. Wenn 0 gelesen wird einfach die nächsten Bytes nochmal lesen und hoffen das es passt :)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.