bugBattle for Wesnoth - Bugs: bug #18926, Game segfaults when trying to...

 
 
Show feedback again

bug #18926: Game segfaults when trying to switch tips after quitting a game.

Submitted by:  Thibault Févry <iwontbecreative>
Submitted on:  Sat 05 Nov 2011 07:03:51 PM UTC  
 
Category: BugSeverity: 3 - Normal
Priority: 5 - NormalItem Group: User Interface
Status: ConfirmedPrivacy: Public
Assigned to: Mark de Wever <mordante>Open/Closed: Open
Release: Trunk (r51865)Operating System: Linux

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

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

 

Sat 05 Nov 2011 07:45:27 PM UTC, comment #1:

And here's the error and backtrace:

Error:

Program received signal SIGSEGV, Segmentation fault.
0x00000000004f6354 in gui2::ttitle_screen::update_tip (this=0x7fffffffd8b0, window=..., previous=true) at src/gui/dialogs/title_screen.cpp:392
392 tmulti_page& tips = find_widget<tmulti_page>(&window, "tips", false);

Backtrace:

#0 0x00000000004f6354 in gui2::ttitle_screen::update_tip (this=0x7fffffffd8b0, window=..., previous=true) at src/gui/dialogs/title_screen.cpp:392
#1 0x00000000004fc8e2 in boost::_mfi::mf2<void, gui2::ttitle_screen, gui2::twindow&, bool>::operator() (this=0x7fffdc0b8400, p=0x7fffffffd8b0, a1=..., a2=true)
at /usr/include/boost/bind/mem_fn_template.hpp:280
#2 0x00000000004fb82c in boost::_bi::list3<boost::_bi::value<gui2::ttitle_screen*>, boost::reference_wrapper<gui2::twindow>, boost::_bi::value<bool> >::operator()<boost::_mfi::mf2<void, gui2::ttitle_screen, gui2::twindow&, bool>, boost::_bi::list0> (this=0x7fffdc0b8410, f=..., a=...) at /usr/include/boost/bind/bind.hpp:392
#3 0x00000000004fa62a in boost::_bi::bind_t<void, boost::_mfi::mf2<void, gui2::ttitle_screen, gui2::twindow&, bool>, boost::_bi::list3<boost::_bi::value<gui2::ttitle_screen*>, boost::reference_wrapper<gui2::twindow>, boost::_bi::value<bool> > >::operator() (this=0x7fffdc0b8400) at /usr/include/boost/bind/bind_template.hpp:20
#4 0x00000000004f94af in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf2<void, gui2::ttitle_screen, gui2::twindow&, bool>, boost::_bi::list3<boost::_bi::value<gui2::ttitle_screen*>, boost::reference_wrapper<gui2::twindow>, boost::_bi::value<bool> > >, void>::invoke (function_obj_ptr=...)
at /usr/include/boost/function/function_template.hpp:153
#5 0x00000000004f7780 in boost::function0<void>::operator() (this=0x16129c0) at /usr/include/boost/function/function_template.hpp:1013
#6 0x00000000004f6c2c in gui2::function_wrapper<bool, boost::function<void()> >(const bool, const boost::function<void()> &) (result=true, function=...) at src/gui/widgets/helper.hpp:214
#7 0x00000000004fb958 in boost::_bi::list2<boost::_bi::value<bool>, boost::reference_wrapper<const boost::function<void()> > >::operator()<bool, bool (*)(bool, const boost::function<void()>&), boost::_bi::list2<gui2::event::tdispatcher&, hotkey::HOTKEY_COMMAND&> >(boost::_bi::type<bool>, bool (*&)(bool, const boost::function<void()> &), boost::_bi::list2<gui2::event::tdispatcher&, hotkey::HOTKEY_COMMAND&> &, long) (this=0x7fffdf52a308, f=@0x7fffdf52a300, a=...) at /usr/include/boost/bind/bind.hpp:303
#8 0x00000000004fa733 in boost::_bi::bind_t<bool, bool (*)(bool, const boost::function<void()>&), boost::_bi::list2<boost::_bi::value<bool>, boost::reference_wrapper<const boost::function<void()> > > >::operator()<gui2::event::tdispatcher, hotkey::HOTKEY_COMMAND>(gui2::event::tdispatcher &, hotkey::HOTKEY_COMMAND &) (this=0x7fffdf52a300, a1=..., a2=@0x7fffffffcf5c)
at /usr/include/boost/bind/bind_template.hpp:61
#9 0x00000000004f95eb in boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, bool (*)(bool, const boost::function<void()>&), boost::_bi::list2<boost::_bi::value<bool>, boost::reference_wrapper<const boost::function<void()> > > >, bool, gui2::event::tdispatcher&, hotkey::HOTKEY_COMMAND>::invoke(boost::detail::function::function_buffer &, gui2::event::tdispatcher &, hotkey::HOTKEY_COMMAND) (function_obj_ptr=..., a0=..., a1=hotkey::TITLE_SCREEN__NEXT_TIP) at /usr/include/boost/function/function_template.hpp:132
#10 0x00000000008fee65 in boost::function2<bool, gui2::event::tdispatcher&, hotkey::HOTKEY_COMMAND>::operator() (this=0x7fffdf52a2f8, a0=..., a1=hotkey::TITLE_SCREEN__NEXT_TIP)
at /usr/include/boost/function/function_template.hpp:1013
#11 0x00000000008fd0e0 in gui2::event::tdispatcher::execute_hotkey (this=0x7fffd5648e90, id=hotkey::TITLE_SCREEN__NEXT_TIP) at src/gui/auxiliary/event/dispatcher.cpp:333
#12 0x00000000004dc64c in gui2::event::thandler::hotkey_pressed (this=0x7fffdc094c70, key=...) at src/gui/auxiliary/event/handler.cpp:669
#13 0x00000000004dc5c5 in gui2::event::thandler::key_down (this=0x7fffdc094c70, event=...) at src/gui/auxiliary/event/handler.cpp:654
#14 0x00000000004db302 in gui2::event::thandler::handle_event (this=0x7fffdc094c70, event=...) at src/gui/auxiliary/event/handler.cpp:365
#15 0x0000000000caaf06 in events::pump () at src/events.cpp:380
#16 0x0000000000558c54 in gui2::twindow::show (this=0x7fffd56489c0, restore=false, auto_close_timeout=0) at src/gui/widgets/window.cpp:619
#17 0x00000000004ea875 in gui2::tdialog::show (this=0x7fffffffd8b0, video=..., auto_close_time=0) at src/gui/dialogs/dialog.cpp:51
#18 0x0000000000424250 in do_gameloop (argc=1, argv=0x7fffffffdc28) at src/game.cpp:507
#19 0x0000000000424b93 in main (argc=1, argv=0x7fffffffdc28) at src/game.cpp:627

Steven Panek <espreon>
Project Member
Sat 05 Nov 2011 07:03:51 PM UTC, original submission:

[marking as confirmed since it was confirmed on irc that the bug was reproducible on suse]
[marked as a Ui bug because it seems to be gui2 related]

Steps to reproduce the bug:

- Open wesnoth
- Open tutorial
- Quit tutorial
- Press left arrow

Game should segfault.

It seems to work with other menus, I tried after closing the multiplayer logging screen and got a different message, but I think it's still the same issue:

WML exception:
User message: Mandatory widget 'tips' hasn't been defined.
Dev message: Condition '!must_exist || result' failed at src/gui/widgets/widget.hpp:737 in function 'find_widget'.

Thibault Févry <iwontbecreative>
Project Member

 

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

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by mordante (Updated the item)
  • -unavailable- added by espreon (Posted a comment)
  • -unavailable- added by iwontbecreative (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):

     

     

    Follows 1 latest change.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun 06 Nov 2011 10:17:36 AM UTCmordanteAssigned toNone=>mordante
    Show feedback again

    Back to the top


    Powered by Savane 3.1-cleanup