Fenster über den Rand hinaus schieben -> Absturz - Druckversion +- Deutsches Simutransforum (https://simutrans-forum.de/mybb) +-- Forum: Simutrans (https://simutrans-forum.de/mybb/forumdisplay.php?fid=3) +--- Forum: Bugs und Probleme (https://simutrans-forum.de/mybb/forumdisplay.php?fid=11) +---- Forum: behobene Bugs (https://simutrans-forum.de/mybb/forumdisplay.php?fid=12) +---- Thema: Fenster über den Rand hinaus schieben -> Absturz (/showthread.php?tid=3948) Seiten:
1
2
|
Fenster über den Rand hinaus schieben -> Absturz - Sam - 26-02-2009 Simutrans-Version: 101, war aber schon in 100 so PAK-Set (+zusätzliche PAK-Dateien): Tritt sowohl mit pak64-101 als auch mit pak128-1.4.4 auf Betriebssystem: Linux (Ubuntu Intrepid AMD64) Fehler (möglichst genaue Beschreibung): Wenn ich das Spielfenster maximiert habe und dann ein In-Game-Fenster schnell gegen den rechten Rand hin schiebe, stürzt ST ab. gdb sagt dazu folgendes: Zitat:Program received signal SIGSEGV, Segmentation fault.Verhalten (Absturz, Einfrieren, ...): Absturz. Mehr oder weniger reproduzierbar; passiert nicht jedesmal, aber wenn man wiederholt ein Fenster schnell gegen den rechten Rand schiebt, sollte durchschnittlich nach 5-6 mal ein Absturz eintreten. Ich habe den Verdacht, dass die Absturzwahrscheinlichkeit höher ist, wenn mehr (In-Game-)Fenster geöffnet sind oder mehr los ist auf der Karte (funktioniert aber auch auf leeren Karten). Falls sich der Bug nicht beheben lässt, würde eine Autosave-Funktion den jeweiligen Ärger über das Auftreten doch bedeutend verringern. RE: Fenster über den Rand hinaus schieben -> Absturz - Dwachs - 26-02-2009 konnte ich nicht reproduzieren. Was hast du denn fuer eine Aufloesung? Passiert das mit allen moeglichen Fenstern oder nur einem bestimmten? Was ich nur beobachten konnte, war, dass manchmal beim Schieben eines Fensters nach rechts unten am linken Rand graue Pixel-Artefakte kamen. Die waren aber nur einen Pixel breit. Auch das passierte nicht immer. - Gotthardlok - 26-02-2009 Kann ich auch nicht reproduzieren (openSuSE 11.1, KDE 4, 32bit - ich nehme an, Du hast eine 64bit-Version?). Hast Du das Fenster, in dem Simutrans läuft, maximiert oder hast Du Simutrans als Vollbild gestartet? Wenn Du den Absturz reproduzieren kannst, starte so: ./simutrans -debug dann erscheinen die Fehlermeldungen im Terminal, und die letzten Zeilen vor dem Absturz sind sehr hilfreich. - Dwachs - 26-02-2009 Das Zitat da oben ist ja schon hilfreich. Der Fehler tritt in der Pixel-Kopierroutine auf, es wird ueber den zu Verfuegung stehenden Platz hinausgeschrieben. Es wird sich wohl um einen Overflow in der 32bit-Variablen len handeln: len war eigentlich negativ, wird in einen unsigned int umgewandelt und deshalb ziemlich gross. - HomerSimpson - 26-02-2009 Noch zum Thema Autosave! Das gibt es schon lange. Editiere hierzu die Datei simuconf.tab des entsprechenden pak-sets, dass du gerade spielst. Da sollte es eine Zeile geben: autosave = 0 Einfach auf autosave = 1 ändern, und es wird jeweils zu Monatsbeginn ein Spielstand gespeichert. vgl. auch http://simutrans-germany.com/wiki/wiki/tiki-index.php?page=de_laden_und_speichern RE: Fenster über den Rand hinaus schieben -> Absturz - Dwachs - 26-02-2009 Zitat:Original von DwachsGut zu beobachten, wenn man die Karte nach rechst schiebt und links dann blaues Wasser ist. Oder das Linienmanager-Fenster laaangsam nach rechts raus schieben, dann erscheinen die senkrechten weissen Linien nochmal kurz am linken Rand. Das liegt wohl daran, dass die clipping-Abfragen in simgraph16.cc nicht immer richtig sind: ein pixel mit Koordinate xp wird angezeigt, falls Code: clip. x <= xp < clip.xx Code: clip.x < xp+w <= clip.xx Patch folgt in der Mittagspause ^^ Was diese Beobachtung allerdings mit dem Absturz von Sam zutun hat? k.A. RE: Fenster über den Rand hinaus schieben -> Absturz - Dwachs - 26-02-2009 Patch und Linux-Executable sind hier verfuegbar: Linux Executable fuer gcc4 Patch-File @Sam: kannst du mal testen, ob der Absturz wieder kommt? - Sam - 26-02-2009 Zitat:Original von GotthardlokIch denke nicht. Zitat:Message: wkz_abfrage(): checking map square 24,150-> der gdb-Output scheint mir da aussagekräftiger zu sein. Mit Patch geschieht genau dasselbe; ich habe beim erneuten Testen aber den Eindruck bekommen, dass der Fehler mit pak128 schneller auftritt und auch da auf einer neuen Karte erst, wenn man zuerst auf dem Spielfeld hin- und hergescrollt ist (was im Spiel ja sowieso der Fall ist, aber nicht unbedingt, wenn man den Bug zu reproduzieren versucht). @HomerSimpson: Oh. Vielleicht sollte ich etwas mehr RTFM, bevor ich motze. Wäre ja irgendwo auch verwunderlich, wenn bisher noch niemand diese Funktion eingebaut hätte - Dwachs - 27-02-2009 Zitat:Original von Samja der reicht schon, diese Routine wird von nur einer anderen aufgerufen etc. Dummerweise siehts so aus, als moechte Simttrans ein Bild zeichnen mit einer negativen Anzahl Pixel. Was generell keine gute Idee ist. Ich kann den Fehler aber nicht nachvollziehen. Hast du selber kompiliert oder meine Programmdatei genommen? Du hast das Programm in einem maximierten Fenster laufen? Wie gross ist das? Steht in der Konsole, von der Simutrans ausgestartet wurde. Wie gross ist deine Karte? Kommt mit dem Patch derselbe Fehler (in pixcopy)? Zweiter Versuch: linux executable gcc 4 patch file Tritt der Fehler auch auf, wenn ein normales Fenster nicht vollstaendig (oder gar nicht) sichtbar ist? Ich meine ein Fenster, in dem kein kleiner Ausschnitt der Welt zu sehen ist. Also Linienmanager etc aber kein Info-Fenster von Fahrzeugen, Haeusern etc. - Dwachs - 27-02-2009 @Sam: bitte mal mit einem neuen Nightly testen. Bug sollte in r2350 gefixt sein. Hoffentlich |