bylins / mud

МПМ Былины
https://www.bylins.su/
Other
37 stars 27 forks source link

креш #2417

Closed bylins closed 3 days ago

bylins commented 1 month ago

0 0x00005676491542c0 in operator() (__closure=0x7ffcb0abad60, j=...) at /home/mud/mud/src/gameplay/core/game_limits.cpp:1365

1365 for (int cmd_no = 0; zone_table[zone].cmd[cmd_no].command != 'S'; ++cmd_no) { [Current thread is 1 (Thread 0x71c89303f980 (LWP 109643))] (gdb) bt

0 0x00005676491542c0 in operator() (__closure=0x7ffcb0abad60, j=std::shared_ptr (use count 5, weak count 0) = {...}) at /home/mud/mud/src/gameplay/core/game_limits.cpp:1365

1 0x0000567649154ce0 in std::__invoke_impl<void, obj_point_update()::<lambda(const ObjData::shared_ptr&)>&, const std::shared_ptr&> (__f=...)

at /usr/include/c++/13/bits/invoke.h:60

2 std::__invoke_r<void, obj_point_update()::<lambda(const ObjData::shared_ptr&)>&, const std::shared_ptr&> (__fn=...) at /usr/include/c++/13/bits/invoke.h:111

3 std::_Function_handler<void(const std::shared_ptr&), obj_point_update()::<lambda(const ObjData::shared_ptr&)> >::_M_invoke(const std::_Any_data &, const std::shared_ptr &) (functor=..., args#0=...) at /usr/include/c++/13/bits/std_function.h:290

4 0x000056764902ea9a in std::function<void (std::shared_ptr const&)>::operator()(std::shared_ptr const&) const (this=this@entry=0x7ffcb0abad60,

__args#0=std::shared_ptr<ObjData> (use count 5, weak count 0) = {...}) at /usr/include/c++/13/bits/std_function.h:591

5 0x000056764902eb1d in std::for_each<std::_List_const_iterator<std::shared_ptr >, std::function<void (std::shared_ptr const&)> >(std::_List_const_iterator<std::shared_ptr >, std::_List_const_iterator<std::shared_ptr >, std::function<void (std::shared_ptr const&)>) (

__first=std::shared_ptr<ObjData> (use count 5, weak count 0) = {...}, __last=__last@entry=<error reading variable: Cannot access memory at address 0x929a4>, __f=...)
at /usr/include/c++/13/bits/stl_algo.h:3833

6 0x000056764902d6b3 in WorldObjects::foreach_on_copy(std::function<void (std::shared_ptr const&)> const&) const (this=, function=...)

at /usr/include/c++/13/bits/stl_list.h:354

7 0x0000567649151247 in obj_point_update () at /home/mud/mud/src/gameplay/core/game_limits.cpp:1341

8 0x0000567648feffbf in std::__invoke_impl<void, void (*&)()> (__f=) at /usr/include/c++/13/bits/invoke.h:60

9 std::__invoke_r<void, void (*&)()> (__fn=) at /usr/include/c++/13/bits/invoke.h:111

10 std::_Function_handler<void (), void (*)()>::_M_invoke(std::_Any_data const&) (__functor=...) at /usr/include/c++/13/bits/std_function.h:290

11 0x0000567648ff0134 in std::function<void ()>::operator()() const (this=) at /usr/include/c++/13/bits/std_function.h:591

12 0x0000567648fea42f in (anonymous namespace)::SimpleCall::perform (this=) at /home/mud/mud/src/engine/core/heartbeat.cpp:93

13 0x0000567648fefc21 in Heartbeat::pulse (this=this@entry=0x567649520e58 <(anonymous namespace)::global_objects()::storage+1816>, missed_pulses=missed_pulses@entry=0,

label=std::unordered_map with 3 elements = {...}) at /home/mud/mud/src/engine/core/heartbeat.cpp:615

14 0x0000567648fefd23 in Heartbeat::operator() (this=0x567649520e58 <(anonymous namespace)::global_objects()::storage+1816>, missed_pulses=missed_pulses@entry=0)

at /home/mud/mud/src/engine/core/heartbeat.cpp:549

15 0x0000567648fd7954 in game_loop (epoll=epoll@entry=10, mother_desc=mother_desc@entry=8) at /home/mud/mud/src/engine/core/comm.cpp:1383

16 0x0000567648fd7ad3 in stop_game (port=port@entry=4000) at /home/mud/mud/src/engine/core/comm.cpp:779

17 0x0000567648fd82c0 in main_function (argc=2, argv=0x7ffcb0abb588) at /home/mud/mud/src/engine/core/comm.cpp:720

18 0x0000567648fd2976 in main (argc=, argv=) at /home/mud/mud/src/main.cpp:4

bylins commented 1 month ago

image

bylins commented 1 month ago

интересно чье это решение, есть гораздо проще, если игрок лапал сумку - то таймер запущен, пересчитать в ней