Ticket #42347

QT : change tilesets and got 1: in option_get_cb_data() [options.c::730]: assertion '((void *)0) != poption' failed. + segfault

Eröffnet am: 2021-05-22 11:11 Letztes Update: 2021-05-24 00:01

Auswertung:
Verantwortlicher:
(Keine)
Typ:
Status:
Offen
Komponente:
Meilenstein:
(Keine)
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Keine
Datei:
1

Details

S3_0

I had trouble to correctly display 1901_WW1 scenario in gtk3.22 client , due to a wrong tileset in my preferences (which i understood later :)

So i tried with the QT client I changed tilesets many times in QT client and it ended by a segfault

2: Chargement des jeux de tuiles "trident".
2: Topologie de la carte (Hex) incompatible avec le jeu de tuiles (Vue de dessus).
1: in option_get_cb_data() [options.c::730]: assertion '((void *)0) != poption' failed.
1: in option_get_cb_data() [options.c::730]: assertion '((void *)0) != poption' failed.
2: Chargement des jeux de tuiles "isophex".
2: Topologie de la carte (Hex) incompatible avec le jeu de tuiles (Iso|Hex).
Erreur de segmentation (core dumped)

Ticket-Verlauf (3/4 Historien)

2021-05-22 11:11 Aktualisiert von: alain_bkr
  • New Ticket "change tilesets and got 1: in option_get_cb_data() [options.c::730]: assertion '((void *)0) != poption' failed." created
2021-05-22 19:25 Aktualisiert von: alain_bkr
  • Komponente Update from (Keine) to Qt-client
  • Summary Updated
2021-05-24 00:01 Aktualisiert von: chippo
Kommentar

I usually put text inline in these bug reports (to save people reading them from an extra action or 3), but I see why you put it in a separate file. Maybe you could have put it in-line if you trimmed out duplicates.

The developers would like a spot more info from you (I'm told). Firstly, make sure that core dumps actually happen. On Linux and friends you have to change your ulimits. It's probably similar in MacOS. In whatever shell you use edit your rc script (for me ~/.bashrc) and add the line:

ulimit -c unlimited
or just type it before you run freeciv.

Then, after gettting a core file use a debugger (gdb, lldb, others) on the executable and the core. So that depends on whether the server or the client dumped core. I have often typed something like:

gdb client/freeciv-qt core
When I compile with LLVM then I use lldb; when I compile with gcc then I use gdb, but I think it doesn't matter.

Then, once in the debugger, type bt -full and post that.

Dateianhangliste

Bearbeiten

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Anmelden