segfault joining game

Bug #1794339 reported by Simon
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
widelands
Fix Released
Critical
Unassigned

Bug Description

Hi I have segfaults when joining a game..

This is Widelands Version bzr8846[trunk] (Debug)
Set home directory: /home/neuron/.widelands
Widelands executable directory: /home/neuron/system/spiele/wl/widelands/
Adding directory: /home/neuron/system/spiele/wl/widelands/data
selected language: (system language)
using locale de_DE.utf8
Graphics: Try to set Videomode 1440x900
Graphics: OpenGL: Version "3.1 Mesa 18.1.6"
Graphics: SDL_GL_RED_SIZE is 8
Graphics: SDL_GL_GREEN_SIZE is 8
Graphics: SDL_GL_BLUE_SIZE is 8
Graphics: SDL_GL_ALPHA_SIZE is 0
Graphics: SDL_GL_BUFFER_SIZE is 24
Graphics: SDL_GL_DOUBLEBUFFER is 1
Graphics: SDL_GL_DEPTH_SIZE is 24
Graphics: SDL_GL_STENCIL_SIZE is 0
Graphics: SDL_GL_ACCUM_RED_SIZE is 0
Graphics: SDL_GL_ACCUM_GREEN_SIZE is 0
Graphics: SDL_GL_ACCUM_BLUE_SIZE is 0
Graphics: SDL_GL_ACCUM_ALPHA_SIZE is 0
Graphics: SDL_GL_STEREO is 0
Graphics: SDL_GL_MULTISAMPLEBUFFERS is 0
Graphics: SDL_GL_MULTISAMPLESAMPLES is 0
Graphics: SDL_GL_ACCELERATED_VISUAL is 1
Graphics: SDL_GL_CONTEXT_MAJOR_VERSION is 2
Graphics: SDL_GL_CONTEXT_MINOR_VERSION is 1
Graphics: SDL_GL_CONTEXT_FLAGS is 0
Graphics: SDL_GL_CONTEXT_PROFILE_MASK is 2
Graphics: SDL_GL_SHARE_WITH_CURRENT_CONTEXT is 0
Graphics: SDL_GL_FRAMEBUFFER_SRGB_CAPABLE is 0
Graphics: OpenGL: Double buffering enabled
Graphics: OpenGL: Max texture size: 16384
Graphics: OpenGL: ShadingLanguage: "1.40"
**** GRAPHICS REPORT ****
 VIDEO DRIVER x11
 pixel fmt 370546692
 size 1440 900
