Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix remove imbuing from item #139

Closed

Conversation

beats-dh
Copy link
Collaborator

@beats-dh beats-dh commented Oct 14, 2021

Description

Fix remove imbuing from item

Behaviour

Actual

When one imbuing end, all imbuing from item will be removed

Expected

Only one imbuing removed

Fixes

opentibiabr/otservbr-global-archived#2649

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

@Methemia
Copy link

2021-10-15 14:52:56 - free(): invalid pointer
2021-10-15 14:52:56 -
2021-10-15 14:52:56 - Thread 2 "otbr" received signal SIGABRT, Aborted.
2021-10-15 14:52:56 - [Switching to Thread 0x7ffff79d8700 (LWP 322893)]
2021-10-15 14:52:56 - __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
2021-10-15 14:52:56 - 50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
2021-10-15 14:52:56 -
2021-10-15 14:52:56 - Thread 4 (Thread 0x7ffff69c2700 (LWP 322895)):
2021-10-15 14:52:56 - #0 futex_wait_cancelable (private=, expected=0, futex_word=0x55555635ba48 <g_databaseTasks+136>) at ../sysdeps/nptl/futex-internal.h:183
2021-10-15 14:52:56 - __ret = -512
2021-10-15 14:52:56 - oldtype = 0
2021-10-15 14:52:56 - err =
2021-10-15 14:52:56 - oldtype =
2021-10-15 14:52:56 - err =
2021-10-15 14:52:56 - __ret =
2021-10-15 14:52:56 - resultvar =
2021-10-15 14:52:56 - __arg4 =
2021-10-15 14:52:56 - __arg3 =
2021-10-15 14:52:56 - __arg2 =
2021-10-15 14:52:56 - __arg1 =
2021-10-15 14:52:56 - _a4 =
2021-10-15 14:52:56 - _a3 =
2021-10-15 14:52:56 - _a2 =
2021-10-15 14:52:56 - _a1 =
2021-10-15 14:52:56 - #1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55555635b9f8 <g_databaseTasks+56>, cond=0x55555635ba20 <g_databaseTasks+96>) at pthread_cond_wait.c:508
2021-10-15 14:52:56 - spin = 0
2021-10-15 14:52:56 - buffer = {__routine = 0x7ffff7fae050 <__condvar_cleanup_waiting>, __arg = 0x7ffff69c1cd0, __canceltype = 0, __prev = 0x0}
2021-10-15 14:52:56 - cbuffer = {wseq = 40, cond = 0x55555635ba20 <g_databaseTasks+96>, mutex = 0x55555635b9f8 <g_databaseTasks+56>, private = 0}
2021-10-15 14:52:56 - err =
2021-10-15 14:52:56 - g = 0
2021-10-15 14:52:56 - flags =
2021-10-15 14:52:56 - g1_start =
2021-10-15 14:52:56 - signals =
2021-10-15 14:52:56 - result = 0
2021-10-15 14:52:56 - wseq = 40
2021-10-15 14:52:56 - seq = 20
2021-10-15 14:52:56 - private =
2021-10-15 14:52:56 - maxspin =
2021-10-15 14:52:56 - err =
2021-10-15 14:52:56 - result =
2021-10-15 14:52:56 - wseq =
2021-10-15 14:52:56 - g =
2021-10-15 14:52:56 - seq =
2021-10-15 14:52:56 - flags =
2021-10-15 14:52:56 - private =
2021-10-15 14:52:56 - signals =
2021-10-15 14:52:56 - g1_start =
2021-10-15 14:52:56 - spin =
2021-10-15 14:52:56 - buffer =
2021-10-15 14:52:56 - cbuffer =
2021-10-15 14:52:56 - s =
2021-10-15 14:52:56 - #2 __pthread_cond_wait (cond=0x55555635ba20 <g_databaseTasks+96>, mutex=0x55555635b9f8 <g_databaseTasks+56>) at pthread_cond_wait.c:638
2021-10-15 14:52:56 - No locals.
2021-10-15 14:52:56 - #3 0x00007ffff7d37e30 in std::condition_variable::wait(std::unique_lockstd::mutex&) () from /lib/x86_64-linux-gnu/libstdc++.so.6
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #4 0x000055555577f3c2 in DatabaseTasks::threadMain() ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #5 0x0000555555782084 in void std::__invoke_impl<void, void (DatabaseTasks::)(), DatabaseTasks>(std::__invoke_memfun_deref, void (DatabaseTasks::&&)(), DatabaseTasks&&) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #6 0x0000555555781fc7 in std::__invoke_result<void (DatabaseTasks::)(), DatabaseTasks>::type std::__invoke<void (DatabaseTasks::)(), DatabaseTasks>(void (DatabaseTasks::&&)(), DatabaseTasks&&) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #7 0x0000555555781f37 in void std::thread::_Invoker<std::tuple<void (DatabaseTasks::)(), DatabaseTasks> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #8 0x0000555555781ef2 in std::thread::_Invoker<std::tuple<void (DatabaseTasks::)(), DatabaseTasks> >::operator()() ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #9 0x0000555555781ed8 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (DatabaseTasks::)(), DatabaseTasks> > >::_M_run() ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #10 0x00007ffff7d3dde4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #11 0x00007ffff7fa7609 in start_thread (arg=) at pthread_create.c:477
2021-10-15 14:52:56 - ret =
2021-10-15 14:52:56 - pd =
2021-10-15 14:52:56 - unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737330816768, 2450014809110033423, 140737347678990, 140737347678991, 140737347678992, 140737330814848, -2449995285222181873, -2449997195121708017}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
2021-10-15 14:52:56 - not_first_call = 0
2021-10-15 14:52:56 - #12 0x00007ffff7b7c293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
2021-10-15 14:52:56 - No locals.
2021-10-15 14:52:56 -
2021-10-15 14:52:56 - Thread 3 (Thread 0x7ffff71d7700 (LWP 322894)):
2021-10-15 14:52:56 - #0 futex_abstimed_wait_cancelable (private=, abstime=0x7ffff71d6d10, clockid=, expected=0, futex_word=0x55555635bb68 <g_scheduler+104>) at ../sysdeps/nptl/futex-internal.h:320
2021-10-15 14:52:56 - __ret = -516
2021-10-15 14:52:56 - clockbit =
2021-10-15 14:52:56 - op =
2021-10-15 14:52:56 - __ret =
2021-10-15 14:52:56 - oldtype = 0
2021-10-15 14:52:56 - err =
2021-10-15 14:52:56 - oldtype =
2021-10-15 14:52:56 - err =
2021-10-15 14:52:56 - __ret =
2021-10-15 14:52:56 - clockbit =
2021-10-15 14:52:56 - op =
2021-10-15 14:52:56 - __ret =
2021-10-15 14:52:56 - resultvar =
2021-10-15 14:52:56 - __arg6 =
2021-10-15 14:52:56 - __arg5 =
2021-10-15 14:52:56 - __arg4 =
2021-10-15 14:52:56 - __arg3 =
2021-10-15 14:52:56 - __arg2 =
2021-10-15 14:52:56 - __arg1 =
2021-10-15 14:52:56 - _a6 =
2021-10-15 14:52:56 - _a5 =
2021-10-15 14:52:56 - _a4 =
2021-10-15 14:52:56 - _a3 =
2021-10-15 14:52:56 - _a2 =
2021-10-15 14:52:56 - _a1 =
2021-10-15 14:52:56 - #1 __pthread_cond_wait_common (abstime=0x7ffff71d6d10, clockid=, mutex=0x55555635bb18 <g_scheduler+24>, cond=0x55555635bb40 <g_scheduler+64>) at pthread_cond_wait.c:520
2021-10-15 14:52:56 - spin = 0
2021-10-15 14:52:56 - buffer = {__routine = 0x7ffff7fae050 <__condvar_cleanup_waiting>, __arg = 0x7ffff71d6c30, __canceltype = -149066624, __prev = 0x0}
2021-10-15 14:52:56 - cbuffer = {wseq = 52142426, cond = 0x55555635bb40 <g_scheduler+64>, mutex = 0x55555635bb18 <g_scheduler+24>, private = 0}
2021-10-15 14:52:56 - err =
2021-10-15 14:52:56 - g = 0
2021-10-15 14:52:56 - flags =
2021-10-15 14:52:56 - g1_start =
2021-10-15 14:52:56 - maxspin = 0
2021-10-15 14:52:56 - signals =
2021-10-15 14:52:56 - result = 0
2021-10-15 14:52:56 - wseq = 52142426
2021-10-15 14:52:56 - seq = 26071213
2021-10-15 14:52:56 - private =
2021-10-15 14:52:56 - maxspin =
2021-10-15 14:52:56 - err =
2021-10-15 14:52:56 - result =
2021-10-15 14:52:56 - wseq =
2021-10-15 14:52:56 - g =
2021-10-15 14:52:56 - seq =
2021-10-15 14:52:56 - flags =
2021-10-15 14:52:56 - private =
2021-10-15 14:52:56 - signals =
2021-10-15 14:52:56 - g1_start =
2021-10-15 14:52:56 - spin =
2021-10-15 14:52:56 - buffer =
2021-10-15 14:52:56 - cbuffer =
2021-10-15 14:52:56 - s =
2021-10-15 14:52:56 - #2 __pthread_cond_timedwait (cond=0x55555635bb40 <g_scheduler+64>, mutex=0x55555635bb18 <g_scheduler+24>, abstime=0x7ffff71d6d10) at pthread_cond_wait.c:656
2021-10-15 14:52:56 - flags =
2021-10-15 14:52:56 - clockid =
2021-10-15 14:52:56 - #3 0x00005555557fa97b in __gthread_cond_timedwait(pthread_cond_t*, pthread_mutex_t*, timespec const*) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #4 0x00005555557fba68 in std::cv_status std::condition_variable::__wait_until_impl<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::unique_lockstd::mutex&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #5 0x00005555557fb4ef in std::cv_status std::condition_variable::wait_until<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::unique_lockstd::mutex&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #6 0x00005555557fad7b in Scheduler::threadMain() ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #7 0x00005555559f19b4 in void std::__invoke_impl<void, void (Scheduler::)(), Scheduler>(std::__invoke_memfun_deref, void (Scheduler::&&)(), Scheduler&&) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #8 0x00005555559f1771 in std::__invoke_result<void (Scheduler::)(), Scheduler>::type std::__invoke<void (Scheduler::)(), Scheduler>(void (Scheduler::&&)(), Scheduler&&) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #9 0x00005555559f1411 in void std::thread::_Invoker<std::tuple<void (Scheduler::)(), Scheduler> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #10 0x00005555559f0f0c in std::thread::_Invoker<std::tuple<void (Scheduler::)(), Scheduler> >::operator()() ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #11 0x00005555559efd84 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (Scheduler::)(), Scheduler> > >::_M_run() ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #12 0x00007ffff7d3dde4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #13 0x00007ffff7fa7609 in start_thread (arg=) at pthread_create.c:477
2021-10-15 14:52:56 - ret =
2021-10-15 14:52:56 - pd =
2021-10-15 14:52:56 - unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737339291392, 2450014809110033423, 140737488347518, 140737488347519, 140737488347520, 140737339289472, -2449996378828229617, -2449997195121708017}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
2021-10-15 14:52:56 - not_first_call = 0
2021-10-15 14:52:56 - #14 0x00007ffff7b7c293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
2021-10-15 14:52:56 - No locals.
2021-10-15 14:52:56 -
2021-10-15 14:52:56 - Thread 2 (Thread 0x7ffff79d8700 (LWP 322893)):
2021-10-15 14:52:56 - #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
2021-10-15 14:52:56 - set = {__val = {0, 93824993474966, 0, 140736650065200, 140737347680060, 10024297714, 140737347680016, 93824993472440, 140736650065200, 8, 140737347680048, 93824994939927, 8449260344, 140737347680872, 140737347680216, 93824993448106}}
2021-10-15 14:52:56 - pid =
2021-10-15 14:52:56 - tid =
2021-10-15 14:52:56 - ret =
2021-10-15 14:52:56 - #1 0x00007ffff7a7f859 in __GI_abort () at abort.c:79
2021-10-15 14:52:56 - save_stage = 1
2021-10-15 14:52:56 - act = {__sigaction_handler = {sa_handler = 0x7ffff79d7870, sa_sigaction = 0x7ffff79d7870}, sa_mask = {__val = {93824993358173, 140736510906712, 140737347680848, 140734699494144, 140737488347518, 140737347680416, 93824993911291, 140737347680416, 140736510906712, 140737347680848, 140734699494144, 140737347680480, 93824994909352, 140737347680592, 140737239582608, 139667900823776}}, sa_flags = -956091392, sa_restorer = 0x7ffff79d7980}
2021-10-15 14:52:56 - sigs = {__val = {32, 0 <repeats 15 times>}}
2021-10-15 14:52:56 - #2 0x00007ffff7aea3ee in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff7c14285 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
2021-10-15 14:52:56 - ap = {{gp_offset = 24, fp_offset = 32767, overflow_arg_area = 0x7ffff79d7a00, reg_save_area = 0x7ffff79d7990}}
2021-10-15 14:52:56 - fd =
2021-10-15 14:52:56 - list =
2021-10-15 14:52:56 - nlist =
2021-10-15 14:52:56 - cp =
2021-10-15 14:52:56 - #3 0x00007ffff7af247c in malloc_printerr (str=str@entry=0x7ffff7c124ae "free(): invalid pointer") at malloc.c:5347
2021-10-15 14:52:56 - No locals.
2021-10-15 14:52:56 - #4 0x00007ffff7af3cac in _int_free (av=, p=, have_lock=0) at malloc.c:4173
2021-10-15 14:52:56 - size = 0
2021-10-15 14:52:56 - fb =
2021-10-15 14:52:56 - nextchunk =
2021-10-15 14:52:56 - nextsize =
2021-10-15 14:52:56 - nextinuse =
2021-10-15 14:52:56 - prevsize =
2021-10-15 14:52:56 - bck =
2021-10-15 14:52:56 - fwd =
2021-10-15 14:52:56 - PRETTY_FUNCTION = "_int_free"
2021-10-15 14:52:56 - #5 0x00005555557dd186 in __gnu_cxx::new_allocator<std::_List_node<Item*> >::deallocate(std::_List_node<Item*>, unsigned long) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #6 0x00005555557d5d0d in std::allocator_traits<std::allocator<std::_List_node<Item
> > >::deallocate(std::allocator<std::_List_node<Item*> >&, std::_List_node<Item*>, unsigned long) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #7 0x00005555557cb708 in std::__cxx11::_List_base<Item
, std::allocator<Item*> >::_M_put_node(std::_List_node<Item*>) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #8 0x00005555557c1f2f in std::__cxx11::list<Item
, std::allocator<Item*> >::_M_erase(std::_List_iterator<Item*>) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #9 0x00005555557bc563 in std::__cxx11::list<Item*, std::allocator<Item*> >::erase(std::_List_const_iterator<Item*>) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #10 0x00005555557aab42 in Game::checkImbuements() ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #11 0x00005555557e2791 in void std::__invoke_impl<void, void (Game::&)(), Game&>(std::__invoke_memfun_deref, void (Game::&)(), Game&) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #12 0x00005555557dd74e in std::__invoke_result<void (Game::&)(), Game&>::type std::__invoke<void (Game::&)(), Game&>(void (Game::&)(), Game&) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #13 0x00005555557d62b3 in void std::_Bind<void (Game::(Game))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #14 0x00005555557cc135 in void std::_Bind<void (Game::(Game))()>::operator()<, void>() ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #15 0x00005555557c085d in std::_Function_handler<void (), std::_Bind<void (Game::(Game))()> >::_M_invoke(std::_Any_data const&) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #16 0x00005555557fdf50 in std::function<void ()>::operator()() const ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #17 0x00005555557fda72 in Task::operator()() ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #18 0x00005555557fdcab in Dispatcher::threadMain() ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #19 0x00005555559f1a6c in void std::__invoke_impl<void, void (Dispatcher::)(), Dispatcher>(std::__invoke_memfun_deref, void (Dispatcher::&&)(), Dispatcher&&) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #20 0x00005555559f1801 in std::__invoke_result<void (Dispatcher::)(), Dispatcher>::type std::__invoke<void (Dispatcher::)(), Dispatcher>(void (Dispatcher::&&)(), Dispatcher&&) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #21 0x00005555559f145b in void std::thread::_Invoker<std::tuple<void (Dispatcher::)(), Dispatcher> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #22 0x00005555559f0f26 in std::thread::_Invoker<std::tuple<void (Dispatcher::)(), Dispatcher> >::operator()() ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #23 0x00005555559efda6 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (Dispatcher::)(), Dispatcher> > >::_M_run() ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #24 0x00007ffff7d3dde4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #25 0x00007ffff7fa7609 in start_thread (arg=) at pthread_create.c:477
2021-10-15 14:52:56 - ret =
2021-10-15 14:52:56 - pd =
2021-10-15 14:52:56 - unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737347684096, 2450014809110033423, 140737488347518, 140737488347519, 140737488347520, 140737347682176, -2449997478876728305, -2449997195121708017}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
2021-10-15 14:52:56 - not_first_call = 0
2021-10-15 14:52:56 - #26 0x00007ffff7b7c293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
2021-10-15 14:52:56 - No locals.
2021-10-15 14:52:56 -
2021-10-15 14:52:56 - Thread 1 (Thread 0x7ffff79dbbc0 (LWP 322889)):
2021-10-15 14:52:56 - #0 0x00007ffff7b7c5ce in epoll_wait (epfd=4, events=0x7fffffffdaf0, maxevents=128, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
2021-10-15 14:52:56 - resultvar = 18446744073709551612
2021-10-15 14:52:56 - sc_cancel_oldtype = 0
2021-10-15 14:52:56 - sc_ret =
2021-10-15 14:52:56 - #1 0x00005555559d0520 in boost::asio::detail::epoll_reactor::run(long, boost::asio::detail::op_queueboost::asio::detail::scheduler_operation&) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #2 0x00005555559d1c48 in boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code const&) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #3 0x00005555559d16ca in boost::asio::detail::scheduler::run(boost::system::error_code&) ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #4 0x0000555555a76216 in boost::asio::io_context::run() ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #5 0x0000555555a77408 in ServiceManager::run() ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - #6 0x00005555559d6f57 in main ()
2021-10-15 14:52:56 - No symbol table info available.
2021-10-15 14:52:56 - [2021-15-10 14:52:56.487] [info] Saving server...
2021-10-15 14:52:58 - [2021-15-10 14:52:58.008] [info] Saved house items in 0.305 seconds
2021-10-15 14:52:58 - A debugging session is active.
2021-10-15 14:52:58 -
2021-10-15 14:52:58 - Inferior 1 [process 322889] will be killed.
2021-10-15 14:52:58 -
2021-10-15 14:52:58 - Quit anyway? (y or n) [answered Y; input not from terminal]

