[BUG] Crash when turning on debug logging on some Linux
Closed this issue · 5 comments
Describe the bug
I checked the latest release 1.1.5
and it seems that the variadic format of log_tag()
doesn't go well with some Linux versions.
On any attempt to call the function, and subsequently vfprintf()
, which is the actual culprit, a crash happens because of missing support.
If the platform really is the cause, this would effectively lock some distros from debugging for versions >1.1.3
, since before 1.1.4
log_tag()
was not variadic.
Edit: Last unaffected version is 1.1.0
, as the submodule koliseo
causes the same crash since 0.1.11
, and 1.1.1
bumped the dependency to 0.1.12
.
Update
I removed mentions of 32bit Linux
since I don't believe that's the culprit for this one. I also corrected the last unaffected version to be 1.1.0
.
Useful backtrace line was:
with __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:74 74
../sysdeps/x86_64/multiarch/strlen-avx2.S: No such file or directory.
#1 0x00007ffff7c76db1 in __vfprintf_internal (_..._)
at ./stdio-common/vfprintf-internal.c:1517
The issue may be related to Koliseo
printing sized stuff which will have a different size on some platforms.
See relevant issue on Koliseo repo.
This stackoverflow link mentions something similar but doesn't ultimately pin the problem to a platform.
This comment seems to suggest it's about printing stuff.
To Reproduce
Steps to reproduce the behavior:
- Compile with debug access.
./configure --enable-debug-yes; make rebuild
- Run the game with
-d
or-l
flag to turn on logging. - Game crashes as soon at the first
log_tag()
call.
Expected behavior
Log function prints to debug log file and returns peacefully.
- OS:
some Linux
- Version:
>1.1.0
(sincekoliseo
has the same crash since its0.1.12
release, which madekls_log()
variadic>=1.1.4
, (sincelog_tag()
became variadic)
I don't think the 32bit part makes any sense. Will need to look into this further.
I updated the issue to remove mentions of 32bit Linux, and correct last unaffected version to be 1.1.0
.
After investigating #52 I suppose the two could be related, and maybe this issue lie in the broken Linux
platform having a different environment (maybe some docker
image?).
This may have been fixed in 1.2.4
, since it bumped koliseo
to 0.3.0
, which doesn't present the issue anymore.