**** END GRAPHICS REPORT ****
Style Manager: Loading templates/default/init.lua ... took 21ms
Style Manager: Reading button styles ... took 37ms
Style Manager: Reading slider styles ... took 0ms
Style Manager: Reading tabpanel styles ... took 0ms
Style Manager: Reading editbox styles ... took 0ms
Style Manager: Reading dropdown styles ... took 1ms
Style Manager: Reading scrollbar styles ... took 0ms
Style Manager: Reading style templates took 59ms
**** SOUND REPORT ****
SDL version: 2.0.8
SDL_mixer version: 2.0.1
**** END SOUND REPORT ****
[] Section [global], key 'show_splashscreen' not used (did you spell the name correctly?)
SoundHandler: loaded song "music/menu_00.ogg"
InternetGaming: Connecting to the metaserver.
[NetClient]: Trying to connect to 2a01:238:4326:5100:b5ce:5c0b:f1f4:2e40:7395 ... success.
InternetGaming: Sending login request.
InternetGaming: Client [SNM]Magician logged in.
InternetGaming: Server time offset is -7301 second(s).
InternetGaming: Client update on metaserver.
InternetGaming: Received a client list update with 15 items.
InternetGaming: Received a game list update with 1 items.
InternetGaming: Received a client list update with 15 items.
SoundHandler: loaded song "music/menu_00.ogg"
InternetGaming: Client tries to join a game with the name unbenannt
InternetGaming: Received ips of the game to join: 2a01:238:4326:5100:b5ce:5c0b:f1f4:2e40 85.214.243.231.
InternetGaming: Client update on metaserver.
[NetRelayConnection] Trying to connect to 2a01:238:4326:5100:b5ce:5c0b:f1f4:2e40:7397 ... success.
[Client] SETTING_MAP 'Dolomites' 'maps/Dolomites_v2.wmf'
[Client] Pong!
[Client] Pong!
[Client] Pong!
[Client] Pong!
[Client] Pong!
[Client] Pong!
SoundHandler: loaded song "music/menu_00.ogg"
[Client] Pong!
[Client] Pong!
[Client] Pong!
[Client] Pong!
[Client] Pong!
[Client] Pong!
SoundHandler: loaded song "music/menu_00.ogg"
[Client] Pong!
[Client] Pong!
[Client] Pong!
InternetGaming: Game update on metaserver.
┏━ Running Lua for world:
┃ Resources: 18ms
┃ Terrains: 41ms
┃ Immovables: 1914ms
┃ Critters: 2070ms
┗━ took: 4043ms
Loading the world took 4108ms
┏━ Running Lua for tribes:
┃ Ships: 188ms
┃ Wares: 232ms
┃ Immovables: 624ms
┃ Workers: 4365ms
┃ Warehouses: 1080ms
found "on ": parameters = "failure fail"
read handling method for result 1: 0, parameters = "", reached_end = 1
found "on ": parameters = "failure fail"
read handling method for result 1: 0, parameters = "", reached_end = 1
found "on ": parameters = "failure fail"
read handling method for result 1: 0, parameters = "", reached_end = 1
found "on ": parameters = "failure fail"
read handling method for result 1: 0, parameters = "", reached_end = 1
┃ Productionsites: 3998ms
┃ Trainingsites: 246ms
┃ Militarysites: 415ms
┃ Partially finished buildings: 7ms
┃ Tribe infos: 174ms
┗━ took: 11330ms
Loading the tribes took 11350ms
Reading Elemental Data ... took 7ms
 Reading Player Names And Tribe Data ... took 43ms
 Reading Port Spaces Data ... took 10ms
 Reading Heights Data ... took 36ms
 Reading Terrain Data ... took 84ms
 Reading Map Objects ... took 5708ms
 Reading Player Start Position Data ... took 16ms
 Reading Resources Data ... took 54ms
 Reading Map Version Data ... took 1ms
 Reading Allowed Worker Types Data ... took 0ms
 Reading Allowed Building Types Data ... took 0ms
 Reading Node Ownership Data ... took 0ms
 Reading Exploration Data ... took 0ms
 Reading Flag Data ... took 0ms
 Reading Road Data ... took 0ms
 Reading Building Data ... took 0ms
 Reading Flagdata Data ... took 0ms
 Reading Roaddata Data ... took 0ms
 Reading Buildingdata Data ... took 0ms
 Second and third phase loading Map Objects ... took 128ms
 Reading Players View Data ... took 0ms
 Reading Player Message Data ... took 50ms
 Reading Objective Data ... took 0ms
 Reading Scripting Data ... took 0ms
 Reading map images ... took 0ms
 WidelandsMapLoader::load_map_complete() for 'Dolomites' took 7061ms
