URL:
<http://gna.org/bugs/?12894>
Summary: [recall] causes crash
Project: Battle for Wesnoth
Submitted by: opensourcejunkie
Submitted on: Friday 01/23/2009 at 04:12
Category: Bug
Severity: 4 - Important
Priority: 5 - Normal
Item Group: WML
Status: None
Privacy: Public
Assigned to: None
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Release: 1.5.7
Operating System: Kubuntu Linux
_______________________________________________________
Details:
Wesnoth v1.5.7 crashes when the [recall] tag is used to recall a unit that
already exists. Rather than crash the game, I imagine that an error message
should be printed to the screen (it would have saved me 3 hours of debugging,
anyway :-/)
Attached is the core file; I took the liberty of extracting the stack trace
for you:
#0 0xb7fe2410 in __kernel_vsyscall ()
#1 0xb7875085 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7876a01 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0xb786e10e in __assert_fail () from /lib/tls/i686/cmov/libc.so.6
#4 0x0827e28d in unit_map::add ()
#5 0x083b546a in recruit_unit ()
#6 0x080cf039 in (anonymous namespace)::wml_func_recall ()
#7 0x080bce05 in game_events::command_handlers::call_handler ()
#8 0x080bcf14 in game_events::event_handler::handle_event_command ()
#9 0x080c3294 in game_events::event_handler::handle_event ()
#10 0x080c3e90 in process_event ()
#11 0x080d6103 in game_events::pump ()
#12 0x080d6564 in game_events::fire ()
#13 0x084b0f7b in play_controller::fire_prestart ()
#14 0x081bb445 in playsingle_controller::play_scenario ()
#15 0x081a9a06 in play_game ()
#16 0x0805c14a in (anonymous namespace)::game_controller::launch_game ()
#17 0x08069a1e in do_gameloop ()
#18 0x0806a880 in main ()
The following is the error that the command line gave me upon crashing:
20090119 10:40:36 error engine: Trying to add Derril - Derril - 4 (7,26)
over Derril - Derril - 4 (7,27)
wesnoth: src/unit_map.cpp:498: void unit_map::add(std::pair<map_location,
unit>*): Assertion `false && "Duplicated underlying_id not allowed"' failed.
Aborted (core dumped)
To reproduce the bug, you should be able to do the following:
1) Create a unit, giving it a specific id.
2) Create a second unit on the recall list, giving it the same id.
3) Recall the second unit using a [recall] tag and id= key.
If that doesn't work, contact me. I have a copy of my campaign (Sceptre of
Life) with the bug intact, zipped and ready to email. Unfortunately, the
campaign is too big to upload here or on the forum, so I'll have to email it
to anyone who wants it.
My copy of wesnoth 1.5.7 was downloaded from sourceforge, and compiled with
gcc version 4.2.3. Happy hunting, and thanks for volunteering your time to
create/fix this wonderful game :-).
--OSJ
P.S. I couldn't attach the core file, so email me if you need that as well.
_______________________________________________________
Reply to this item at:
<http://gna.org/bugs/?12894>
_______________________________________________
Message sent via/by Gna!
http://gna.org/
_______________________________________________
Wesnoth-bugs mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-bugs