Just to make things cleaner and easier to diagnose, I've just configured a local Smartfox server. Server side I got the same logs:
Code: Select all
15:28:56,184 INFO [main] managers.SFSRoomManager - Room created: { Zone: SpaceWar }, [ MMORoom: Sol, Id: 1, Group: default, AOI: (900, 750, 0) ], type = MMORoom
15:28:56,226 INFO [main] managers.SFSRoomManager - Room created: { Zone: --=={{{ AdminZone }}}==-- }, [ Room: AdminRoom, Id: 2, Group: default, isGame: false ], type = SFSRoom
15:28:56,248 INFO [main] core.AdminToolService - AdminTool Service started
15:28:56,375 INFO [SFSWorker:Sys:1] v2.SmartFoxServer - Listening Sockets: { 0.0.0.0:9933, (Tcp) } { 0.0.0.0:9999, (Udp) }
15:28:56,375 INFO [SFSWorker:Sys:1] v2.SmartFoxServer -
_____ _____ _____ ___ __ __
| __| __| __| |_ | | |
|__ | __|__ | | _|- -|
|_____|__| |_____| |___|__|__|
_____ _____ _____ ____ __ __
| __ | __| _ | \| | |
| -| __| | | |_ _|
|__|__|_____|__|__|____/ |_|
[ 2.13.0 ]
15:28:56,376 INFO [SFSWorker:Sys:1] v2.SmartFoxServer - SmartFoxServer 2X (2.13.0) READY!
15:28:56,932 INFO [main] v3.SessionFilter - BlueBox-2X Service (3.1.0) READY.
15:29:44,921 INFO [SocketReader] sessions.DefaultSessionManager - Session created: { Id: 1, Type: DEFAULT, Logged: No, IP: 0:0:0:0:0:0:0:1:53571 } on Server port: 9933 <---> 53571
15:29:44,940 INFO [SFSWorker:Ext:4] api.SFSApi - User login: { Zone: --=={{{ AdminZone }}}==-- }, ( User Name: sfsadmin, Id: 0, Priv: 0, Sess: 0:0:0:0:0:0:0:1:53571 ) , Type: Flash ActiveX:WIN 32,0,0,114
15:29:44,944 INFO [SFSWorker:Ext:4] api.SFSApi - Room joined: [ Room: AdminRoom, Id: 2, Group: default, isGame: false ], { Zone: --=={{{ AdminZone }}}==-- }, ( User Name: sfsadmin, Id: 0, Priv: 0, Sess: 0:0:0:0:0:0:0:1:53571 ) , asSpect: false
15:30:16,877 INFO [SocketReader] sessions.DefaultSessionManager - Session created: { Id: 2, Type: DEFAULT, Logged: No, IP: 127.0.0.1:53582 } on Server port: 9933 <---> 53582
15:30:20,824 INFO [SFSWorker:Ext:4] api.SFSApi - User login: { Zone: SpaceWar }, ( User Name: hhhj, Id: 1, Priv: 0, Sess: 127.0.0.1:53582 ) , Type: C++ API
15:32:26,545 INFO [SocketReader] sessions.DefaultSessionManager - Session removed: { Id: 2, Type: DEFAULT, Logged: Yes, IP: 127.0.0.1:53582 }
15:32:26,545 INFO [SFSWorker:Sys:4] api.SFSApi - User disconnected: { Zone: SpaceWar }, ( User Name: hhhj, Id: 1, Priv: 0, Sess: 127.0.0.1:53582 ) , SessionLen: 125721, Type: C++ API
Client side, I still have a crash, in a different part of the code but always inside InitUDP. This is the callstack
Code: Select all
ucrtbased.dll!0fa134d6() Unknown
[Frames below may be incorrect and/or missing, no symbols loaded for ucrtbased.dll] Unknown
ucrtbased.dll!0fa13324() Unknown
ucrtbased.dll!0fa1528a() Unknown
SmartFoxClientApi.dll!boost::shared_ptr<Sfs2X::Entities::User>::operator->() Line 687 C++
SmartFoxClientApi.dll!Sfs2X::Bitswarm::UDPManager::SendInitializationRequest() Line 331 C++
SmartFoxClientApi.dll!Sfs2X::Bitswarm::UDPManager::OnTimeout(const boost::system::error_code & code={...}) Line 388 C++
SmartFoxClientApi.dll!boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>::operator()(Sfs2X::Bitswarm::UDPManager * p=0x001aba08, const boost::system::error_code & a1={...}) Line 165 C++
SmartFoxClientApi.dll!boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> >::operator()<boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list1<boost::system::error_code const &> >(boost::_bi::type<void> __formal={...}, boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &> & f={...}, boost::_bi::list1<boost::system::error_code const &> & a={...}, int __formal=0) Line 316 C++
SmartFoxClientApi.dll!boost::_bi::bind_t<void,boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> > >::operator()<boost::system::error_code const &>(const boost::system::error_code & a1={...}) Line 908 C++
SmartFoxClientApi.dll!boost::asio::detail::binder1<boost::_bi::bind_t<void,boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> > >,boost::system::error_code>::operator()() Line 48 C++
SmartFoxClientApi.dll!boost::asio::asio_handler_invoke<boost::asio::detail::binder1<boost::_bi::bind_t<void,boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> > >,boost::system::error_code> >(boost::asio::detail::binder1<boost::_bi::bind_t<void,boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> > >,boost::system::error_code> & function={...}, ...) Line 70 C++
SmartFoxClientApi.dll!boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<boost::_bi::bind_t<void,boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> > >,boost::system::error_code>,boost::_bi::bind_t<void,boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> > > >(boost::asio::detail::binder1<boost::_bi::bind_t<void,boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> > >,boost::system::error_code> & function={...}, boost::_bi::bind_t<void,boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> > > & context={...}) Line 37 C++
SmartFoxClientApi.dll!boost::asio::detail::wait_handler<boost::_bi::bind_t<void,boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> > > >::do_complete(boost::asio::detail::win_iocp_io_service * owner=0x04abd4c0, boost::asio::detail::win_iocp_operation * base=0x1061e088, const boost::system::error_code & __formal={...}, unsigned int __formal=0) Line 70 C++
SmartFoxClientApi.dll!boost::asio::detail::win_iocp_operation::complete(boost::asio::detail::win_iocp_io_service & owner={...}, const boost::system::error_code & ec={...}, unsigned int bytes_transferred=0) Line 46 C++
SmartFoxClientApi.dll!boost::asio::detail::win_iocp_io_service::do_one(bool block=true, boost::system::error_code & ec={...}) Line 406 C++
SmartFoxClientApi.dll!boost::asio::detail::win_iocp_io_service::run(boost::system::error_code & ec={...}) Line 164 C++
SmartFoxClientApi.dll!boost::asio::io_service::run() Line 59 C++
SmartFoxClientApi.dll!Sfs2X::Bitswarm::UDPManager::StartTimer() Line 413 C++
SmartFoxClientApi.dll!Sfs2X::Bitswarm::UDPManager::OnTimeout(const boost::system::error_code & code={...}) Line 389 C++
SmartFoxClientApi.dll!boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>::operator()(Sfs2X::Bitswarm::UDPManager * p=0x001aba08, const boost::system::error_code & a1={...}) Line 165 C++
SmartFoxClientApi.dll!boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> >::operator()<boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list1<boost::system::error_code const &> >(boost::_bi::type<void> __formal={...}, boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &> & f={...}, boost::_bi::list1<boost::system::error_code const &> & a={...}, int __formal=0) Line 316 C++
SmartFoxClientApi.dll!boost::_bi::bind_t<void,boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> > >::operator()<boost::system::error_code const &>(const boost::system::error_code & a1={...}) Line 908 C++
SmartFoxClientApi.dll!boost::asio::detail::binder1<boost::_bi::bind_t<void,boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> > >,boost::system::error_code>::operator()() Line 48 C++
SmartFoxClientApi.dll!boost::asio::asio_handler_invoke<boost::asio::detail::binder1<boost::_bi::bind_t<void,boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> > >,boost::system::error_code> >(boost::asio::detail::binder1<boost::_bi::bind_t<void,boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> > >,boost::system::error_code> & function={...}, ...) Line 70 C++
SmartFoxClientApi.dll!boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<boost::_bi::bind_t<void,boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> > >,boost::system::error_code>,boost::_bi::bind_t<void,boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> > > >(boost::asio::detail::binder1<boost::_bi::bind_t<void,boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> > >,boost::system::error_code> & function={...}, boost::_bi::bind_t<void,boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> > > & context={...}) Line 37 C++
SmartFoxClientApi.dll!boost::asio::detail::wait_handler<boost::_bi::bind_t<void,boost::_mfi::mf1<void,Sfs2X::Bitswarm::UDPManager,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<Sfs2X::Bitswarm::UDPManager *>,boost::arg<1> > > >::do_complete(boost::asio::detail::win_iocp_io_service * owner=0x04abd4c0, boost::asio::detail::win_iocp_operation * base=0x1061e8a8, const boost::system::error_code & __formal={...}, unsigned int __formal=0) Line 70 C++
SmartFoxClientApi.dll!boost::asio::detail::win_iocp_operation::complete(boost::asio::detail::win_iocp_io_service & owner={...}, const boost::system::error_code & ec={...}, unsigned int bytes_transferred=0) Line 46 C++
SmartFoxClientApi.dll!boost::asio::detail::win_iocp_io_service::do_one(bool block=true, boost::system::error_code & ec={...}) Line 406 C++
SmartFoxClientApi.dll!boost::asio::detail::win_iocp_io_service::run(boost::system::error_code & ec={...}) Line 164 C++
SmartFoxClientApi.dll!boost::asio::io_service::run() Line 59 C++
SmartFoxClientApi.dll!Sfs2X::Bitswarm::UDPManager::StartTimer() Line 413 C++
SmartFoxClientApi.dll!Sfs2X::Bitswarm::UDPManager::SendInitializationRequest() Line 355 C++
SmartFoxClientApi.dll!Sfs2X::Bitswarm::UDPManager::Initialize(std::basic_string<char,std::char_traits<char>,std::allocator<char> > udpAddr={...}, unsigned short udpPort=9933) Line 94 C++
SmartFoxClientApi.dll!Sfs2X::SmartFox::InitUDP(std::basic_string<char,std::char_traits<char>,std::allocator<char> > udpHost={...}, short udpPort=9933) Line 934 C++
> SmartFoxClientApi.dll!Sfs2X::SmartFox::InitUDP() Line 846 C++
SpaceWar.exe!OnLogin(unsigned __int64 context=276841744, boost::shared_ptr<Sfs2X::Core::BaseEvent> evt={...}) Line 157 C++
SmartFoxClientApi.dll!Sfs2X::Util::DelegateOneArgument<boost::shared_ptr<Sfs2X::Core::BaseEvent> >::Invoke(boost::shared_ptr<Sfs2X::Core::BaseEvent> value={...}) Line 54 C++
SmartFoxClientApi.dll!Sfs2X::Util::EventDispatcher::DispatchEvent(boost::shared_ptr<Sfs2X::Core::BaseEvent> evt={...}) Line 73 C++
SmartFoxClientApi.dll!Sfs2X::SmartFox::ProcessEvents() Line 1643 C++
SpaceWar.exe!ServerConnector::update(float deltaTime=0.0179510005) Line 59 C++
SpaceWar.exe!BaseScene::update(float deltaTime=0.0179510005) Line 25 C++
libcocos2d.dll!cocos2d::Scheduler::scheduleUpdate::__l2::<lambda>(float dt=0.0179510005) Line 284 C++
I did not the netcat test because the client is a Windows machine (a Visual Studio project) and getting netcat there is not straigthforward.
It also happens that if the client doesn't crash, the session is dropped in the following way;
Code: Select all
15:55:56,374 INFO [pool-1-thread-1] stats.CCULoggerTask - CCU stats: { Zone: SpaceWar }, CCU: 0/1
15:55:56,375 INFO [pool-1-thread-1] stats.CCULoggerTask - CCU stats: { Zone: --=={{{ AdminZone }}}==-- }, CCU: 0/1
15:55:56,376 INFO [pool-1-thread-1] stats.CCULoggerTask - CCU stats: { Zone: BasicExamples }, CCU: 0/0
15:55:56,376 INFO [pool-1-thread-1] stats.CCULoggerTask - CCU stats: CCU: 0/2
15:56:53,170 INFO [SocketReader] sessions.DefaultSessionManager - Session created: { Id: 3, Type: DEFAULT, Logged: No, IP: 127.0.0.1:53996 } on Server port: 9933 <---> 53996
15:56:58,602 INFO [SFSWorker:Ext:2] api.SFSApi - User login: { Zone: SpaceWar }, ( User Name: sdf, Id: 2, Priv: 0, Sess: 127.0.0.1:53996 ) , Type: C++ API
15:59:06,483 INFO [SocketReader] sessions.DefaultSessionManager - Session removed: { Id: 3, Type: DEFAULT, Logged: Yes, IP: 127.0.0.1:53996 }
15:59:06,483 INFO [SFSWorker:Sys:1] api.SFSApi - User disconnected: { Zone: SpaceWar }, ( User Name: sdf, Id: 2, Priv: 0, Sess: 127.0.0.1:53996 ) , SessionLen: 127881, Type: C++ API
15:59:06,513 INFO [SocketReader] sessions.DefaultSessionManager - Session created: { Id: 4, Type: DEFAULT, Logged: No, IP: 127.0.0.1:54023 } on Server port: 9933 <---> 54023
15:59:30,378 WARN [SFSWorker:Sys:3] v290.SystemReqController - com.smartfoxserver.v2.exceptions.SFSRuntimeException:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Exception: com.smartfoxserver.v2.exceptions.SFSRuntimeException
Message: System Request rejected: { Id: 4, Type: DEFAULT, Logged: No, IP: 127.0.0.1:54023 }, Client is not logged in.
Description: Runtime error while processing request
Edit: I've downloaded a nc for windows and the message reachs the remote machine with no delay.
Thanks,
Jacobo.