sachinites / tcpip_stack

Implement your own TCP IP Stack
https://www.csepracticals.com/
GNU General Public License v3.0
183 stars 133 forks source link

ISIS Crashed on running isis_tc.ut 0 #37

Open sachinites opened 1 week ago

sachinites commented 1 week ago

Crashed on running isis_tc.ut 0

Not always reproducible.

Quit anyway? (y or n) n Not confirmed. (gdb) bt

0 __pthread_kill_implementation (threadid=281474678976320, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44

1 0x0000fffff7a87690 in __pthread_kill_internal (signo=6, threadid=) at ./nptl/pthread_kill.c:78

2 0x0000fffff7a3cb3c in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26

3 0x0000fffff7a27e00 in __GI_abort () at ./stdlib/abort.c:79

4 0x0000fffff7a35cbc in __assert_fail_base (fmt=0xfffff7b5c6d0 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0xaaaaaab27d38 "this->dynamic_ref_count",

file=file@entry=0xaaaaaab279d8 "Interface/Interface.cpp", line=line@entry=483, function=function@entry=0xaaaaaab27d08 "bool Interface::InterfaceUnLockDynamic()") at ./assert/assert.c:94

5 0x0000fffff7a35d2c in __assert_fail (assertion=0xaaaaaab27d38 "this->dynamic_ref_count", file=0xaaaaaab279d8 "Interface/Interface.cpp", line=483,

function=0xaaaaaab27d08 "bool Interface::InterfaceUnLockDynamic()") at ./assert/assert.c:103

6 0x0000aaaaaaadbaa0 in Interface::InterfaceUnLockDynamic (this=0xfffff3504180) at Interface/Interface.cpp:483

7 0x0000aaaaaaae4a18 in dp_pkt_xmit_intf_job_cbk (ev_dis=0xaaaaaac446b0, pkt=0xaaaaaac44958, pkt_size=32) at common/cp2dp.cpp:96

8 0x0000aaaaaaad28d4 in event_dispatcher_thread (arg=0xaaaaaac446b0) at EventDispatcher/event_dispatcher.c:219

9 0x0000fffff7a8597c in start_thread (arg=0xfffff7fbadc0) at ./nptl/pthread_create.c:447

10 0x0000fffff7aeba4c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone3.S:76

sachinites commented 5 days ago

Fix suggestion, Since Interface is CPP class instance, change all reference to it to std::shared_ptr in code.