mehah / otclient

An alternative tibia client for otserv written in C++20 and Lua, made with a modular system that uses lua scripts for ingame interface and functionality, making otclient flexible and easy to customize

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

crash on startup

patrykq112 opened this issue · comments

Priority

High

Area

  • Data
  • Source
  • Docker
  • Other

What happened?

sometimes the client crashes at startup

image

when I revert the "prevent crash" commit this problem no longer exists

What OS are you seeing the problem on?

Windows

Code of Conduct

  • I agree to follow this project's Code of Conduct

However, bug still occurs

image

It only happens to me 1 time out of 50 xd

image

Edit: 05 - 12 - 2023
last commits : update fps counter with the window minimized


>	otclient_x64-dbg.exe!TRect<int>::TRect<int>(const TRect<int> & other) Line 40	C++
 	otclient_x64-dbg.exe!DrawPool::PoolState::PoolState(DrawPool::PoolState && __that)	C++
 	otclient_x64-dbg.exe!DrawPool::DrawObject::DrawObject(DrawPool::DrawObject && __that)	C++
 	otclient_x64-dbg.exe!std::construct_at<DrawPool::DrawObject,DrawPool::DrawObject,0>(DrawPool::DrawObject * const _Location=0x0000022aac6bdbb0, DrawPool::DrawObject && <_Args_0>) Line 242	C++
 	otclient_x64-dbg.exe!std::_Default_allocator_traits<std::allocator<DrawPool::DrawObject>>::construct<DrawPool::DrawObject,DrawPool::DrawObject>(std::allocator<DrawPool::DrawObject> & __formal={...}, DrawPool::DrawObject * const _Ptr=0x0000022aac6bdbb0, DrawPool::DrawObject && <_Args_0>) Line 721	C++
 	otclient_x64-dbg.exe!std::_Uninitialized_backout_al<std::allocator<DrawPool::DrawObject>>::_Emplace_back<DrawPool::DrawObject>(DrawPool::DrawObject && <_Vals_0>) Line 1803	C++
 	otclient_x64-dbg.exe!std::_Uninitialized_move<DrawPool::DrawObject *,std::allocator<DrawPool::DrawObject>>(DrawPool::DrawObject * const _First=0x0000022aacdb9fa8, DrawPool::DrawObject * const _Last=0x0000022aacdb9e70, DrawPool::DrawObject * _Dest=0x0000022aac6bdbb0, std::allocator<DrawPool::DrawObject> & _Al={...}) Line 1947	C++
 	otclient_x64-dbg.exe!std::vector<DrawPool::DrawObject,std::allocator<DrawPool::DrawObject>>::_Emplace_reallocate<DrawPool::PoolState>(DrawPool::DrawObject * const _Whereptr=0x0000022aacdb9fa8, DrawPool::PoolState && <_Val_0>={...}) Line 848	C++
 	otclient_x64-dbg.exe!std::vector<DrawPool::DrawObject,std::allocator<DrawPool::DrawObject>>::_Emplace_one_at_back<DrawPool::PoolState>(DrawPool::PoolState && <_Val_0>={...}) Line 786	C++
 	otclient_x64-dbg.exe!std::vector<DrawPool::DrawObject,std::allocator<DrawPool::DrawObject>>::emplace_back<DrawPool::PoolState>(DrawPool::PoolState && <_Val_0>={...}) Line 864	C++
 	otclient_x64-dbg.exe!DrawPool::add(const Color & color={...}, const std::shared_ptr<Texture> & texture={...}, DrawPool::DrawMethod && method={...}, DrawMode drawMode=TRIANGLE_STRIP, const DrawConductor & conductor={...}, const std::shared_ptr<CoordsBuffer> & coordsBuffer={...}) Line 95	C++
 	otclient_x64-dbg.exe!DrawPoolManager::addTexturedCoordsBuffer(const std::shared_ptr<Texture> & texture={...}, const std::shared_ptr<CoordsBuffer> & coords={...}, const Color & color={...}) Line 100	C++
 	otclient_x64-dbg.exe!UIWidget::drawText(const TRect<int> & screenCoords={...}) Line 128	C++
 	otclient_x64-dbg.exe!UIWidget::drawSelf(DrawPoolType drawPane=FOREGROUND) Line 108	C++
 	otclient_x64-dbg.exe!UIWidget::draw(const TRect<int> & visibleRect={...}, DrawPoolType drawPane=FOREGROUND) Line 75	C++
 	otclient_x64-dbg.exe!UIWidget::drawChildren(const TRect<int> & visibleRect={...}, DrawPoolType drawPane=FOREGROUND) Line 136	C++
 	otclient_x64-dbg.exe!UIWidget::draw(const TRect<int> & visibleRect={...}, DrawPoolType drawPane=FOREGROUND) Line 82	C++
 	otclient_x64-dbg.exe!UIWidget::drawChildren(const TRect<int> & visibleRect={...}, DrawPoolType drawPane=FOREGROUND) Line 136	C++
 	otclient_x64-dbg.exe!UIWidget::draw(const TRect<int> & visibleRect={...}, DrawPoolType drawPane=FOREGROUND) Line 82	C++
 	otclient_x64-dbg.exe!UIManager::render::__l5::<lambda_1>::operator()() Line 65	C++
 	otclient_x64-dbg.exe!std::invoke<`UIManager::render'::`5'::<lambda_1> &>(UIManager::render::__l5::<lambda_1> & _Obj={...}) Line 1753	C++
 	otclient_x64-dbg.exe!std::_Func_impl_no_alloc<`UIManager::render'::`5'::<lambda_1>,void>::_Do_call() Line 843	C++
 	otclient_x64-dbg.exe!std::_Func_class<void>::operator()() Line 884	C++
 	otclient_x64-dbg.exe!DrawPoolManager::preDraw(DrawPoolType type=FOREGROUND, const std::function<void __cdecl(void)> & f={...}, const TRect<int> & dest={...}, const TRect<int> & src={...}, const Color & colorClear={...}) Line 180	C++
 	otclient_x64-dbg.exe!UIManager::render(DrawPoolType drawPane=FOREGROUND) Line 63	C++
 	otclient_x64-dbg.exe!GraphicalApplication::run::__l2::<lambda_3>::()::__l2::<lambda_1>::operator()() Line 166	C++
 	otclient_x64-dbg.exe!std::condition_variable::wait<``GraphicalApplication::run'::`2'::<lambda_3>::operator()'::`2'::<lambda_1>>(std::unique_lock<std::mutex> & _Lck={...}, GraphicalApplication::run::__l2::<lambda_3>::()::__l2::<lambda_1> _Pred={...}) Line 669	C++
 	otclient_x64-dbg.exe!GraphicalApplication::run::__l2::<lambda_3>::operator()() Line 164	C++
 	otclient_x64-dbg.exe!std::invoke<`GraphicalApplication::run'::`2'::<lambda_3> &>(GraphicalApplication::run::__l2::<lambda_3> & _Obj={...}) Line 1753	C++
 	otclient_x64-dbg.exe!std::_Func_impl_no_alloc<`GraphicalApplication::run'::`2'::<lambda_3>,void>::_Do_call() Line 843	C++
 	otclient_x64-dbg.exe!std::_Func_class<void>::operator()() Line 884	C++
 	otclient_x64-dbg.exe!AsyncDispatcher::dispatch::__l2::<lambda_1>::operator()() Line 49	C++
 	otclient_x64-dbg.exe!asio::detail::binder0<`AsyncDispatcher::dispatch'::`2'::<lambda_1>>::operator()() Line 60	C++
 	otclient_x64-dbg.exe!asio::asio_handler_invoke<asio::detail::binder0<`AsyncDispatcher::dispatch'::`2'::<lambda_1>>>(asio::detail::binder0<`AsyncDispatcher::dispatch'::`2'::<lambda_1>> & function={...}, ...) Line 91	C++
 	otclient_x64-dbg.exe!asio_handler_invoke_helpers::invoke<asio::detail::binder0<`AsyncDispatcher::dispatch'::`2'::<lambda_1>>,`AsyncDispatcher::dispatch'::`2'::<lambda_1>>(asio::detail::binder0<`AsyncDispatcher::dispatch'::`2'::<lambda_1>> & function={...}, AsyncDispatcher::dispatch::__l2::<lambda_1> & context={...}) Line 56	C++
 	otclient_x64-dbg.exe!asio::detail::asio_handler_invoke<asio::detail::binder0<`AsyncDispatcher::dispatch'::`2'::<lambda_1>>,`AsyncDispatcher::dispatch'::`2'::<lambda_1>>(asio::detail::binder0<`AsyncDispatcher::dispatch'::`2'::<lambda_1>> & function={...}, asio::detail::binder0<`AsyncDispatcher::dispatch'::`2'::<lambda_1>> * this_handler=0x000000657d9ff7c0) Line 115	C++
 	otclient_x64-dbg.exe!asio_handler_invoke_helpers::invoke<asio::detail::binder0<`AsyncDispatcher::dispatch'::`2'::<lambda_1>>,asio::detail::binder0<`AsyncDispatcher::dispatch'::`2'::<lambda_1>>>(asio::detail::binder0<`AsyncDispatcher::dispatch'::`2'::<lambda_1>> & function={...}, asio::detail::binder0<`AsyncDispatcher::dispatch'::`2'::<lambda_1>> & context={...}) Line 56	C++
 	otclient_x64-dbg.exe!asio::detail::executor_op<asio::detail::binder0<`AsyncDispatcher::dispatch'::`2'::<lambda_1>>,std::allocator<void>,asio::detail::win_iocp_operation>::do_complete(void * owner=0x0000022aa1bd0ff0, asio::detail::win_iocp_operation * base=0x0000022aacc0faf0, const std::error_code & __formal={...}, unsigned __int64 __formal=0) Line 69	C++
 	otclient_x64-dbg.exe!asio::detail::win_iocp_operation::complete(void * owner=0x0000022aa1bd0ff0, const std::error_code & ec={...}, unsigned __int64 bytes_transferred=0) Line 47	C++
 	otclient_x64-dbg.exe!asio::detail::win_iocp_io_context::do_one(unsigned long msec=4294967295, asio::detail::win_iocp_thread_info & this_thread={...}, std::error_code & ec={...}) Line 473	C++
 	otclient_x64-dbg.exe!asio::detail::win_iocp_io_context::run(std::error_code & ec={...}) Line 203	C++
 	otclient_x64-dbg.exe!asio::io_context::run() Line 62	C++
 	otclient_x64-dbg.exe!AsyncDispatcher::init::__l5::<lambda_1>::operator()() Line 44	C++
 	otclient_x64-dbg.exe!std::invoke<`AsyncDispatcher::init'::`5'::<lambda_1>>(AsyncDispatcher::init::__l5::<lambda_1> && _Obj={...}) Line 1753	C++
 	otclient_x64-dbg.exe!std::thread::_Invoke<std::tuple<`AsyncDispatcher::init'::`5'::<lambda_1>>,0>(void * _RawVals=0x000002
```2aa1bd5800) Line 56	C++
 	ucrtbased.dll!00007fff4f473010()	Unknown
 	kernel32.dll!00007ff8cced7344()	Unknown
 	ntdll.dll!00007ff8cd7026b1()	Unknown


@patrykq112 @kokekanon is this fixed?

no

image

It still happens to me too (with all the latest updates on the client)