flaky upon interrupted add-on download

Having trouble with the game? Report issues and get help here. Read this first!

Moderator: Forum Moderators

Forum rules
Before reporting issues in this section, you must read the following topic:
Post Reply
Icekiss
Posts: 63
Joined: February 19th, 2004, 11:50 am

flaky upon interrupted add-on download

Post by Icekiss »

To reproduce:
1. Start downloading a (bigger) add-on from within wesnoth.
2. Interrupt you internet connection while the download is going on.
3. wait until you get the "remote host disconnected" message
4. click again on "Add-ons"

The first time this (accidently) happened, wesnoth crashed with a memory access violation. I Tried it again to see whether it is reproduceable -> wesnoth hung with full cpu utilization.

OS: Debian unstable
wesnoth version: 1.3.10
If you are a debian linux user, take a look at my program: http://deb-install.sourceforge.net/
Soliton
Site Administrator
Posts: 1686
Joined: April 5th, 2005, 3:25 pm
Location: #wesnoth-mp

Post by Soliton »

No crash here with 1.3.10 or 1.3.10+svn.
It'd be very helpful if you can get a backtrace from that crash.
"If gameplay requires it, they can be made to live on Venus." -- scott
Icekiss
Posts: 63
Joined: February 19th, 2004, 11:50 am

Post by Icekiss »

All right, I'm recompiling wesnoth with '--enable-debug'.
After that I'll see whether I can get gdb to spit the info out (haven't done this before).
This'll take a bit... :P
If you are a debian linux user, take a look at my program: http://deb-install.sourceforge.net/
User avatar
Iris
Site Administrator
Posts: 6798
Joined: November 14th, 2006, 5:54 pm
Location: Chile
Contact:

Post by Iris »

gdb's command is 'bt' (backtrace, remove the ').

I use ddd for getting a friendly user interface.
Author of the unofficial UtBS sequels Invasion from the Unknown and After the Storm.
Icekiss
Posts: 63
Joined: February 19th, 2004, 11:50 am

Post by Icekiss »

Allright, I couldn't get it to compile using the command './configure --with-kde --enable-debug' (during make, the linking failed). I am retrying with only the '--with-kde' switch to see whether my system or my procedure changed (after all, I do have wesnoth running).
Since you are implying that a backtrace would be useful even without the debugging symbols, here it is:

terminal:
Battle for Wesnoth v1.3.10
Started on Fri Nov 16 19:30:45 2007

Checking video mode: 1016x714x32...
setting mode to 1016x714x32
set locale to 'C'
set locale to 'C'
set locale to 'C'
loadscreen: filesystem counter = 298
loadscreen: binarywml counter = 14510
loadscreen: setconfig counter = 240
loadscreen: parser counter = 214
error general: Remote host disconnected.
error display: could not open image ''
error display: could not open image '../images/units/human-loyalists/General.png'
error display: could not open image 'units/human-lavinian/legionnaire.png'
error display: could not open image 'units/human-marauder/warrior.png'
error display: could not open image 'images/units/orcs/leader.png'
error display: could not open image 'low-elvish-high-lord.png'
error display: could not open image '\images\units\undead\spectre.png'
error display: could not open image '../images/units/human-outlaws/Ruffian.png'
error general: Remote host disconnected.
error general: SDL_CondWaitTimeout: pthread_cond_timedwait() failed
error general: Could not connect to host.
Speicherzugriffsfehler (core dumped)
PS: The missing images are add-on icons.

