URL:
<http://gna.org/bugs/?21785>
Summary: GUI2 assertion failure in grid.cpp
Project: Battle for Wesnoth
Submitted by: elvish_pillager
Submitted on: Wed 12 Mar 2014 07:22:04 AM UTC
Category: Bug
Severity: 3 - Normal
Priority: 5 - Normal
Item Group: WML
Status: None
Privacy: Public
Assigned to: None
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Release: 1.13.0-dev
Operating System: Debian Linux
_______________________________________________________
Details:
Load the attached savefile, right-click any hex and pick "EoHS dialog". It
should fail the assertion right next to the comment "// This shouldn't be
possible..."
Possibly related to https://gna.org/bugs/?func=detailitem&item_id=18002 ?
wesnoth: /n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:529: virtual
void gui2::tgrid::place(const gui2::tpoint&, const gui2::tpoint&): Assertion
`false' failed.
Program received signal SIGABRT, Aborted.
0x00007ffff3a011d5 in __GI_raise (sig=sig@entry=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007ffff3a011d5 in __GI_raise (sig=sig@entry=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007ffff3a04388 in __GI_abort () at abort.c:90
#2 0x00007ffff39fa252 in __assert_fail_base (fmt=0x7ffff3b38080 "%s%s%s:%u:
%s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x1c96264 "false",
file=file@entry=0x1c95f00
"/n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp", line=line@entry=529,
function=function@entry=0x1c967a0 <gui2::tgrid::place(gui2::tpoint const&,
gui2::tpoint const&)::__PRETTY_FUNCTION__> "virtual void
gui2::tgrid::place(const gui2::tpoint&, const gui2::tpoint&)")
at assert.c:92
#3 0x00007ffff39fa302 in __GI___assert_fail (assertion=0x1c96264 "false",
file=0x1c95f00 "/n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp",
line=529,
function=0x1c967a0 <gui2::tgrid::place(gui2::tpoint const&, gui2::tpoint
const&)::__PRETTY_FUNCTION__> "virtual void gui2::tgrid::place(const
gui2::tpoint&, const gui2::tpoint&)") at assert.c:101
#4 0x000000000121489a in gui2::tgrid::place (this=0xb3238e8, origin=...,
size=...) at /n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:529
#5 0x000000000116c7d8 in gui2::tcontainer_::place (this=0xb323670,
origin=..., size=...) at
/n/wesnoth-not-actually-old/src/gui/widgets/container.cpp:83
#6 0x0000000001241744 in gui2::tscrollbar_container::place (this=0xb323670,
origin=..., size=...) at
/n/wesnoth-not-actually-old/src/gui/widgets/scrollbar_container.cpp:359
#7 0x0000000001218393 in gui2::tgrid::tchild::place (this=0xe68c770,
origin=..., size=...) at
/n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:838
#8 0x0000000001218ded in gui2::tgrid::layout (this=0xe68cb00, origin=...) at
/n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:888
#9 0x0000000001213c6b in gui2::tgrid::place (this=0xe68cb00, origin=...,
size=...) at /n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:461
#10 0x0000000001216c1d in gui2::tgrid::tchild::place (this=0xe68c7d0,
origin=..., size=...) at
/n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:745
#11 0x0000000001218ded in gui2::tgrid::layout (this=0xe68c8c0, origin=...) at
/n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:888
#12 0x0000000001213c6b in gui2::tgrid::place (this=0xe68c8c0, origin=...,
size=...) at /n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:461
#13 0x0000000001216c1d in gui2::tgrid::tchild::place (this=0xc841420,
origin=..., size=...) at
/n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:745
#14 0x0000000001218ded in gui2::tgrid::layout (this=0xe68bfa0, origin=...) at
/n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:888
#15 0x0000000001213c6b in gui2::tgrid::place (this=0xe68bfa0, origin=...,
size=...) at /n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:461
#16 0x0000000001216c1d in gui2::tgrid::tchild::place (this=0x9c402a0,
origin=..., size=...) at
/n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:745
#17 0x0000000001218ded in gui2::tgrid::layout (this=0x9c40040, origin=...) at
/n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:888
#18 0x0000000001213c6b in gui2::tgrid::place (this=0x9c40040, origin=...,
size=...) at /n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:461
#19 0x0000000001216c1d in gui2::tgrid::tchild::place (this=0xcebee90,
origin=..., size=...) at
/n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:745
#20 0x0000000001218ded in gui2::tgrid::layout (this=0xbe409b0, origin=...) at
/n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:888
#21 0x0000000001213c6b in gui2::tgrid::place (this=0xbe409b0, origin=...,
size=...) at /n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:461
#22 0x000000000124501f in gui2::tscrollbar_container::set_content_size
(this=0x8596750, origin=..., size=...) at
/n/wesnoth-not-actually-old/src/gui/widgets/scrollbar_container.cpp:802
#23 0x0000000001241848 in gui2::tscrollbar_container::place (this=0x8596750,
origin=..., size=...) at
/n/wesnoth-not-actually-old/src/gui/widgets/scrollbar_container.cpp:372
#24 0x0000000001216c1d in gui2::tgrid::tchild::place (this=0xa478250,
origin=..., size=...) at
/n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:745
#25 0x0000000001218ded in gui2::tgrid::layout (this=0x8596388, origin=...) at
/n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:888
#26 0x0000000001213c6b in gui2::tgrid::place (this=0x8596388, origin=...,
size=...) at /n/wesnoth-not-actually-old/src/gui/widgets/grid.cpp:461
#27 0x000000000116c7d8 in gui2::tcontainer_::place (this=0x8596110,
origin=..., size=...) at
/n/wesnoth-not-actually-old/src/gui/widgets/container.cpp:83
#28 0x0000000001282f71 in gui2::twindow::layout (this=0x8596110) at
/n/wesnoth-not-actually-old/src/gui/widgets/window.cpp:1177
#29 0x0000000001280dea in gui2::twindow::draw (this=0x8596110) at
/n/wesnoth-not-actually-old/src/gui/widgets/window.cpp:722
#30 0x000000000128ee41 in boost::_mfi::mf0<void, gui2::twindow>::operator()
(this=0x7ffffffedd28, p=0x8596110) at
/usr/include/boost/bind/mem_fn_template.hpp:49
#31 0x000000000128df06 in boost::_bi::list1<boost::_bi::value<gui2::twindow*>
>::operator()<boost::_mfi::mf0<void, gui2::twindow>,
boost::_bi::list4<gui2::event::tdispatcher&, gui2::event::tevent&, bool&,
bool&> > (this=0x7ffffffedd38, f=..., a=...) at
/usr/include/boost/bind/bind.hpp:253
#32 0x000000000128d0dc in boost::_bi::bind_t<void, boost::_mfi::mf0<void,
gui2::twindow>, boost::_bi::list1<boost::_bi::value<gui2::twindow*> >
>::operator()<gui2::event::tdispatcher, gui2::event::tevent, bool, bool>
(this=0x7ffffffedd28, a1=..., a2=@0x7ffffffedb9c: gui2::event::DRAW,
a3=@0x7ffffffedcdf: false, a4=@0x7ffffffedcde: false) at
/usr/include/boost/bind/bind_template.hpp:145
#33 0x000000000128be07 in
boost::detail::function::void_function_obj_invoker4<boost::_bi::bind_t<void,
boost::_mfi::mf0<void, gui2::twindow>,
boost::_bi::list1<boost::_bi::value<gui2::twindow*> > >, void,
gui2::event::tdispatcher&, gui2::event::tevent, bool&, bool&>::invoke
(function_obj_ptr=..., a0=..., a1=gui2::event::DRAW, a2=@0x7ffffffedcdf:
false, a3=@0x7ffffffedcde: false)
at /usr/include/boost/function/function_template.hpp:153
#34 0x000000000113443f in boost::function4<void, gui2::event::tdispatcher&,
gui2::event::tevent, bool&, bool&>::operator() (this=0x7ffffffedd20, a0=...,
a1=gui2::event::DRAW, a2=@0x7ffffffedcdf: false,
a3=@0x7ffffffedcde: false) at
/usr/include/boost/function/function_template.hpp:767
#35 0x0000000001133b3b in
gui2::event::ttrigger::operator()(boost::function<void
(gui2::event::tdispatcher&, gui2::event::tevent, bool&, bool&)>,
gui2::event::tdispatcher&, gui2::event::tevent, bool&, bool&)
(this=0x7ffffffeddc0, functor=..., dispatcher=..., event=gui2::event::DRAW,
handled=@0x7ffffffedcdf: false, halt=@0x7ffffffedcde: false)
at /n/wesnoth-not-actually-old/src/gui/auxiliary/event/dispatcher.cpp:140
---Type <return> to continue, or q <return> to quit---
#36 0x00000000011367dd in
gui2::event::implementation::fire_event<boost::function<void
(gui2::event::tdispatcher&, gui2::event::tevent, bool&, bool&)>,
gui2::event::ttrigger>(gui2::event::tevent,
std::vector<std::pair<gui2::twidget*, gui2::event::tevent>,
std::allocator<std::pair<gui2::twidget*, gui2::event::tevent> > >&,
gui2::twidget*, gui2::twidget*, gui2::event::ttrigger)
(event=gui2::event::DRAW,
event_chain=..., dispatcher=0x8596110, widget=0x8596110, functor=...) at
/n/wesnoth-not-actually-old/src/gui/auxiliary/event/dispatcher_private.hpp:447
#37 0x0000000001134ac8 in gui2::event::fire_event<boost::function<void
(gui2::event::tdispatcher&, gui2::event::tevent, bool&, bool&)>,
gui2::event::ttrigger>(gui2::event::tevent, gui2::twidget*, gui2::twidget*,
gui2::event::ttrigger) (event=gui2::event::DRAW, dispatcher=0x8596110,
widget=0x8596110, functor=...) at
/n/wesnoth-not-actually-old/src/gui/auxiliary/event/dispatcher_private.hpp:527
#38 0x00000000011332b5 in gui2::event::tdispatcher::fire (this=0x8596120,
event=gui2::event::DRAW, target=...) at
/n/wesnoth-not-actually-old/src/gui/auxiliary/event/dispatcher.cpp:174
#39 0x000000000115d34c in gui2::event::thandler::draw (this=0x27ddb90,
force=false) at
/n/wesnoth-not-actually-old/src/gui/auxiliary/event/handler.cpp:508
#40 0x000000000115c805 in gui2::event::thandler::handle_event (this=0x27ddb90,
event=...) at
/n/wesnoth-not-actually-old/src/gui/auxiliary/event/handler.cpp:334
#41 0x0000000001b2a29d in events::pump () at
/n/wesnoth-not-actually-old/src/events.cpp:430
#42 0x00000000012809a4 in gui2::twindow::show (this=0x8596110, restore=true,
auto_close_timeout=0) at
/n/wesnoth-not-actually-old/src/gui/widgets/window.cpp:645
#43 0x00000000018fa4bf in intf_show_dialog (L=0xc401770) at
/n/wesnoth-not-actually-old/src/scripting/lua.cpp:2809
#44 0x0000000001ab90e7 in luaD_precall (L=0xc401770, func=0xe0121c0,
nresults=1) at /n/wesnoth-not-actually-old/src/lua/ldo.cpp:333
#45 0x0000000001ac96aa in luaV_execute (L=0xc401770) at
/n/wesnoth-not-actually-old/src/lua/lvm.cpp:701
#46 0x0000000001ab9529 in luaD_call (L=0xc401770, func=0xe011f10, nResults=1,
allowyield=0) at /n/wesnoth-not-actually-old/src/lua/ldo.cpp:409
#47 0x0000000001ab61fa in f_call (L=0xc401770, ud=0x7ffffffee9c0) at
/n/wesnoth-not-actually-old/src/lua/lapi.cpp:914
#48 0x0000000001ab86c2 in luaD_rawrunprotected (L=0xc401770, f=0x1ab61c3
<f_call(lua_State*, void*)>, ud=0x7ffffffee9c0) at
/n/wesnoth-not-actually-old/src/lua/ldo.cpp:147
#49 0x0000000001ab9cb3 in luaD_pcall (L=0xc401770, func=0x1ab61c3
<f_call(lua_State*, void*)>, u=0x7ffffffee9c0, old_top=528, ef=512) at
/n/wesnoth-not-actually-old/src/lua/ldo.cpp:607
#50 0x0000000001ab62c5 in lua_pcallk (L=0xc401770, nargs=0, nresults=1,
errfunc=-2, ctx=0, k=0x0) at /n/wesnoth-not-actually-old/src/lua/lapi.cpp:940
#51 0x0000000001909aeb in luaW_pcall (L=0xc401770, nArgs=0, nRets=1,
allow_wml_error=false) at
/n/wesnoth-not-actually-old/src/scripting/lua_api.cpp:318
#52 0x00000000018f9b6c in (anonymous namespace)::lua_synchronize::query_user
(this=0x7ffffffeecc0) at
/n/wesnoth-not-actually-old/src/scripting/lua.cpp:2655
#53 0x00000000018d721b in mp_sync::get_user_choice (name=..., uch=..., side=1,
force_sp=false) at /n/wesnoth-not-actually-old/src/replay.cpp:1439
#54 0x00000000018f9d36 in intf_synchronize_choice (L=0xc401770) at
/n/wesnoth-not-actually-old/src/scripting/lua.cpp:2678
#55 0x0000000001ab90e7 in luaD_precall (L=0xc401770, func=0xe011ef0,
nresults=1) at /n/wesnoth-not-actually-old/src/lua/ldo.cpp:333
#56 0x0000000001ac96aa in luaV_execute (L=0xc401770) at
/n/wesnoth-not-actually-old/src/lua/lvm.cpp:701
#57 0x0000000001ab9529 in luaD_call (L=0xc401770, func=0xe011d20, nResults=0,
allowyield=0) at /n/wesnoth-not-actually-old/src/lua/ldo.cpp:409
#58 0x0000000001ab61fa in f_call (L=0xc401770, ud=0x7ffffffef290) at
/n/wesnoth-not-actually-old/src/lua/lapi.cpp:914
#59 0x0000000001ab86c2 in luaD_rawrunprotected (L=0xc401770, f=0x1ab61c3
<f_call(lua_State*, void*)>, ud=0x7ffffffef290) at
/n/wesnoth-not-actually-old/src/lua/ldo.cpp:147
#60 0x0000000001ab9cb3 in luaD_pcall (L=0xc401770, func=0x1ab61c3
<f_call(lua_State*, void*)>, u=0x7ffffffef290, old_top=32, ef=16) at
/n/wesnoth-not-actually-old/src/lua/ldo.cpp:607
#61 0x0000000001ab62c5 in lua_pcallk (L=0xc401770, nargs=1, nresults=0,
errfunc=-3, ctx=0, k=0x0) at /n/wesnoth-not-actually-old/src/lua/lapi.cpp:940
#62 0x0000000001909aeb in luaW_pcall (L=0xc401770, nArgs=1, nRets=0,
allow_wml_error=true) at
/n/wesnoth-not-actually-old/src/scripting/lua_api.cpp:318
#63 0x0000000001900fa8 in LuaKernel::run_wml_action (this=0xaa04fe0, cmd=...,
cfg=..., ev=...) at /n/wesnoth-not-actually-old/src/scripting/lua.cpp:4122
#64 0x0000000001669673 in game_events::handle_event_commands (event_info=...,
cfg=...) at /n/wesnoth-not-actually-old/src/game_events/pump.cpp:428
#65 0x000000000165b7d7 in game_events::event_handler::handle_event
(this=0x8949ed0, event_info=..., handler_p=...) at
/n/wesnoth-not-actually-old/src/game_events/handlers.cpp:479
#66 0x0000000001668a26 in game_events::(anonymous namespace)::process_event
(handler_p=..., ev=...) at
/n/wesnoth-not-actually-old/src/game_events/pump.cpp:267
#67 0x000000000166a1ad in game_events::pump () at
/n/wesnoth-not-actually-old/src/game_events/pump.cpp:533
#68 0x00000000016698b6 in game_events::fire (event=..., loc1=..., loc2=...,
data=...) at /n/wesnoth-not-actually-old/src/game_events/pump.cpp:454
#69 0x0000000001664997 in game_events::wml_menu_item::fire_event
(this=0x8949bc0, event_hex=...) at
/n/wesnoth-not-actually-old/src/game_events/menu_item.cpp:205
#70 0x00000000018a851a in play_controller::execute_command
(this=0x7fffffff14e0, cmd=..., index=0) at
/n/wesnoth-not-actually-old/src/play_controller.cpp:839
#71 0x0000000001b50b44 in hotkey::execute_command (disp=..., command=...,
executor=0x7fffffff14e0, index=0) at
/n/wesnoth-not-actually-old/src/hotkey/command_executor.cpp:581
#72 0x0000000001b4f867 in hotkey::command_executor::show_menu
(this=0x7fffffff14e0, items_arg=..., xloc=515, yloc=249, gui=...) at
/n/wesnoth-not-actually-old/src/hotkey/command_executor.cpp:348
#73 0x00000000018aade0 in play_controller::show_menu (this=0x7fffffff14e0,
items_arg=..., xloc=515, yloc=249, context_menu=true, disp=...) at
/n/wesnoth-not-actually-old/src/play_controller.cpp:1259
#74 0x00000000015490f1 in controller_base::handle_event (this=0x7fffffff14e0,
event=...) at /n/wesnoth-not-actually-old/src/controller_base.cpp:95
#75 0x0000000001b2a29d in events::pump () at
/n/wesnoth-not-actually-old/src/events.cpp:430
#76 0x0000000001549b4d in controller_base::play_slice (this=0x7fffffff14e0,
is_delay_enabled=true) at
/n/wesnoth-not-actually-old/src/controller_base.cpp:209
#77 0x00000000018bb431 in playmp_controller::play_human_turn
(this=0x7fffffff14e0) at
/n/wesnoth-not-actually-old/src/playmp_controller.cpp:212
#78 0x00000000018c1ae0 in playsingle_controller::play_side
(this=0x7fffffff14e0, side_number=1, save=true) at
/n/wesnoth-not-actually-old/src/playsingle_controller.cpp:659
#79 0x00000000018badcc in playmp_controller::play_side (this=0x7fffffff14e0,
side_number=1, save=true) at
/n/wesnoth-not-actually-old/src/playmp_controller.cpp:104
---Type <return> to continue, or q <return> to quit---
#80 0x00000000018c1679 in playsingle_controller::play_turn
(this=0x7fffffff14e0, save=true) at
/n/wesnoth-not-actually-old/src/playsingle_controller.cpp:604
#81 0x00000000018bfe87 in playsingle_controller::play_scenario
(this=0x7fffffff14e0, story=..., skip_replay=false) at
/n/wesnoth-not-actually-old/src/playsingle_controller.cpp:412
#82 0x00000000018b5248 in playmp_scenario (game_config=...,
level=0x7fffffff1ee0, disp=..., state_of_game=..., story=...,
skip_replay=false, blindfold_replay=false, io_type=@0x7fffffff1ec4: IO_SERVER,
end_level=...) at /n/wesnoth-not-actually-old/src/playcampaign.cpp:319
#83 0x00000000018b6d7c in play_game (disp=..., gamestate=..., game_config=...,
io_type=IO_SERVER, skip_replay=false, network_game=false,
blindfold_replay=false)
at /n/wesnoth-not-actually-old/src/playcampaign.cpp:497
#84 0x0000000001805682 in enter_connect_mode (disp=..., game_config=...,
state=..., params=..., local_players_only=true) at
/n/wesnoth-not-actually-old/src/multiplayer.cpp:507
#85 0x0000000001805eb3 in enter_configure_mode (disp=..., game_config=...,
state=..., params=..., local_players_only=true) at
/n/wesnoth-not-actually-old/src/multiplayer.cpp:601
#86 0x0000000001805b0d in enter_create_mode (disp=..., game_config=...,
state=..., local_players_only=true) at
/n/wesnoth-not-actually-old/src/multiplayer.cpp:561
#87 0x0000000001806fa2 in mp::start_local_game (disp=..., game_config=...,
state=...) at /n/wesnoth-not-actually-old/src/multiplayer.cpp:749
#88 0x0000000001616bde in game_controller::play_multiplayer (this=0x26654c0)
at /n/wesnoth-not-actually-old/src/game_controller.cpp:850
#89 0x000000000110c206 in do_gameloop (argc=2, argv=0x7fffffffe768) at
/n/wesnoth-not-actually-old/src/game.cpp:597
#90 0x000000000110c9c6 in main (argc=2, argv=0x7fffffffe768) at
/n/wesnoth-not-actually-old/src/game.cpp:695
_______________________________________________________
File Attachments:
-------------------------------------------------------
Date: Wed 12 Mar 2014 07:22:04 AM UTC Name:
2p_—_Silverhead_Crossing_Turn_5.gz Size: 500kB By: elvish_pillager
<http://gna.org/bugs/download.php?file_id=20307>
_______________________________________________________
Reply to this item at:
<http://gna.org/bugs/?21785>
_______________________________________________
Message sent via/by Gna!
http://gna.org/
_______________________________________________
Wesnoth-bugs mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-bugs