EDuke32 issueshttps://voidpoint.io/terminx/eduke32/-/issues2024-03-16T00:33:52-07:00https://voidpoint.io/terminx/eduke32/-/issues/263Broken "Duke-Tag!" announcement sounds2024-03-16T00:33:52-07:00NY00123Broken "Duke-Tag!" announcement soundsThese can be played back in E4L10's "Duke-Tag!" mode upon obtaining a pair of boots, and also when scoring for a team.
The problem is also relevant for NetDuke32 and Rednukem.
Changing S_PlaySound3D to ignore S_PlaySound's return value...These can be played back in E4L10's "Duke-Tag!" mode upon obtaining a pair of boots, and also when scoring for a team.
The problem is also relevant for NetDuke32 and Rednukem.
Changing S_PlaySound3D to ignore S_PlaySound's return value, and unconditionally return 0 instead, appeared to fix the problem in all of EDuke32, NetDuke32 and Rednukem; This is a bit closer to the original DOS code, but I'm unsure it's the correct solution. I also tried returning -1 instead.https://voidpoint.io/terminx/eduke32/-/issues/291Timeframe for new code used in Ion Fury to show up in the eduke32 repo?2024-01-18T09:12:11-08:00eisnerguy1Timeframe for new code used in Ion Fury to show up in the eduke32 repo?I'm wondering how long it usually takes for code used in new versions of Ion Fury, like [3\.0.02](https://steamcommunity.com/app/562860/discussions/0/3886101131583442440/), to show up in the eduke32 repo?
![Screen Shot 2023-10-04 at 8.1...I'm wondering how long it usually takes for code used in new versions of Ion Fury, like [3\.0.02](https://steamcommunity.com/app/562860/discussions/0/3886101131583442440/), to show up in the eduke32 repo?
![Screen Shot 2023-10-04 at 8.17.26 PM copy.png](/uploads/1f541c43345cf4dca35521605bf70298/Screen_Shot_2023-10-04_at_8.17.26_PM_copy.png){width=666 height=74}
I don't see any commit that has 2bd99eb00 in the commit hash at all. I wanted to make sure my compiled eduke32 matched the official commit used in the newest version of Ion Fury. Thanks! :thumbsup:https://voidpoint.io/terminx/eduke32/-/issues/286Unable to compile on macOS (arm64; Apple Silicon)2023-12-22T21:14:54-08:00John KlimekUnable to compile on macOS (arm64; Apple Silicon)I'm trying to compile on macOS (arm64; Apple Silicon) and it compiles most of the code successfully but then it errors on loguru.cpp:
```
In file included from source/build/src/loguru.cpp:46:
In file included from /Library/Developer/Com...I'm trying to compile on macOS (arm64; Apple Silicon) and it compiles most of the code successfully but then it errors on loguru.cpp:
```
In file included from source/build/src/loguru.cpp:46:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/regex:771:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale:888:21: error: too many arguments provided to function-like macro invocation
isalpha(_CharT __c, const locale& __loc)
^
source/build/include/compat.h:769:11: note: macro 'isalpha' defined here
# define isalpha(ch) ({ int32_t c__dontuse2_=ch; (c__dontuse2_>='A' && c__dontuse2_<='Z') || (c__dontuse2_>='a' && c__dontuse2_<='z'); })
^
In file included from source/build/src/loguru.cpp:46:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/regex:771:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale:888:1: error: declaration conflicts with target of using declaration already in scope
isalpha(_CharT __c, const locale& __loc)
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_ctype.h:218:1: note: target of using declaration
isalpha(int _c)
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cctype:113:9: note: using declaration
using ::isalpha _LIBCPP_USING_IF_EXISTS;
^
In file included from source/build/src/loguru.cpp:46:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/regex:771:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale:890:5: error: expected expression
return std::use_facet<ctype<_CharT> >(__loc).is(ctype_base::alpha, __c);
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale:891:2: error: expected ';' at end of declaration
}
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale:896:21: error: too many arguments provided to function-like macro invocation
isdigit(_CharT __c, const locale& __loc)
^
source/build/include/compat.h:768:11: note: macro 'isdigit' defined here
# define isdigit(ch) ({ int32_t c__dontuse_=ch; c__dontuse_>='0' && c__dontuse_<='9'; })
^
In file included from source/build/src/loguru.cpp:46:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/regex:771:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale:896:1: error: declaration conflicts with target of using declaration already in scope
isdigit(_CharT __c, const locale& __loc)
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_ctype.h:237:1: note: target of using declaration
isdigit(int _c)
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cctype:116:9: note: using declaration
using ::isdigit _LIBCPP_USING_IF_EXISTS;
^
In file included from source/build/src/loguru.cpp:46:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/regex:771:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale:898:5: error: expected expression
return std::use_facet<ctype<_CharT> >(__loc).is(ctype_base::digit, __c);
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale:899:2: error: expected ';' at end of declaration
}
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale:920:21: error: too many arguments provided to function-like macro invocation
isalnum(_CharT __c, const locale& __loc)
^
source/build/include/compat.h:770:11: note: macro 'isalnum' defined here
# define isalnum(ch2) ({ int32_t c2__dontuse_=ch2; isalpha(c2__dontuse_) || isdigit(c2__dontuse_); })
^
In file included from source/build/src/loguru.cpp:46:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/regex:771:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale:920:1: error: declaration conflicts with target of using declaration already in scope
isalnum(_CharT __c, const locale& __loc)
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_ctype.h:212:1: note: target of using declaration
isalnum(int _c)
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cctype:112:9: note: using declaration
using ::isalnum _LIBCPP_USING_IF_EXISTS;
^
In file included from source/build/src/loguru.cpp:46:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/regex:771:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale:922:5: error: expected expression
return std::use_facet<ctype<_CharT> >(__loc).is(ctype_base::alnum, __c);
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale:923:2: error: expected ';' at end of declaration
}
^
source/build/src/loguru.cpp:514:25: error: expected unqualified-id
last_is_alpha = std::isalpha(static_cast<int>(cmd[arg_len]));
^
source/build/include/compat.h:769:23: note: expanded from macro 'isalpha'
# define isalpha(ch) ({ int32_t c__dontuse2_=ch; (c__dontuse2_>='A' && c__dontuse2_<='Z') || (c__dontuse2_>='a' && c__dontuse2_<='z'); })
^
source/build/src/loguru.cpp:514:25: error: unexpected type name 'int32_t': expected expression
source/build/include/compat.h:769:26: note: expanded from macro 'isalpha'
# define isalpha(ch) ({ int32_t c__dontuse2_=ch; (c__dontuse2_>='A' && c__dontuse2_<='Z') || (c__dontuse2_>='a' && c__dontuse2_<='z'); })
^
source/build/src/loguru.cpp:514:25: error: expected '}'
source/build/include/compat.h:769:34: note: expanded from macro 'isalpha'
# define isalpha(ch) ({ int32_t c__dontuse2_=ch; (c__dontuse2_>='A' && c__dontuse2_<='Z') || (c__dontuse2_>='a' && c__dontuse2_<='z'); })
^
source/build/src/loguru.cpp:514:25: note: to match this '{'
source/build/include/compat.h:769:24: note: expanded from macro 'isalpha'
# define isalpha(ch) ({ int32_t c__dontuse2_=ch; (c__dontuse2_>='A' && c__dontuse2_<='Z') || (c__dontuse2_>='a' && c__dontuse2_<='z'); })
^
15 errors generated.
```
Thanks for any help!https://voidpoint.io/terminx/eduke32/-/issues/285Current version not buildable on Linux2023-12-03T13:37:31-08:00Jörg StrebelCurrent version not buildable on LinuxHallo!
Enclosed you will find the error messages that I encountered when buildung Duke3D on openSUSE Leap 15.4 Linux with the current version from the git repo
[error-messages.txt](/uploads/80ddd40a367371cba8c6e2b0d0785d6e/error-message...Hallo!
Enclosed you will find the error messages that I encountered when buildung Duke3D on openSUSE Leap 15.4 Linux with the current version from the git repo
[error-messages.txt](/uploads/80ddd40a367371cba8c6e2b0d0785d6e/error-messages.txt)
It seems, the optimized memory library does not work with my CPU. Here is the information on my system:
- CPU: Intel Core i5-2500 (Sandy Bridge D2/J1/Q0) {Sandy Bridge}
- RAM: 16 GB
- OS: openSUSE Leap 15.4
- Kernel-Version: 5.14.21-150400.24.81-default (64-bit)
- X-Windows: X11
Is there a way to disable the mimalloc library?https://voidpoint.io/terminx/eduke32/-/issues/278[SW] Assertion `(spr->cstat & CSTAT_SPRITE_ALIGNMENT) == CSTAT_SPRITE_ALIGNME...2023-11-16T16:35:48-08:00Roland Häder[SW] Assertion `(spr->cstat & CSTAT_SPRITE_ALIGNMENT) == CSTAT_SPRITE_ALIGNMENT_FLOOR` failedThis happens during saving the game in airplane map.
```
voidsw: source/build/src/engine_priv.h:457: vec2_t get_floorspr_center(const void*, bool): Assertion `(spr->cstat & CSTAT_SPRITE_ALIGNMENT) == CSTAT_SPRITE_ALIGNMENT_FLOOR' failed....This happens during saving the game in airplane map.
```
voidsw: source/build/src/engine_priv.h:457: vec2_t get_floorspr_center(const void*, bool): Assertion `(spr->cstat & CSTAT_SPRITE_ALIGNMENT) == CSTAT_SPRITE_ALIGNMENT_FLOOR' failed.
Caught signal: SIGABRT
Stack trace:
22 0x63185b752e0a _start + 42
21 0x785cfb4bdd0a __libc_start_main + 234
20 0x63185badc9b0 main + 463
19 0x63185b78ecd9 app_main + 4603
18 0x63185b78cd8e Control(int, char const* const*) + 104
17 0x63185b78a240 NewLevel() + 259
16 0x63185b78d682 RunLevel() + 238
15 0x63185b7e015e UpdateInputs() + 87
14 0x63185b791ac9 getinput(SW_PACKET*, unsigned char) + 6299
13 0x63185b78f564 FunctionKeys(PLAYERstruct*) + 913
12 0x63185b78f15b DoQuickSave(short) + 30
11 0x63185b822433 SaveGame(short) + 265
10 0x63185b78630d ScreenSaveSetup() + 71
9 0x63185b785735 drawscreen(PLAYERstruct*) + 3255
8 0x63185b9fb161 renderDrawMasks + 2294
7 0x63185b9fa696 /home/quix0r/git/eduke32/voidsw(+0x44d696) [0x63185b9fa696]
6 0x63185b9cac9d /home/quix0r/git/eduke32/voidsw(+0x41dc9d) [0x63185b9cac9d]
5 0x785cfb4cb662 /lib/x86_64-linux-gnu/libc.so.6(+0x31662) [0x785cfb4cb662]
4 0x785cfb4bc40f /lib/x86_64-linux-gnu/libc.so.6(+0x2240f) [0x785cfb4bc40f]
3 0x785cfb4bc537 abort + 291
2 0x785cfb4d2ce1 gsignal + 321
1 0x785cfb682140 /lib/x86_64-linux-gnu/libpthread.so.0(+0x13140) [0x785cfb682140]
0 0x63185ba2e43b loguru::signal_handler(int, siginfo_t*, void*) + 29
2049.1478s FATAL| Signal: SIGABRT
```
This set the save game to zero bytes.
Just download this save-game, exit the map and then you should be inside the airplane. Then try to quick-save it.
[game0.sav](/uploads/e3b666d547a99575952cc69d5b2b4221/game0.sav)https://voidpoint.io/terminx/eduke32/-/issues/292Engine: Autosaves keep saving over the same slot2023-10-07T07:53:29-07:00Dino Bollingerdino.bollinger@gmail.comEngine: Autosaves keep saving over the same slotThis is a problem that's commonly observed in the Bike Race maps in Aftershock.
Despite specifying e.g. 5 available autosave slots, the game keeps saving over the same one, instead of cycling through them properly.This is a problem that's commonly observed in the Bike Race maps in Aftershock.
Despite specifying e.g. 5 available autosave slots, the game keeps saving over the same one, instead of cycling through them properly.https://voidpoint.io/terminx/eduke32/-/issues/289Allow changing localtion of the logfiles (eduke32.log, mapster32.log)2023-10-03T22:36:05-07:00Ignacio TarantoAllow changing localtion of the logfiles (eduke32.log, mapster32.log)Currently, EDuke32 creates `eduke32.log` file in the *current working directory* from where the `eduke32` executable is run.
For example, in Linux, if I use the `.desktop` launcher, the `eduke32.log` file gets created in my home directo...Currently, EDuke32 creates `eduke32.log` file in the *current working directory* from where the `eduke32` executable is run.
For example, in Linux, if I use the `.desktop` launcher, the `eduke32.log` file gets created in my home directory.
But if I change the directory to somewhere else, for example, `cd /tmp` and then I run `eduke32` (from the terminal), then the file is created in `/tmp` instead.
I would like to have more control over where this log file is created.
I read the docs but I couldn't find any way to change this behavior, either through the config file or environment variables.
Thanks.https://voidpoint.io/terminx/eduke32/-/issues/290Unable to compile on macOS 12.6.8 Intel2023-10-03T16:14:17-07:00eisnerguy1Unable to compile on macOS 12.6.8 IntelI'm trying to compile the [latest fury commit](https://voidpoint.io/terminx/eduke32/-/tree/c42e09ac0d832a38e3d5f91b777dc0220ec5243c) on macOS 12.6.8 Intel. It errors out at this point:
```plaintext
Built object obj/imgui/imgui_impl_open...I'm trying to compile the [latest fury commit](https://voidpoint.io/terminx/eduke32/-/tree/c42e09ac0d832a38e3d5f91b777dc0220ec5243c) on macOS 12.6.8 Intel. It errors out at this point:
```plaintext
Built object obj/imgui/imgui_impl_opengl3.o
Built object obj/imgui/imgui_impl_sdl2.o
Built object obj/imgui/imgui_tables.o
Built object obj/imgui/imgui_widgets.o
Built object obj/glad/glad.o
clang: warning: argument unused during compilation: '-no-pie' [-Wunused-command-line-argument]
ld: unknown option: -Bstatic
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Failed linking fury!
If the build options, environment, or system packages have changed, run 'make clean' and try again.
make: *** [fury] Error 1
```
I've attached the full command line output if that helps at all
[eduke32_fury_c42e09ac_output.txt](/uploads/a5533b6f12b12e948bfb5475b78ed5d8/eduke32_fury_c42e09ac_output.txt)
I feel like I'm missing something super obvious here. Any help at all would be greatly appreciated.https://voidpoint.io/terminx/eduke32/-/issues/287save/load cycle changes boardfilename2023-09-18T00:21:03-07:00Dezolatorsave/load cycle changes boardfilenameWhen I start new game via game menu, lets say 'L.A.MELTDOWN' episode, boardfilename[0]=='\0'. After I save and load game 'boardfilename' becomes "/E1L1.map"
I think that this may be result of 5e55626963681c363131fe5df8f7533fee2b9a21 and...When I start new game via game menu, lets say 'L.A.MELTDOWN' episode, boardfilename[0]=='\0'. After I save and load game 'boardfilename' becomes "/E1L1.map"
I think that this may be result of 5e55626963681c363131fe5df8f7533fee2b9a21 and subsequent commits, and I consider this behavior undesirable. 'boardfilename' is used in various tests for example in 'G_HaveUserMap'.
This can cause certain mods that contain more than 7 levels in first episode (Blast Radius) to end prematurely, because engine, based on if level was loaded from savefile or not, evaluates that user map, instead of episode is being played.Dino Bollingerdino.bollinger@gmail.comDino Bollingerdino.bollinger@gmail.comhttps://voidpoint.io/terminx/eduke32/-/issues/171Duke3D: Sprite shadows display on transparent, non-solid TROR transitions2023-09-03T13:20:26-07:00Dino Bollingerdino.bollinger@gmail.comDuke3D: Sprite shadows display on transparent, non-solid TROR transitionsThe hardcoded sprite shadow is not TROR-aware and will display on all non-solid and transparent TROR transitions:
![duke0003](/uploads/cb0dc6272ff19c353ebd0e65784df16c/duke0003.png)
Test map: [trorcommander.map](/uploads/0eff3ebf65059a...The hardcoded sprite shadow is not TROR-aware and will display on all non-solid and transparent TROR transitions:
![duke0003](/uploads/cb0dc6272ff19c353ebd0e65784df16c/duke0003.png)
Test map: [trorcommander.map](/uploads/0eff3ebf65059a2a18358834cde8f09e/trorcommander.map)https://voidpoint.io/terminx/eduke32/-/issues/24TROR blocks enemies2023-09-03T05:30:00-07:00LeoDTROR blocks enemiesBisect-compiled to r7443-3f3ce8f18 / svn7450
Forum: https://forums.duke4.net/topic/10751-enemies-are-broken-on-tror-barriers/
As of r7481-422afced1 / svn7488 the player can't leave the trench as well, fixed at r7538-337afdeea / svn7545...Bisect-compiled to r7443-3f3ce8f18 / svn7450
Forum: https://forums.duke4.net/topic/10751-enemies-are-broken-on-tror-barriers/
As of r7481-422afced1 / svn7488 the player can't leave the trench as well, fixed at r7538-337afdeea / svn7545
(Maybe this info is helpful.)
Reproduce: [vp024-BuildGameTest.zip](/uploads/49c5d72987be1e11a47bd3044920a337/vp024-BuildGameTest.zip)Dino Bollingerdino.bollinger@gmail.comDino Bollingerdino.bollinger@gmail.comhttps://voidpoint.io/terminx/eduke32/-/issues/220Engine: Polymost per-map ART may not refresh properly between levels2023-09-01T18:58:25-07:00Dino Bollingerdino.bollinger@gmail.comEngine: Polymost per-map ART may not refresh properly between levelsThis is a bug that has existed since the per-map art system has been introduced (starting with r4257), and has eluded me for over 2 years.
In short, the problem is that certain per-map art textures are not unloaded properly by the Polym...This is a bug that has existed since the per-map art system has been introduced (starting with r4257), and has eluded me for over 2 years.
In short, the problem is that certain per-map art textures are not unloaded properly by the Polymost renderer when changing levels, causing the old texture, which was derived from per-map art in preceeding levels, to appear in place of the intended one. Both per-map art tiles share the same index, and the conditions for this to occur appear to be very specific.
After many fruitless attempts to reproduce the problem, we finally have a consistent test case: [polymost_permap_bug.zip](/uploads/42b11ef3b3eff9c79c8591e78e6d4ee0/polymost_permap_bug.zip)
The archive contains two map files, a CON file, as well as 3 ART files. Each ART file contains 256 tiles ranging from indices 15360 to 15615. The maps are identical and contain an exit switch, as well as a sprite with picnum `15579`. Two of the ART files are per-map art, with names that correspond to the two maps. The third ART file is named `TILES060.ART`, which is always loaded by the game, and covers the same range of tiles as the per-map art. Note that this third ART file is absolutely essential to reproduce the problem; it will not occur without it.
Simply place all files in your eduke32 folder, and launch the game. Make sure that you start the game with the **Polymost** renderer, and pick the first episode. This should now start you in the first of the two maps, where you will find the sprite of a scientist in a chair, as well as the exit switch. You should be seeing the same view as in the screenshot:
![duke0000](/uploads/fdddad3557ff1de7ae8617fcc8fe58ad/duke0000.png)
Now proceed to the second level using the nuke button. If the bug was triggered, the second map will now be the exact same as the first, with the same view as in the above screenshot. This is the problem in question. Despite the scientist tile not being part of the map's assigned art file, it will still show up after continuing from E1L1 to E1L2.
Finally, open the console, execute the command `restartvid`, and the sprite will change into its proper form:
![duke0001](/uploads/25bdeca852617037dee48a1ec84d18f4/duke0001.png)
As such, the problem must be caused by the renderer. Moreover, the glitch does not occur in Classic mode or in Polymer, as such it is a Polymost problem. I suspect that this is a cached texture from when the tile was loaded in the previous map, which is not properly flushed by the time the new per-map art is loaded.
Further observations:
- The dimensions of the tiles between ART files differ.
- Removing the file `TILES060.ART` will prevent the glitch from occurring.
- Switching to Polymer will make the problem disappear temporarily, but it will reappear once switching back to Polymost.
- Switching to Classic mode will persistently resolve the issue, even if you switch back to Polymost.
- Skipping to the second level with the usermap menu will allow the tile to load properly. But if you enter the first map now, you will now see the incorrect tile here instead.
- Saving the game in the bugged state, restarting the game, and then reloading the save will clear the issue (this is what made it almost impossible to debug).
- The tile range may also play a significant role. If tilenum `490` is replaced instead of tilenum `15579`, the glitch will not occur -- despite this tile having a base ART file in Duke3D.https://voidpoint.io/terminx/eduke32/-/issues/144Crash in libc.so.6 with joystick2023-09-01T14:49:46-07:00noa bodyCrash in libc.so.6 with joystickManjaro Ornara 21.0 kernel 5.10.23 with Logitch F710 controller attached in either Dinput or Xinput mode causes an exception in libc.so.6. Removing the usb dongle allows the game to start normally.
On reading it seems the joystick routi...Manjaro Ornara 21.0 kernel 5.10.23 with Logitch F710 controller attached in either Dinput or Xinput mode causes an exception in libc.so.6. Removing the usb dongle allows the game to start normally.
On reading it seems the joystick routines just have issues so I would imagine this is well known.
```
ATTENTION: default value of option mesa_glthread overridden by environment.
EDuke32 r9319[makepkg]-c38987bbb
Built Mar 20 2021 01:03:20, GCC 10.2.0, 64-bit
Initializing OSD...
Loaded game controller database
Game controllers:
1. Logitech F710 Gamepad (DInput)
Using controller Logitech F710 Gamepad (DInput)
Executing "settings.cfg"
Setting video mode 1280x720 (32-bpp windowed)
Refresh rate: 60.00Hz
OpenGL information
AMD AMD Radeon (TM) R9 380 Series (TONGA, DRM 3.40.0, 5.10.23-1-MANJARO, LLVM 11.1.0) 4.6 (Compatibility Profile) Mesa 20.3.4
Opened "texturecache" as cache file
Initializing sound: SDL PULSEAUDIO driver on Radeon R9 285/380 HDMI Audio: 48.0 KHz stereo with 64 voices
Initializing MIDI driver: AdLib OPL3 emulation
eduke32(+0x19013a)[0x55a4a870e13a]
/usr/lib/libc.so.6(+0x3cf80)[0x7f8c3d5a4f80]
/usr/lib/libc.so.6(+0x14f6e0)[0x7f8c3d6b76e0]
eduke32(+0xabac9)[0x55a4a8629ac9]
eduke32(+0x74de8)[0x55a4a85f2de8]
eduke32(+0x2d43a)[0x55a4a85ab43a]
/usr/lib/libc.so.6(__libc_start_main+0xd5)[0x7f8c3d58fb25]
eduke32(+0x3043e)[0x55a4a85ae43e]
ATTENTION: default value of option mesa_glthread overridden by environment.
EDuke32 r9319[makepkg]-c38987bbb
Built Mar 20 2021 01:03:20, GCC 10.2.0, 64-bit
Initializing OSD...
Loaded game controller database
Game controllers:
1. Logitech F710 Gamepad (XInput)
Using controller Logitech F710 Gamepad (XInput)
Executing "settings.cfg"
Setting video mode 1280x720 (32-bpp windowed)
Refresh rate: 60.00Hz
OpenGL information
AMD AMD Radeon (TM) R9 380 Series (TONGA, DRM 3.40.0, 5.10.23-1-MANJARO, LLVM 11.1.0) 4.6 (Compatibility Profile) Mesa 20.3.4
Opened "texturecache" as cache file
Initializing sound: SDL PULSEAUDIO driver on Radeon R9 285/380 HDMI Audio: 48.0 KHz stereo with 64 voices
Initializing MIDI driver: AdLib OPL3 emulation
eduke32(+0x19013a)[0x55899b1f013a]
/usr/lib/libc.so.6(+0x3cf80)[0x7f276c0e4f80]
/usr/lib/libc.so.6(+0x14f6e0)[0x7f276c1f76e0]
eduke32(+0xabac9)[0x55899b10bac9]
eduke32(+0x74de8)[0x55899b0d4de8]
eduke32(+0x2d43a)[0x55899b08d43a]
/usr/lib/libc.so.6(__libc_start_main+0xd5)[0x7f276c0cfb25]
eduke32(+0x3043e)[0x55899b09043e]
```https://voidpoint.io/terminx/eduke32/-/issues/145vsync in linux can't be set2023-09-01T14:36:55-07:00Heorhi Vvsync in linux can't be set`sdlayer_checkvsync` does some magic to determine if vsync is locked. Later it prevents `videoSetVsync` from change vsync options at all. However if i remove first check with `vsync_unsupported` i can have tear-free image.
I suspect tha...`sdlayer_checkvsync` does some magic to determine if vsync is locked. Later it prevents `videoSetVsync` from change vsync options at all. However if i remove first check with `vsync_unsupported` i can have tear-free image.
I suspect that `SDL_GL_GetSwapInterval` reports either "adaptive sync" or "no sync" and this most likely breaks `sdlayer_checkvsync` magic and disable vsync switching at all.https://voidpoint.io/terminx/eduke32/-/issues/282Duke3D: crash at A_DamageWall_Internal2023-08-27T08:08:50-07:00Alexey MDuke3D: crash at A_DamageWall_InternalSteps to reproduce:
1. Load attached save file.
2. Shoot at the crack on the wall.
3. Crash happens every time the wall explodes.
[save0000.esv](/uploads/5af1bd08814a2271d5df5b9b2b27227d/save0000.esv)
Logs:
```bash
0,2772s INFO| EDu...Steps to reproduce:
1. Load attached save file.
2. Shoot at the crack on the wall.
3. Crash happens every time the wall explodes.
[save0000.esv](/uploads/5af1bd08814a2271d5df5b9b2b27227d/save0000.esv)
Logs:
```bash
0,2772s INFO| EDuke32 r10364-c257d5a65
0,2773s INFO| Built Aug 27 2023 10:43:54, clang 14.0.0 , 64-bit
...
source/duke3d/src/sector.cpp:1567:10: runtime error: index -1 out of bounds for type 'tiledata_t[30720]'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior source/duke3d/src/sector.cpp:1567:10 in
=================================================================
==426411==ERROR: AddressSanitizer: global-buffer-overflow on address 0x5555580a34b8 at pc 0x5555563fc059 bp 0x7fffffffcef0 sp 0x7fffffffcee8
READ of size 4 at 0x5555580a34b8 thread T0
[Detaching after fork from child process 426947]
#0 0x5555563fc058 in A_DamageWall_Internal eduke32/source/duke3d/src/sector.cpp:1567:36
#1 0x555555f631f3 in A_RadiusDamage eduke32/source/duke3d/src/actors.cpp:386:25
#2 0x555556056bfc in G_MoveStandables() eduke32/source/duke3d/src/actors.cpp:2500:25
#3 0x555555f912a0 in G_MoveWorld eduke32/source/duke3d/src/actors.cpp:9346:9
#4 0x555556144e71 in G_DoMoveThings eduke32/source/duke3d/src/game.cpp:7343:9
#5 0x55555613eec5 in app_main eduke32/source/duke3d/src/game.cpp:7128:25
#6 0x5555569a9dc1 in main eduke32/source/build/src/sdlayer.cpp:568:19
#7 0x7ffff7460d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#8 0x7ffff7460e3f in __libc_start_main csu/../csu/libc-start.c:392:3
#9 0x555555e9a4a4 in _start ( eduke32/eduke32+0x9464a4) (BuildId: 340a921f9d3d660d)
0x5555580a34b8 is located 8 bytes to the left of global variable 'g_tile' defined in 'source/duke3d/src/global.h:73:21' (0x5555580a34c0) of size 1228800
0x5555580a34b8 is located 61432 bytes to the right of global variable 'g_tileLabels' defined in 'source/duke3d/src/global.h:72:16' (0x5555580584c0) of size 245760
SUMMARY: AddressSanitizer: global-buffer-overflow eduke32/source/duke3d/src/sector.cpp:1567:36 in A_DamageWall_Internal
Shadow bytes around the buggy address:
0x0aab2b00c640: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
0x0aab2b00c650: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
0x0aab2b00c660: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
0x0aab2b00c670: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
0x0aab2b00c680: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
=>0x0aab2b00c690: f9 f9 f9 f9 f9 f9 f9[f9]00 00 00 00 00 00 00 00
0x0aab2b00c6a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0aab2b00c6b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0aab2b00c6c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0aab2b00c6d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0aab2b00c6e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
==426411==ABORTING
```
_Sorry if I'm being annoying with all the issues_ :slight_smile:https://voidpoint.io/terminx/eduke32/-/issues/281Duke3D: crash at pushmove2023-08-27T00:50:37-07:00Alexey MDuke3D: crash at pushmoveSteps to reproduce:
1. Load attached save file.
2. Drop into the water and shoot at Octabrains. It's important to use Devastator, I don't think it works with other weapons.
3. 80-90% of the time the crash happens once either (or both) o...Steps to reproduce:
1. Load attached save file.
2. Drop into the water and shoot at Octabrains. It's important to use Devastator, I don't think it works with other weapons.
3. 80-90% of the time the crash happens once either (or both) of Octabrains is blown into pieces.
[save0000.esv](/uploads/39bd8c1bba98175d3f6450c59c3845a9/save0000.esv)
Log and stack trace:
```cpp
0,3589s INFO| EDuke32 r10363-dd98c3ec5
0,3590s INFO| Built Aug 26 2023 10:19:31, clang 14.0.0 , 64-bit
...
==719986==WARNING: ASan is ignoring requested __asan_handle_no_return: stack type: default top: 0x7fffb5cb0600; bottom 0x7fffffffc000; size: 0xffffffffb5cb4600 (-1244969472)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
Thread 1 "eduke32" received signal SIGILL, Illegal instruction.
0x000055555656a6c1 in pushmove (vect=0x555558a65e50 <sprite_s+16720>, sectnum=0x7fffffffd6c0, walldist=128, ceildist=1024, flordist=1024, cliptype=65537, clear=<optimized out>) at source/build/src/clip.cpp:1839
1839 }
(gdb) bt
#0 0x000055555656a6c1 in pushmove(vec3_t*, int16_t*, int32_t, int32_t, int32_t, uint32_t, bool)
(vect=0x555558a65e50 <sprite_s+16720>, sectnum=0x7fffffffd6c0, walldist=128, ceildist=1024, flordist=1024, cliptype=65537, clear=<optimized out>)
at source/build/src/clip.cpp:1839
#1 0x000055555640738d in A_DamageObject_Duke3D(int, int)
(spriteNum=380, dmgSrc=<optimized out>) at source/duke3d/src/sector.cpp:2431
#2 0x00005555564149ee in A_DamageObject(int, int) (spriteNum=0, dmgSrc=0)
at source/duke3d/src/sector.cpp:2573
#3 0x0000555555f9afa9 in G_MoveWeapons() () at source/duke3d/src/actors.cpp:3584
#4 0x0000555555f8df8c in G_MoveWorld() () at source/duke3d/src/actors.cpp:9292
#5 0x0000555556144e72 in G_DoMoveThings() () at source/duke3d/src/game.cpp:7343
#6 0x000055555613eec6 in app_main(int, char const* const*)
(argc=<optimized out>, argv=<optimized out>) at source/duke3d/src/game.cpp:7128
#7 0x00005555569a9bf2 in main(int, char**) (argc=0, argv=0x0)
at source/build/src/sdlayer.cpp:568
```https://voidpoint.io/terminx/eduke32/-/issues/280Polymer: crash in polymer_updatesprite2023-08-26T00:18:15-07:00Alexey MPolymer: crash in polymer_updatespriteI stumbled upon a set of crashes, most common of which is in polymer_updatesprite.
GRP is for "Duke Nukem 3D: Atomic Edition (WT)".
<details>
<summary>Build info:</summary>
$ make -j14 RELEASE=0 CUSTOMOPT=-g OPTLEVEL=0
0,2436s INFO| ...I stumbled upon a set of crashes, most common of which is in polymer_updatesprite.
GRP is for "Duke Nukem 3D: Atomic Edition (WT)".
<details>
<summary>Build info:</summary>
$ make -j14 RELEASE=0 CUSTOMOPT=-g OPTLEVEL=0
0,2436s INFO| EDuke32 r10355- 2e2d5f205
0,2436s INFO| Built Aug 24 2023 10:35:10, GCC 11.4.0, 64-bit
</details>
Logs don't show any errors except for:
```bash
Thread 1 "eduke32" received signal SIGSEGV, Segmentation fault.
```
Most common stack trace:
```cpp
#0 __memmove_avx_unaligned_erms ()
at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:429
#1 0x00005555559d3abc in polymer_updatesprite(int32_t) (snum=25)
at source/build/src/polymer.cpp:4105
#2 0x00005555559c62f7 in polymer_drawsprite(int32_t) (snum=25)
at source/build/src/polymer.cpp:1568
#3 0x000055555592265b in renderDrawSprite(int32_t) (snum=25)
at source/build/src/engine.cpp:7053
#4 0x000055555592ee3e in renderDrawMasks() () at source/build/src/engine.cpp:10279
#5 0x0000555555715064 in G_DrawRooms(int32_t, int32_t)
(playerNum=0, smoothRatio=32794) at source/duke3d/src/game.cpp:1155
#6 0x000055555573b7f7 in drawframe_entry(mco_coro*) (co=0x20002000100)
at source/duke3d/src/game.cpp:6485
#7 0x00005555558b7c46 in _mco_main(mco_coro*) (co=0x20002000100)
at source/build/include/minicoro.h:533
```
**snum** and **smoothRatio** values are different each time (e.g. 0, 15, 8, 4 and 16402, 16410, 32792, 32787 respectively) and the rest seems to be the same.
This crash is a bit difficult to reproduce, the most reliable way I found so far is:
1. Load attached save file.
2. Equip RPG and start frantically running around the room and shooting at everything.
3. At some point, usually around 10th shot, the game crashes.
It also seems that crash does not happen if "Dynamic Lights" option is set to "Map only" or "Off".
Other crashes that I encountered but don't have a way to reproduce:
```cpp
#0 0x00005555559dd2a9 in polymer_planeinlight(_prplane const&, _prlight const&)
(plane=..., light=...) at source/build/src/polymer.cpp:5921
#1 0x00005555559de5d3 in polymer_culllight(int16_t) (lighti=0)
at source/build/src/polymer.cpp:6161
#2 0x00005555559dccde in polymer_updatelights() ()
at source/build/src/polymer.cpp:5801
#3 0x00005555559c40e3 in polymer_drawrooms(int32_t, int32_t, int32_t, fix16_t, fix16_t, int16_t)
(daposx=30218, daposy=9008, daposz=-18059, daang=34443264, dahoriz=5478153, dacursectnum=170)
at source/build/src/polymer.cpp:1122
#4 0x000055555592c3d5 in renderDrawRoomsQ16(int32_t, int32_t, int32_t, fix16_t, fix16_t, int16_t)
(daposx=30218, daposy=9008, daposz=-18059, daang=34443264, dahoriz=5478153, dacursectnum=170)
at source/build/src/engine.cpp:9449
#5 0x0000555555714f9c in G_DrawRooms(int32_t, int32_t) (playerNum=0, smoothRatio=32794)
at source/duke3d/src/game.cpp:1145
#6 0x000055555573b7f7 in drawframe_entry(mco_coro*) (co=0x20002000100)
at source/duke3d/src/game.cpp:6485
#7 0x00005555558b7c46 in _mco_main(mco_coro*) (co=0x20002000100)
at source/build/include/minicoro.h:533
```
```cpp
21,5355s MEM| mimalloc: error:
21,5355s MEM| buffer overflow in heap block 0x20000137fc0 of size 440: write after 440 bytes
Thread 1 "eduke32" received signal SIGABRT, Aborted.
__pthread_kill_implementation (no_tid=0, signo=6, threadid=140737331984896) at ./nptl/pthread_kill.c:44
44 ./nptl/pthread_kill.c: No such file or directory.
(gdb) bt
#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737331984896)
at ./nptl/pthread_kill.c:44
#1 __pthread_kill_internal (signo=6, threadid=140737331984896)
at ./nptl/pthread_kill.c:78
#2 __GI___pthread_kill (threadid=140737331984896, signo=signo@entry=6)
at ./nptl/pthread_kill.c:89
#3 0x00007ffff74a3476 in __GI_raise (sig=sig@entry=6)
at ../sysdeps/posix/raise.c:26
#4 0x00007ffff74897f3 in __GI_abort () at ./stdlib/abort.c:79
#5 0x0000555555ae221c in mi_error_default(int) (err=14)
at source/mimalloc/src/options.c:400
#6 0x0000555555ae235f in _mi_error_message(int, char const*, ...)
(err=14, fmt=0x555555caf798 "buffer overflow in heap block %p of size %zu: write after %zu bytes\n")
at source/mimalloc/src/options.c:431
#7 0x0000555555ad61cf in mi_check_padding(mi_page_t const*, mi_block_t const*)
(page=0x20000000678, block=0x20000137fc0) at source/mimalloc/src/alloc.c:333
#8 0x0000555555ad6a7a in mi_free(void*) (p=0x20000137fc0)
at source/mimalloc/src/alloc.c:568
#9 0x0000555555a2eb7a in sm::GenericAllocator::Free(void*, void*)
(instance=0x0, p=0x20000137fc0) at source/build/src/smmalloc_generic.cpp:81
#10 0x0000555555700617 in sm::Allocator::Free(void*)
(this=0x20000040000, p=0x20000137fc0) at source/build/include/smmalloc.h:478
#11 0x0000555555700865 in _sm_free(sm_allocator, void*)
(allocator=0x20000040000, p=0x20000137fc0)
at source/build/include/smmalloc.h:857
#12 0x00005555559c496c in xfree (ptr=0x20000137fc0)
at source/build/include/compat.h:1442
#13 polymer_drawmasks() () at source/build/src/polymer.cpp:1299
#14 0x000055555592eea1 in renderDrawMasks() () at source/build/src/engine.cpp:10293
#15 0x0000555555715064 in G_DrawRooms(int32_t, int32_t)
(playerNum=0, smoothRatio=32787) at source/duke3d/src/game.cpp:1155
#16 0x000055555573b7f7 in drawframe_entry(mco_coro*) (co=0x20002000100)
at source/duke3d/src/game.cpp:6485
#17 0x00005555558b7c46 in _mco_main(mco_coro*) (co=0x20002000100)
at source/build/include/minicoro.h:533
```
[save0001.esv](/uploads/171cf4def4306487ab6c4bfa99b9d5c0/save0001.esv)https://voidpoint.io/terminx/eduke32/-/issues/275Duke3D: Keybind menu displays "Key already assigned to: X" warning with empty...2023-08-25T16:13:48-07:00Dino Bollingerdino.bollinger@gmail.comDuke3D: Keybind menu displays "Key already assigned to: X" warning with empty key string XOn my end, this can be reproduced with a fresh config and trying to assign the "Crouch" key to "E".
Here's an example of what the problem looks like:
![duke0000](/uploads/bf5741a4f87b266f3f464b62a09b2b6e/duke0000.png)On my end, this can be reproduced with a fresh config and trying to assign the "Crouch" key to "E".
Here's an example of what the problem looks like:
![duke0000](/uploads/bf5741a4f87b266f3f464b62a09b2b6e/duke0000.png)Dino Bollingerdino.bollinger@gmail.comDino Bollingerdino.bollinger@gmail.comhttps://voidpoint.io/terminx/eduke32/-/issues/276Duke3D: crash at mimalloc2023-08-21T00:58:13-07:00Alexey MDuke3D: crash at mimallocThe game crashes at one very specific place.
Game variant: "Duke Nukem 3D: Atomic Edition (WT)".
Terminal output from debug build:
```
$ ./eduke32
runtime src|
ATTENTION: default value of option mesa_glthread overridden by environme...The game crashes at one very specific place.
Game variant: "Duke Nukem 3D: Atomic Edition (WT)".
Terminal output from debug build:
```
$ ./eduke32
runtime src|
ATTENTION: default value of option mesa_glthread overridden by environment.
0,1653s INFO| Started at 2023-07-03 14:13:17.830
0,1655s INFO| EDuke32 r10322-77e6bb66f
0,1655s INFO| Built Jul 3 2023 14:13:02, GCC 11.3.0, 64-bit
0,1657s INFO| Using directory /home/user/eduke32/
0,1658s INFO| Using directory /home/user/.config/eduke32/
0,1677s INFO| CPU: AMD Ryzen 7 2700 Eight-Core Processor
0,1677s INFO| Initializing SDL 2.0.20 (https://github.com/libsdl-org/SDL.git@b424665e0899769b200231ba943353a5fee1b6b6)
0,2931s INFO| Using 'x11' video driver.
0,2932s GFX| Detecting video modes for display 0 (LG Ultra HD 27")...
0,3002s INFO| Searching for game data...
2,6239s INFO| Using DUKE3D.GRP as main data file.
2,6288s CON| Compiling: GAME.CON (151190 bytes)
2,6348s CON| Including: DEFS.CON (35992 bytes)
2,6364s CON| Including: USER.CON (45482 bytes)
2,6376s WARN| USER.CON:844: overwriting existing definition for sound #261 (hydro43.voc)
2,6377s WARN| USER.CON:873: overwriting existing definition for sound #323 (aisle402.voc)
2,6409s CON| GAME.CON: In actor 'ORGANTIC':
2,6410s WARN| GAME.CON:3967: found 'else' with no 'if'
2,6425s CON| GAME.CON: In state 'pigshootenemystate':
2,6426s WARN| GAME.CON:5890: found 'else' with no 'if'
2,6446s WARN| Found 4 warning(s), 0 error(s).
2,6486s CON| Relocated compiled code from 0x20002800110 to 0x20001c50110
2,6490s CON| Compiled 140344 bytes in 20ms
2,7466s INFO| Initialized 96,0M cache
2,8322s INFO| Loaded DUKE.RTS
2,8323s INFO| Initializing console...
3,4001s INPT| Game controllers:
3,4003s INPT| 1. Speedlink TORID Wireless Gamepad
3,4006s INPT| Using controller: Speedlink TORID Wireless Gamepad [(null)].
3,4007s INPT| Controller supports rumble.
3,4043s INFO| Executing settings.cfg
3,4047s INFO| vid_brightness: unknown command or cvar
3,4050s GFX| Detecting video modes for display 0 (LG Ultra HD 27")...
3,4118s GFX| Setting video mode 640x400 (0-bpp windowed).
3,4382s WARN| Video driver enforcing SwapInterval -1, unable to configure VSync!
3,4412s GFX| OpenGL driver: AMD Radeon RX 6600 XT (navi23, LLVM 15.0.7, DRM 3.47, 5.19.0-45-generic) 4.6 (Compatibility Profile) Mesa 22.2.5-0ubuntu0.1~22.04.3
3,4413s GFX| OpenGL context: version 4.6
3,4413s GFX| Refresh rate: 60,00Hz.
3,4573s GFX| Setting video mode 1920x1080 (32-bpp windowed).
3,6342s INFO| Opened texturecache as cache file.
3,6346s PR| Initializing Polymer subsystem...
3,6365s PR| Initialization complete in 2 ms.
3,6365s ASS| Initializing Apogee Sound System
3,6423s ASS| Using SDL PULSEAUDIO driver on Models 00h-0fh
3,6425s ASS| Initialized sound at 48,0 KHz stereo with 64 voices
3,6426s ASS| Initializing MIDI driver: AdLib OPL3 emulation
3,6715s GFX| Setting video mode 1920x1000 (32-bpp windowed).
3,7030s INFO| Opened texturecache as cache file.
3,7031s PR| Initializing Polymer subsystem...
3,7049s PR| Initialization complete in 2 ms.
3,7115s PR| Compiling program with bits (octal) 4060641
3,9917s PR| Compiling program with bits (octal) 4020641
4,2088s PR| Compiling program with bits (octal) 4000221
7,3254s INFO| sv_loadsnapshot: snapshot size: 4752822 bytes.
7,3256s INFO| ud: 0 ms
7,3271s INFO| sws: 2 ms
7,3286s INFO| script: 1 ms
7,3287s INFO| animisc: 1 ms
7,3312s INFO| vars: 2 ms
7,3521s INFO| Cache size increased by 1024 to new max of 2048 entries
7,3604s INFO| Cache time: 29ms.
7,3871s PR| Board loaded.
7,3964s PR| Compiling program with bits (octal) 4000001
7,4259s PR| Compiling program with bits (octal) 7000221
7,4361s PR| Compiling program with bits (octal) 6000221
7,4385s PR| Compiling program with bits (octal) 4000441
7,4487s PR| Compiling program with bits (octal) 7300221
7,9287s PR| Compiling program with bits (octal) 7000225
7,9513s PR| Compiling program with bits (octal) 7300225
11,7381s INFO| UNLOCKED
13,2436s PR| Compiling program with bits (octal) 6000225
15,2996s MEM| mimalloc: error:
15,2997s MEM| corrupted free list entry of size 384b at 0x2000a7c6a80: value 0xafc7726b7c6c00
Caught signal: SIGABRT
Caught signal: SIGSEGV
Segmentation fault (core dumped)
```
Attached save file. Steps to reproduce the issue:
1. Load save "2".
2. Walk on the bridge towards the door, pop in red keycard, open the door and shoot yellow canisters on the left.
3. Once the canisters explode - the game crashes.
Please let me know if more info is necessary.
[save0001.esv](/uploads/05b4731ec6a5bea38779b6013da20881/save0001.esv)https://voidpoint.io/terminx/eduke32/-/issues/272WGR2: SIGFPE/SIGSEGV in first map (very old regression)2023-08-20T06:53:55-07:00Roland HäderWGR2: SIGFPE/SIGSEGV in first map (very old regression)WGR2: Siege Breaker is a free fan-made addon to Duke Nukem 3D, you can find it [here](https://fissile.duke4.net/fissile_wgr2.html) freely for download. It also endorses Eduke32.
The crash happens only when you shoot (and you must) a spe...WGR2: Siege Breaker is a free fan-made addon to Duke Nukem 3D, you can find it [here](https://fissile.duke4.net/fissile_wgr2.html) freely for download. It also endorses Eduke32.
The crash happens only when you shoot (and you must) a specific enemy, others work just fine (you cannot continue without shooting him.
Attaching standard eduke32.log file and config files.
- [eduke32.log](/uploads/e164359ea59531f065f83170a43afeb3/eduke32.log)
- [eduke32.cfg](/uploads/551349e577de26c596f66b675d60d30b/eduke32.cfg)
- [wgr2.cfg](/uploads/a491a296411ec029b8beb3f2474e449c/wgr2.cfg)
- [wgr2_settings.cfg](/uploads/0cc59ff9d820cb31d7a5fb410cd7fe4f/wgr2_settings.cfg)
- [save0012.esv](/uploads/ce7c316853144aff29ce3333fa541ef6/save0012.esv)
eduke32 is built from commit id 6537106e66fe29413e5a5edc3145dcad8f9bb12c
Steps to reproduce:
- install the addon as usual
- just load the attached save0012.esv file and shoot that enemy up there (maybe 3 times). Yes, GOD cheat is used, you won't die. ;-)