FATAL ERROR - game crashed. Attempting emergency save.
[Client]: disconnect(CLIENT_CRASHED, )
[NetRelayConnection] Closing network socket connected to 2a01:238:4326:5100:b5ce:5c0b:f1f4:2e40:7397.
ASAN:DEADLYSIGNAL
=================================================================
==8953==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000078 (pc 0x55ed82163c91 bp 0x7fffbfd18b60 sp 0x7fffbfd18b50 T0)
==8953==The signal is caused by a READ memory access.
==8953==Hint: address points to the zero page.
    #0 0x55ed82163c90 in UI::Panel::get_inner_h() const ../src/ui_basic/panel.cc:390
    #1 0x55ed821bc926 in UI::Window::center_to_parent() ../src/ui_basic/window.cc:230
    #2 0x55ed8214f349 in UI::WLMessageBox::WLMessageBox(UI::Panel*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, UI::WLMessageBox::MBoxType, UI::Align) ../src/ui_basic/messagebox.cc:98
    #3 0x55ed8203d99c in GameClient::disconnect(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool) ../src/network/gameclient.cc:943
    #4 0x55ed82032638 in GameClient::run() ../src/network/gameclient.cc:223
    #5 0x55ed82260181 in FullscreenMenuInternetLobby::clicked_joingame() ../src/ui_fsmenu/internet_lobby.cc:398
    #6 0x55ed8226cce0 in boost::_mfi::mf0<void, FullscreenMenuInternetLobby>::operator()(FullscreenMenuInternetLobby&) const /usr/include/boost/bind/mem_fn_template.hpp:70
    #7 0x55ed8226b8d1 in void boost::_bi::list1<boost::reference_wrapper<FullscreenMenuInternetLobby> >::operator()<boost::_mfi::mf0<void, FullscreenMenuInternetLobby>, boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void, FullscreenMenuInternetLobby>&, boost::_bi::list0&, int) /usr/include/boost/bind/bind.hpp:259
    #8 0x55ed8226a5e3 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, FullscreenMenuInternetLobby>, boost::_bi::list1<boost::reference_wrapper<FullscreenMenuInternetLobby> > >::operator()() /usr/include/boost/bind/bind.hpp:1294
    #9 0x55ed82268c6b in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, FullscreenMenuInternetLobby>, boost::_bi::list1<boost::reference_wrapper<FullscreenMenuInternetLobby> > >, void>::invoke(boost::detail::function::function_buffer&) /usr/include/boost/function/function_template.hpp:159
    #10 0x55ed81f38ab9 in boost::function0<void>::operator()() const /usr/include/boost/function/function_template.hpp:759
    #11 0x55ed81f389b2 in boost::signals2::detail::void_type boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::m_invoke<boost::function<void ()> >(boost::function<void ()>&, boost::signals2::detail::unsigned_meta_array<>, std::tuple<> const&, boost::enable_if<boost::is_void<boost::function<void ()>::result_type>, void>::type*) const /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:117
    #12 0x55ed81f38936 in boost::signals2::detail::void_type boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::operator()<boost::function<void ()>, , 0ul>(boost::function<void ()>&, std::tuple<> const&, mpl_::size_t<0ul>) const /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:90
    #13 0x55ed81f38807 in boost::signals2::detail::void_type boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type>::operator()<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> > >(boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> > const&) const /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:133
    #14 0x55ed81f38598 in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> >::dereference() const /usr/include/boost/signals2/detail/slot_call_iterator.hpp:110
    #15 0x55ed81f3840b in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> >::reference boost::iterators::iterator_core_access::dereference<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> > >(boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> > const&) /usr/include/boost/iterator/iterator_facade.hpp:549
    #16 0x55ed81f38291 in boost::iterators::detail::iterator_facade_base<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> >, boost::signals2::detail::void_type, boost::iterators::single_pass_traversal_tag, boost::signals2::detail::void_type const&, long, false, false>::operator*() const /usr/include/boost/iterator/iterator_facade.hpp:655
    #17 0x55ed81f37a03 in void boost::signals2::optional_last_value<void>::operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> > >(boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> >, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> >) const /usr/include/boost/signals2/optional_last_value.hpp:57
    #18 0x55ed81f37015 in void boost::signals2::detail::combiner_invoker<void>::operator()<boost::signals2::optional_last_value<void>, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> > >(boost::signals2::optional_last_value<void>&, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> >, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> >) const /usr/include/boost/signals2/detail/result_type_wrapper.hpp:64
    #19 0x55ed81f3650b in boost::signals2::detail::signal_impl<void (), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()>, boost::function<void (boost::signals2::connection const&)>, boost::signals2::mutex>::operator()() /usr/include/boost/signals2/detail/signal_template.hpp:243
    #20 0x55ed81f35d47 in boost::signals2::signal<void (), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()>, boost::function<void (boost::signals2::connection const&)>, boost::signals2::mutex>::operator()() /usr/include/boost/signals2/detail/signal_template.hpp:722
    #21 0x55ed82119b5c in UI::Button::handle_mouserelease(unsigned char, int, int) ../src/ui_basic/button.cc:340
    #22 0x55ed82167a13 in UI::Panel::do_mouserelease(unsigned char, int, int) ../src/ui_basic/panel.cc:878
    #23 0x55ed82168544 in UI::Panel::ui_mouserelease(unsigned char, int, int) ../src/ui_basic/panel.cc:1002
    #24 0x55ed819f2b83 in WLApplication::handle_mousebutton(SDL_Event&, InputCallback const*) ../src/wlapplication.cc:659
    #25 0x55ed819f1c24 in WLApplication::handle_input(InputCallback const*) ../src/wlapplication.cc:585
    #26 0x55ed82161db9 in UI::Panel::do_run() ../src/ui_basic/panel.cc:176
    #27 0x55ed81a0beb7 in FullscreenMenuBase::MenuTarget UI::Panel::run<FullscreenMenuBase::MenuTarget>() ../src/ui_basic/panel.h:103
    #28 0x55ed819fa22c in WLApplication::mainmenu_multiplayer() ../src/wlapplication.cc:1226
    #29 0x55ed819f8d4e in WLApplication::mainmenu() ../src/wlapplication.cc:1082
    #30 0x55ed819f00c8 in WLApplication::run() ../src/wlapplication.cc:451
    #31 0x55ed819ec60e in main ../src/main.cc:44
    #32 0x7f6a3ea42010 in __libc_start_main (/lib64/libc.so.6+0x21010)
    #33 0x55ed819ec489 in _start (/home/neuron/system/spiele/wl/widelands/widelands+0xd63489)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV ../src/ui_basic/panel.cc:390 in UI::Panel::get_inner_h() const
