```
[1/322] Building C object CMakeFiles/glew.dir/src/engine/external/glew/glew.c.o
FAILED: CMakeFiles/glew.dir/src/engine/external/glew/glew.c.o
/usr/bin/cc -DGLEW_STATIC -I/home/runner/work/ddnet/ddnet/src/engine/external/glew -g -fdiagnostics-color=always -fstack-protector-strong -fno-exceptions -fsigned-char -Wno-implicit-function-declaration -MD -MT CMakeFiles/glew.dir/src/engine/external/glew/glew.c.o -MF CMakeFiles/glew.dir/src/engine/external/glew/glew.c.o.d -o CMakeFiles/glew.dir/src/engine/external/glew/glew.c.o -c /home/runner/work/ddnet/ddnet/src/engine/external/glew/glew.c
In file included from /home/runner/work/ddnet/ddnet/src/engine/external/glew/glew.c:34:
/home/runner/work/ddnet/ddnet/src/engine/external/glew/GL/glew.h:1205:14: fatal error: GL/glu.h: No such file or directory
1205 | # include <GL/glu.h>
| ^~~~~~~~~~
compilation terminated.
[2/322] Building C object CMakeFiles/wavpack.dir/src/engine/external/wavpack/float.c.o
```
The ASan/UBSan logs are currently only printed in the CI log when launching the client and server once.
Now the logs are also printed when the unit or integration tests fail due to a sanitizer crash.
A redundant definition of an environment variable is removed.
See also Jupeyy's explanation in
https://github.com/ddnet/ddnet/issues/4294 for why we want to ignore
this:
> sadly components have no OnDestruct on anything like that
> so aslong it doesn't actually leak it's just non destructed memory
So it's something we allocate once for the entire client lifetime from
my understanding.
=================================================================
==421461==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 411760 byte(s) in 10 object(s) allocated from:
#0 0x55eaf0c08a29 in malloc (/media/ddnet/integration_test/DDNet+0x736a29)
#1 0x55eaf0de9f72 in CCommandProcessorFragment_OpenGL2::Cmd_CreateBufferObject(CCommandBuffer::SCommand_CreateBufferObject const*) /media/ddnet/src/engine/client/backend/opengl/backend_opengl.cpp:1898:25
#2 0x55eaf0dd82f5 in CCommandProcessorFragment_OpenGL::RunCommand(CCommandBuffer::SCommand const*) /media/ddnet/src/engine/client/backend/opengl/backend_opengl.cpp
#3 0x55eaf0f73229 in CCommandProcessor_SDL_GL::RunBuffer(CCommandBuffer*) /media/ddnet/src/engine/client/backend_sdl.cpp:246:20
#4 0x55eaf0f70568 in CGraphicsBackend_Threaded::ThreadFunc(void*) /media/ddnet/src/engine/client/backend_sdl.cpp:75:25
#5 0x55eaf0d679d7 in thread_run(void*) /media/ddnet/src/base/system.cpp:686:2
#6 0x7f08b788c54c (/usr/lib/libc.so.6+0x8c54c)
SUMMARY: AddressSanitizer: 411760 byte(s) leaked in 10 allocation(s).
/home/runner/work/ddnet/ddnet/src/engine/external/pnglite/pnglite.c:68:16: runtime error: left shift of 170 by 24 places cannot be represented in type 'int'
#0 0x1b85f2f in file_read_ul /home/runner/work/ddnet/ddnet/src/engine/external/pnglite/pnglite.c:68:16
#1 0x1b7e129 in png_read_ihdr /home/runner/work/ddnet/ddnet/src/engine/external/pnglite/pnglite.c:171:2
#2 0x1b7d867 in png_open_read /home/runner/work/ddnet/ddnet/src/engine/external/pnglite/pnglite.c:275:11
#3 0xb59f78 in CGraphics_Threaded::LoadPNG(CImageInfo*, char const*, int) /home/runner/work/ddnet/ddnet/src/engine/client/graphics_threaded.cpp:642:14
#4 0xb54e78 in CGraphics_Threaded::LoadTexture(char const*, int, int, int) /home/runner/work/ddnet/ddnet/src/engine/client/graphics_threaded.cpp:517:5
#5 0x18e24f7 in CEditor::Init() /home/runner/work/ddnet/ddnet/src/game/editor/editor.cpp:6354:32
#6 0xa8732e in CClient::Run() /home/runner/work/ddnet/ddnet/src/engine/client/client.cpp:2917:13
#7 0xaef796 in main /home/runner/work/ddnet/ddnet/src/engine/client/client.cpp:4462:11
#8 0x7ff6950d80b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x240b2)
#9 0x43ce7d in _start (/home/runner/work/ddnet/ddnet/san/DDNet+0x43ce7d)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/runner/work/ddnet/ddnet/src/engine/external/pnglite/pnglite.c:68:16 in