@gerotib
Copy link
Contributor

gerotib commented Oct 15, 2021

I can confirm the crash, sometimes it occurs some time after the imbuing ends.

@beats-dh
Copy link
Collaborator Author

I can confirm the crash, sometimes it occurs some time after the imbuing ends.

before this commit didn't crash?

@ArturKnopik
Copy link
Contributor

i confirm to, i try port this to canary but crashes stop me from fixing it, i have almost done port but with this crash

@beats-dh
Copy link
Collaborator Author

i confirm to, i try port this to canary but crashes stop me from fixing it, i have almost done port but with this crash

This is very strange, in otbr it works and in Canary it doesn't. Since it doesn't change the code

@gerotib
Copy link
Contributor

gerotib commented Oct 15, 2021

I think that it may crash in otbr too, but noone actually tested that, I may be able to test in couple hours.

@ArturKnopik
Copy link
Contributor

ArturKnopik commented Oct 15, 2021

on canary cyclopedia can stop serwer because we have only 2 monsters in data... maybe this bug can happening becouse of lack of other things

@Methemia
Copy link

this problem also happens in the otbr, there is a problem with the fix that causes the server to crash

@Bipbop69
Copy link

in case I posted about it later in the commit.
even with the fix when it ends the imbu is removing both.
tested with weight leaving all the time in the imbu