==8953==ABORTING

Related branches

GunChleoc (gunchleoc)
tags: added: crash
Changed in widelands:
milestone: none → build20-rc1
importance: Undecided → Critical
Revision history for this message
GunChleoc (gunchleoc) wrote :
Revision history for this message
Klaus Halfmann (klaus-halfmann) wrote :

Hello Simon, do you have a Savegame that you can atatch to this bug?
If not what Map / Savegame did you want to play?

From the logs I would assume this was a Linux System? please confirm.

I had a very similar crash and we want to track this down.

Revision history for this message
Klaus Halfmann (klaus-halfmann) wrote :

Problem is here:

> UI::WLMessageBox mmb(d->modal, _("Disconnected from Host"), msg, UI::WLMessageBox::MBoxType::kOk);

But this Messagebox has no parent, this makes this code fail:

void Window::center_to_parent() {
 Panel& parent = *get_parent();

 set_pos(Vector2i((static_cast<int32_t>(parent.get_inner_w()) - get_w()) / 2,
                  (static_cast<int32_t>(parent.get_inner_h()) - get_h()) / 2));
}

Since when do we do this?

Revision history for this message
Klaus Halfmann (klaus-halfmann) wrote :

Will setup a branch to fix this ....

Changed in widelands:
assignee: nobody → Klaus Halfmann (klaus-halfmann)
status: New → Confirmed
Revision history for this message
GunChleoc (gunchleoc) wrote :

This was introduced in https://bazaar.launchpad.net/~widelands-dev/widelands/trunk/revision/8831.

The correct fix is to ensure that the message box has a parent.

Revision history for this message
Simon (sur3) wrote :

No savegame, it was a new game we were trying to start.

Revision history for this message
Klaus Halfmann (klaus-halfmann) wrote :

Easy way to reproduce this:

Open a Network game with r19 (or any other verison incompatible to r20) and try to join with r20

Revision history for this message
Simon (sur3) wrote :

I think my friend had the 8847 Windows version and I had the 8846 Linux version, they should be network compatible I suppose, the crashes only happened to me when he hosted, but when I hosted the game we could play without crash.

Revision history for this message
GunChleoc (gunchleoc) wrote :

@Notabilis: Would you like to take on #8?

tags: added: network windows
Changed in widelands:
assignee: Klaus Halfmann (klaus-halfmann) → Notabilis (notabilis27)
Revision history for this message
Klaus Halfmann (klaus-halfmann) wrote :

Gun you assuem there is staill an incompatibility betwwen indentical
versions but playing on e.g. Windows and OSX, mmh. willtry to test this
on trunk or some other related branch.

Revision history for this message
GunChleoc (gunchleoc) wrote :

Yes, we need to reproduce the crash while hosting under Windows, to see how it happens.

Revision history for this message
Notabilis (notabilis27) wrote :

I can look into it this weekend, however I am unsure whether I am able to reproduce the error. Maybe this is a problem with timeouts due to too long loading times, but I am not convinced of that idea. Hopefully the logs on the metaserver can give some more information about what has been going on.

Revision history for this message
Notabilis (notabilis27) wrote :

The metaserver logs didn't showed anything unusual but I think I was able to reproduce the error. When hosting with Windows (independent whether LAN or online) I get this error on the Linux client after the game has been loaded:

terminate called after throwing an instance of 'LuaScriptNotExistingError'
  what(): [../src/scripting/lua_errors.cc:22] The script 'scripting\win_conditions\collectors.
lua' was not found!

I guess it is the same error as before, but no longer "hidden" by the crash. Not surprisingly, the file seems to exist (even case-sensitive).

When hosting the game with the Linux client it works, but the map is transmitted before starting the game. This shouldn't happen either, I think, since I am only using a standard map.

I will try to figure out why the clients are unable to find the files.

GunChleoc (gunchleoc)
Changed in widelands:
status: Confirmed → Fix Committed
assignee: Notabilis (notabilis27) → nobody
Revision history for this message
GunChleoc (gunchleoc) wrote :

Fixed in build20-rc1

Changed in widelands:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.