Open blmarket opened 2 months ago
Example video: https://youtu.be/zX1V9vsbtfU?t=542
How to reproduce: just... has to play game in a solo quest mode. Sometimes it happen in less than 5min, in other case it does not happen after 1 hour.
Some game logs:
2024/08/06 18:38:56 [console]: 시스템> 화이어볼 마법을 사용했습니다. 2024/08/06 18:38:56 [console]: 시스템> 화이어볼 마법을 사용했습니다. panic: runtime error: invalid memory address or nil pointer dereference [recovered] panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x200 pc=0x8bda476] goroutine 1 [running, locked to thread]: github.com/noxworld-dev/opennox/v1.RunArgs.func1() /home/blmarket/proj/opennox/src/main.go:96 +0x8f panic({0x8fb51a0, 0x9c8e438}) /usr/lib/go/src/runtime/panic.go:770 +0x103 github.com/noxworld-dev/opennox/v1/client.(*clientDrawables).New(...) /home/blmarket/proj/opennox/src/client/drawable.go:112 github.com/noxworld-dev/opennox/v1.(*Client).Nox_new_drawable_for_thing(0x65e66000, 0x28d) /home/blmarket/proj/opennox/src/drawable.go:43 +0x46 github.com/noxworld-dev/opennox/v1.(*Client).Nox_xxx_spriteLoadAdd_45A360_drawable(0x65e66000, 0x28d, {0xe39, 0x409}) /home/blmarket/proj/opennox/src/drawable.go:74 +0x2d github.com/noxworld-dev/opennox/v1/legacy.nox_xxx_spriteLoadAdd_45A360_drawable(0x28d, 0xe39, 0x409) /home/blmarket/proj/opennox/src/legacy/drawable.go:65 +0x46 github.com/noxworld-dev/opennox/v1/legacy._Cfunc_nox_xxx_netOnPacketRecvCli_48EA70_switch(0x1f, 0x93, 0x6ceb1013, 0x31) _cgo_gotypes.go:8779 +0x3f
Seems it failed to get an object allocated from static pool (seems by default dynamic allocation is not enabled) and return nil, and then the caller tries to write some values in the nil object.
Would be great if we can add more debugging logs on: https://github.com/noxworld-dev/opennox/blob/ff4c0e62e140dedf44855c2e31b4650fbbad0222/src/legacy/common/alloc/classes.go#L280
about remaining free list count, so that we can see which objects do matter.
Example video: https://youtu.be/zX1V9vsbtfU?t=542
How to reproduce: just... has to play game in a solo quest mode. Sometimes it happen in less than 5min, in other case it does not happen after 1 hour.
Some game logs:
Seems it failed to get an object allocated from static pool (seems by default dynamic allocation is not enabled) and return nil, and then the caller tries to write some values in the nil object.
Would be great if we can add more debugging logs on: https://github.com/noxworld-dev/opennox/blob/ff4c0e62e140dedf44855c2e31b4650fbbad0222/src/legacy/common/alloc/classes.go#L280
about remaining free list count, so that we can see which objects do matter.