@gerotib
Copy link
Contributor

gerotib commented Oct 15, 2021

I dont know if its known thing here, but initially it (removing both imbues) got broken after this commit:
opentibiabr/otservbr-global@4ada199

@FakeShinoda
Copy link

FakeShinoda commented Oct 16, 2021

I dont know if its known thing here, but initially it (removing both imbues) got broken after this commit: opentibiabr/otservbr-global@4ada199

Thanks, you solve the problem.
Delete:

for (uint8_t slot = 0; slot < slots; slot++) {
item->setImbuement(slot, 0);
}

and move item->setImbuement(slot, 0); inside:

if (duration > 0 && newDuration == 0) {
needUpdate = true;
}

@gerotib
Copy link
Contributor

gerotib commented Oct 16, 2021

@FakeShinoda Yeah it seems fine after quick test of both issues.

dudantas and others added 2 commits October 15, 2021 22:00
Co-Authored-By: Rick <23365432+FakeShinoda@users.noreply.github.com>
@sonarcloud
Copy link

sonarcloud bot commented Oct 23, 2021

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 1 Code Smell

0.0% 0.0% Coverage
0.0% 0.0% Duplication

@beats-dh
Copy link
Collaborator Author

beats-dh commented Oct 27, 2021

Fixed on: #150

@beats-dh beats-dh closed this Oct 27, 2021
@beats-dh beats-dh deleted the Fix-remove-imbuing-from-item branch October 27, 2021 02:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants