bugBattle for Wesnoth - Bugs: bug #21785, GUI2 assertion failure in grid.cpp

 
 
Show feedback again

bug #21785: GUI2 assertion failure in grid.cpp

Submitted by:  Eli Dupree <elvish_pillager>
Submitted on:  Wed 12 Mar 2014 07:22:04 AM UTC  
 
Category: BugSeverity: 3 - Normal
Priority: 5 - NormalItem Group: WML
Status: Ready For TestPrivacy: Public
Assigned to: Mark de Wever <mordante>Open/Closed: Open
Release: 1.13.0-devOperating System: Debian Linux

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Mon 09 Jun 2014 01:24:14 PM UTC, comment #2:

The commit in master is 7efb1ba73b7c639246cb8ba2b84ddab88f49454f

Mark de Wever <mordante>
Project MemberIn charge of this item.
Mon 09 Jun 2014 08:41:55 AM UTC, comment #1:

The issue is probably fixed with f5942668cecb in 1.12, master will follow later.

Mark de Wever <mordante>
Project MemberIn charge of this item.
Wed 12 Mar 2014 07:22:04 AM UTC, original submission:

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

Eli Dupree <elvish_pillager>

 

(Note: upload size limit is set to 1024 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by mordante (Posted a comment)
  • -unavailable- added by fendrin (Updated the item)
  • -unavailable- added by elvish_pillager (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon 09 Jun 2014 08:41:55 AM UTCmordanteStatusNone=>Ready For Test
    Fri 06 Jun 2014 06:31:27 PM UTCfendrinAssigned toNone=>mordante
    Wed 12 Mar 2014 07:22:04 AM UTCelvish_pillagerAttached File-=>Added 2p_—_Silverhead_Crossing_Turn_5.gz, #20307
    Show feedback again

    Back to the top


    Powered by Savane 3.1-cleanup