Fuzion icon indicating copy to clipboard operation
Fuzion copied to clipboard

Random PaintImGui crash

Open acuifex opened this issue 4 years ago • 1 comments

I experience this for a while now and i'm not sure why. i guess some garbage gets in Draw::drawRequests because default case in PaintImGui sometimes prints some weird values. i think it also happens with fuzion but i don't play that often with it. my fork shouldn't be much different from fuzion

Thread 35 "csgo_linux64" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fac1bbdf700 (LWP 18874)]
0x00007fac55a68695 in Hooks::PaintImGui () at /home/acuifex/Projects/acuion/src/Hooks/Paint.cpp:104
104	        int x0 = (int)((value.x0 / width) * imWidth);
(gdb) backtrace
#0  0x00007fac55a68695 in Hooks::PaintImGui () at /home/acuifex/Projects/acuion/src/Hooks/Paint.cpp:104
#1  0x00007fac55b0ea4b in SwapWindow (window=0x1ac0c40) at /home/acuifex/Projects/acuion/src/sdlhook.cpp:155
#2  0x00007facd72d6c64 in ?? ()
#3  0x00007facd6729be0 in ?? () from /home/acuifex/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/linux64/libtogl_client.so
#4  0x0000000007f86000 in ?? ()
#5  0x00007facd6729be0 in ?? () from /home/acuifex/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/linux64/libtogl_client.so
#6  0x00007facd6729bd8 in ?? () from /home/acuifex/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/linux64/libtogl_client.so
#7  0x00007fac1bbdec80 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

acuifex avatar Feb 21 '21 16:02 acuifex

i debugged a bit and "value" reference is pointing to null. i guess that could be a race condition between for loop and .push_back. Possible fix could be to add mutex to every addDrawRequest function but this could hit the performance a bit

acuifex avatar Feb 24 '21 20:02 acuifex