Backtrace: [gdb wesnoth --core core.1961]
(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".

warning: Can't read pathname for load map: Input/output error.
Reading symbols from /usr/lib/libSDL_image-1.2.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libSDL_image-1.2.so.0
Reading symbols from /usr/lib/libSDL_mixer-1.2.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libSDL_mixer-1.2.so.0
Reading symbols from /usr/lib/libSDL_net-1.2.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libSDL_net-1.2.so.0
Reading symbols from /usr/lib/libSDL-1.2.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libSDL-1.2.so.0
Reading symbols from /usr/lib/libpython2.4.so.1.0...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpython2.4.so.1.0
Reading symbols from /usr/lib/libfreetype.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libfreetype.so.6
Reading symbols from /usr/lib/libz.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /usr/lib/libX11.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libX11.so.6
Reading symbols from /usr/lib/libstdc++.so.6...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libstdc++.so.6
Reading symbols from /lib/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libgcc_s.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/libpthread.so.0...
(no debugging symbols found)...done.
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /usr/lib/libpng12.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpng12.so.0
Reading symbols from /usr/lib/libasound.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libasound.so.2
Reading symbols from /lib/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /usr/lib/libdirectfb-0.9.so.25...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libdirectfb-0.9.so.25
Reading symbols from /usr/lib/libfusion-0.9.so.25...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libfusion-0.9.so.25
Reading symbols from /usr/lib/libdirect-0.9.so.25...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libdirect-0.9.so.25
Reading symbols from /usr/lib/libvga.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libvga.so.1
Reading symbols from /lib/libutil.so.1...
(no debugging symbols found)...done.
Loaded symbols for /lib/libutil.so.1
Reading symbols from /usr/lib/libXau.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXau.so.6
Reading symbols from /usr/lib/libXdmcp.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXdmcp.so.6
Reading symbols from /lib/ld-linux.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /usr/lib/libXext.so.6...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXext.so.6
Reading symbols from /usr/lib/libXrender.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXrender.so.1
Reading symbols from /usr/lib/libXrandr.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXrandr.so.2
Reading symbols from /usr/lib/gconv/ISO8859-15.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gconv/ISO8859-15.so
Reading symbols from /usr/lib/libXcursor.so.1...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXcursor.so.1
Reading symbols from /usr/lib/libXfixes.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXfixes.so.3
Reading symbols from /lib/libnss_compat.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libnss_compat.so.2
Reading symbols from /lib/libnsl.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/libnss_nis.so.2...
(no debugging symbols found)...done.
Loaded symbols for /lib/libnss_nis.so.2
Reading symbols from /lib/libnss_files.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libnss_files.so.2
Reading symbols from /usr/lib/libvorbisfile.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libvorbisfile.so.3
Reading symbols from /usr/lib/libvorbis.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libvorbis.so.0
Reading symbols from /usr/lib/libogg.so.0...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libogg.so.0
Reading symbols from /lib/libnss_dns.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libnss_dns.so.2
Reading symbols from /lib/libresolv.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libresolv.so.2
(no debugging symbols found)
Core was generated by `wesnoth'.
Program terminated with signal 11, Segmentation fault.
Doesn't look all that usefull to me. But if it helps...

PS: Feel free to give me instructions on how to get you better information. :D
If you are a debian linux user, take a look at my program: http://deb-install.sourceforge.net/
Icekiss
Posts: 63
Joined: February 19th, 2004, 11:50 am

Post by Icekiss »

Just finished compiling again using './configure --with-kde' (yes, my machine isn't the fastest, so these things take a bit. :) ). Runs through without errors 8) . However, compiling with './configure --with-kde --enable-debug' aborted with:
i486-linux-gnu-g++ -I ./sdl_ttf -I../intl -I../intl -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DWESNOTH_PATH=\"/usr/share/wesnoth\" -DLOCALEDIR=\"translations\" -DHAS_RELATIVE_LOCALEDIR=1 -DFIFODIR=\"/usr/var/run/wesnothd\" -DHAVE_PYTHON -I/usr/include/python2.4 -O0 -DDEBUG -ggdb3 -W -Wall -ansi -D_X11 -Wl,-z,defs -o wesnoth about.o actions.o ai.o ai_dfool.o ai_attack.o ai_move.o ai_python.o animated_game.o astarnode.o astarsearch.o attack_prediction.o builder.o cavegen.o clipboard.o color_range.o config_adapter.o construct_dialog.o cursor.o dialogs.o display.o events.o filechooser.o floating_textbox.o font.o game.o game_display.o game_events.o game_preferences.o game_preferences_display.o gamestatus.o generate_report.o generic_event.o halo.o help.o hotkeys.o image.o intro.o key.o language.o leader_list.o loadscreen.o map_create.o map_label.o mapgen.o mapgen_dialog.o marked-up_text.o menu_events.o minimap.o mouse_events.o multiplayer.o multiplayer_ui.o multiplayer_wait.o multiplayer_connect.o multiplayer_create.o multiplayer_lobby.o network.o network_worker.o pathfind.o playcampaign.o play_controller.o playmp_controller.o playsingle_controller.o playturn.o preferences.o preferences_display.o publish_campaign.o replay.o replay_controller.o reports.o sdl_utils.o sha1.o settings.o show_dialog.o sound.o soundsource.o statistics.o team.o terrain_filter.o theme.o titlescreen.o tooltips.o unit.o unit_abilities.o unit_animation.o unit_display.o unit_frame.o unit_map.o unit_types.o upload_log.o variable.o video.o serialization/binary_or_text.o serialization/parser.o serialization/string_utils.o widgets/button.o widgets/file_menu.o widgets/combo.o widgets/label.o widgets/menu.o widgets/menu_style.o widgets/progressbar.o widgets/scrollarea.o widgets/scrollbar.o widgets/scrollpane.o widgets/slider.o widgets/textbox.o widgets/widget.o sdl_ttf/SDL_ttf.o -L. -lwesnoth-core -lSDL_image -lSDL_mixer -lSDL_net -L/usr/lib -lSDL -L/usr/lib -lpython2.4 -lfreetype -lz -lX11
:collect2: ld returned 1 exit status
make[3]: *** [wesnoth] Fehler 1
Am I using configure incorrectly?
No idea whether this has any bearing on the bug, so unless you need the debug symbols, feel free to ignore it. :)
If you are a debian linux user, take a look at my program: http://deb-install.sourceforge.net/
Icekiss
Posts: 63
Joined: February 19th, 2004, 11:50 am

Post by Icekiss »

Since I spotted the sticky "how to generate a backtrace", here is the end of a backtrace gotten with 'gdb wesnoth', and 'run'. (PS: As can already be seen from my first post, it doesn't crash every time, but so often that it is easy to catch (50% maybe))

gdb wesnoth
run
...
[New Thread -1260803184 (LWP 29726)]
[New Thread -1252414576 (LWP 29727)]
[Thread -1252414576 (LWP 29727) exited]
error general: Remote host disconnected.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1216698688 (LWP 29197)]
---Type <return> to continue, or q <return> to quit---
bt
#0 0xb79f3173 in ?? () from /lib/libc.so.6
#1 0xb79f2791 in ?? () from /lib/libc.so.6
#2 0x09afc548 in ?? ()
#3 0xbfffe3f0 in ?? ()
#4 0xbfffe408 in ?? ()
#5 0x083f9584 in ?? ()
#6 0xb79f50a0 in malloc () from /lib/libc.so.6
#7 0xb7bba787 in operator new () from /usr/lib/libstdc++.so.6
#8 0xb7b94c41 in std::string::_Rep::_S_create () from /usr/lib/libstdc++.so.6
#9 0xb7b95928 in std::string::_Rep::_M_clone () from /usr/lib/libstdc++.so.6
#10 0xb7b96538 in std::string::reserve () from /usr/lib/libstdc++.so.6
#11 0xb7b969ca in std::string::append () from /usr/lib/libstdc++.so.6
#12 0x08219839 in ?? ()
#13 0x080ee5a4 in ?? ()
#14 0x08300422 in ?? ()
#15 0x081383a2 in ?? ()
#16 0x0813a87b in ?? ()
#17 0x0813f2ed in ?? ()
#18 0xb799f050 in __libc_start_main () from /lib/libc.so.6
#19 0x0804f091 in ?? ()
If you are a debian linux user, take a look at my program: http://deb-install.sourceforge.net/
Icekiss
Posts: 63
Joined: February 19th, 2004, 11:50 am

Post by Icekiss »

Can still easily crash 1.3.11 in this way.
In contrast to 1.3.10, I was able to compile it using 'configure --enable-debug'. However, gdb still says it can't find the debugging symbols, and stays uninformative. :(
Guess I will have to try out the official debian package once its available, if I really want to know...
If you are a debian linux user, take a look at my program: http://deb-install.sourceforge.net/
Post Reply