Zandronum Chat @
Get the latest version: 2.1.2
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003026Zandronum[All Projects] Bugpublic2017-02-26 18:382017-03-25 23:05
Assigned ToTorr Samaho 
PlatformOSOS Version
Product Version2.1 
Target VersionFixed in Version 
Summary0003026: Hexen Deathkings crashes at random intervals
DescriptionRandom server instance level transition Crash under Deathkings under 2.x and 3.x

2017-Feb-26 02:53:14 *** MAP04: GUARDIAN OF FIRE ***
2017-Feb-26 02:53:14
2017-Feb-26 02:53:14 compatflags changed to: 1048576
2017-Feb-26 02:53:14 Runaway script 500 terminated
2017-Feb-26 02:53:19
2017-Feb-26 02:53:19
2017-Feb-26 02:53:19 *** Fatal Error ***
2017-Feb-26 02:53:19 Address not mapped to object (signal 11)
2017-Feb-26 02:53:19 Address: 0x3e1
Steps To ReproduceLoad Hexen with Deathkings of Dark Citadel. Progress through the game a certain random number of level transitions. The Server instance will crash.
Additional InformationIf you only load Hexen Vanilla, sometimes only the client instance will crash.
Attached Files

- Relationships

-  Notes
User avatar (0016936)
Torr Samaho (administrator)
2017-03-05 17:47

Does this still happen in 3.0?
User avatar (0016947)
Zombie (reporter)
2017-03-06 04:44

Yes it does.
User avatar (0016954)
Torr Samaho (administrator)
2017-03-06 07:08

Does this happen on Windows and Linux or is it limited to one of them?
User avatar (0016955)
Zombie (reporter)
2017-03-06 07:09

Its a server instance issue, but to the best of my knowledge the servers run Linux. Its the Painkiller servers.
User avatar (0016956)
Torr Samaho (administrator)
2017-03-06 07:11

How long does it usually take to crash the server? Can you test it with your own Windows server locally?
User avatar (0016957)
Zombie (reporter)
2017-03-06 07:14

I only run Linux Exclusively. I can setup Linux my own Linux servers, but they seem to be the same. I have no debugging symbols for these binaries.

It seems to be random when it happens. It has happened in the "Tower of Chaos" mod under vanilla Hexen.
User avatar (0016958)
Torr Samaho (administrator)
2017-03-06 07:32
edited on: 2017-03-06 07:34

Are you familiar with gcc and gdb (or clang / lldb)? You could compile your own server with debug symbols using using the latest version from our repository and use gdb to get a backtrace.

EDIT: [^] has some information on debugging. I didn't check though whether the documentation is on par with 3.0.

User avatar (0016959)
Zombie (reporter)
2017-03-06 07:35

I am familiar with gdb. I can try and get a backtrace, I don't know how much it will help, keep in mind, this happens on the Painkiller servers.
User avatar (0016960)
Zombie (reporter)
2017-03-06 07:54

I should ad, I've never had anyone make RPM Packages of Zandronum.
User avatar (0016961)
Torr Samaho (administrator)
2017-03-06 20:17

Quote from Zombie
I am familiar with gdb. I can try and get a backtrace, I don't know how much it will help, keep in mind, this happens on the Painkiller servers.

A backtrace is a good starting point to find the cause of a crash. If you manage to reproduce the crash on your local server and get a backtrace from there, that should be sufficient. No need to reproduce the crash on Painkiller (unless it only happens on this server).

Quote from Zombie
I should ad, I've never had anyone make RPM Packages of Zandronum.

If you compile and test locally, you don't need to create RPM packages.
User avatar (0017041)
Zombie (reporter)
2017-03-20 21:45

I got it to crash locally using Wrath of Cronos 2.0. Here is what I did:

I booted up in Doom 2 with all wrath of Cronos mods enabled, then used IDFA/Give all to max everything out. A summoned minions and boom, crash, unfortunately. my build of Zan 3.0 didn't produce any debugging symbolsso, I just got alot of Hex info. I'll show you my logs, regardless.
User avatar (0017042)
Zombie (reporter)
2017-03-20 21:46

*** Fatal Error ***
Address not mapped to object (signal 11)
Address: 0x3e0

System: Linux olympia 3.14.53-nrj-desktop-1rosa-x86_64 #1 SMP PREEMPT Thu Sep 24 10:04:51 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

GNU gdb (Linaro GDB) 7.7.1_2014.06_1-10 ()

Zandronum version 3.0-alpha (8386bea9ac98)
Compiler version: 4.6.3

Command line: /opt/var/public/Linux/Games/Zandronum/testing/3.0-alpha-r170205-2117/zandronum -connect -iwad /opt/doom/wolfendoom/gfx/doom2.wad +cl_hidecountry 1 -file /home/masterz/.doomseeker/cchest4fix.wad /opt/doom/woc/wrathofcronosnothexenpatch.pk3 /home/masterz/.doomseeker/wrathofcronosr2.pk3 /home/masterz/.doomseeker/wrathofcronosdoompatch2.pk3 /home/masterz/.doomseeker/wrathofcronosdoomrandom2.pk3 /home/masterz/.doomseeker/wrathofcronosr2_extramonsv10a.pk3 /home/masterz/.doomseeker/NewTextColours_260.pk3

Wad 0: zandronum.pk3
Wad 1: doom2.wad
Wad 2: cchest4fix.wad
Wad 3: wrathofcronosnothexenpatch.pk3
Wad 4: wrathofcronosr2.pk3
Wad 5: wrathofcronosdoompatch2.pk3
Wad 6: wrathofcronosdoomrandom2.pk3
Wad 7: wrathofcronosr2_extramonsv10a.pk3
Wad 8: NewTextColours_260.pk3

Current map: map01

viewx = 36691313
viewy = -38273024
viewz = 2883584
viewangle = 40000000

Executing: gdb --quiet --batch --command=gdb-respfile-sXR1hz
[New LWP 15191]
[New LWP 15190]
[New LWP 15189]
[New LWP 15188]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/".
0x0000003a59a0ee3b in waitpid () from /lib64/

* Loaded Libraries
From To Syms Read Shared Object Library
0x00007f540e6201c0 0x00007f540e8690fe Yes (*) /usr/lib64/
0x000000397be0b440 0x000000397be39b66 Yes (*) /lib64/
0x000000397b21a690 0x000000397b28ef99 Yes (*) /lib64/
0x0000003982608820 0x00000039826921b9 Yes (*) /usr/lib64/
0x0000003a59a05960 0x0000003a59a11781 Yes (*) /lib64/
0x0000003981604880 0x000000398165e925 Yes (*) /usr/lib64/
0x000000397fe2c770 0x000000397fe3099b Yes (*) /usr/lib64/nvidia361/
0x0000003a5c6022a0 0x0000003a5c605407 Yes (*) /lib64/
0x0000003a59e02390 0x0000003a59e133d9 Yes (*) /lib64/
0x00007f540e2e2770 0x00007f540e3b3468 Yes (*) /opt/var/public/Linux/Games/Zandronum/testing/3.0-alpha-r170205-2117/
0x0000003897668900 0x00000038977bd1af Yes (*) /usr/lib64/
0x0000003a59200ed0 0x0000003a59201ade Yes (*) /lib64/
0x0000003a5b65b910 0x0000003a5b6c36af Yes (*) /lib64/
0x0000003a596055c0 0x0000003a59675ae1 Yes (*) /lib64/
0x0000003a5b202d70 0x0000003a5b212c65 Yes (*) /lib64/
0x0000003a58e1f4d0 0x0000003a58f67653 Yes (*) /lib64/
0x00007f540dfeb1c0 0x00007f540e03f93b Yes (*) /usr/lib64/
0x000000397f201180 0x000000397f202055 Yes (*) /lib64/
0x00007f540ddc4920 0x00007f540ddc9486 Yes (*) /usr/lib64/
0x000000397a21df70 0x000000397a2a266c Yes (*) /usr/lib64/
0x000000397ea01620 0x000000397ea03846 Yes (*) /usr/lib64/
0x000000397e60b670 0x000000397e6178b3 Yes (*) /usr/lib64/
0x00007f540dabfe40 0x00007f540db7ca51 Yes (*) /usr/lib64/
0x0000003dfa8076d0 0x0000003dfa81b509 Yes (*) /usr/lib64/
0x0000003980634c10 0x00000039806fdeba Yes (*) /lib64/
0x00007f540d89f9f0 0x00007f540d8a71ad Yes (*) /usr/lib64/
0x000000397e20d5a0 0x000000397e22c296 Yes (*) /usr/lib64/
0x00007f540d660ec0 0x00007f540d67e4dd Yes (*) /usr/lib64/
0x0000003a5ce01900 0x0000003a5ce05ffc Yes (*) /usr/lib64/
0x0000003a5ba01770 0x0000003a5ba4f995 Yes (*) /lib64/
0x0000003a69233ce0 0x0000003a692c77f3 Yes (*) /usr/lib64/
0x0000003a6ec03510 0x0000003a6ec08d7a Yes (*) /usr/lib64/
0x0000003987a06e40 0x0000003987a102c9 Yes (*) /usr/lib64/
0x0000003a58a00c00 0x0000003a58a1b600 Yes (*) /lib64/
0x00000039802039f0 0x000000398020e652 Yes (*) /usr/lib64/nvidia361/
0x000000397fa2bc20 0x000000397fa4cf51 Yes (*) /usr/lib64/nvidia361/
0x000000397c601bf0 0x000000397c6077e8 Yes (*) /usr/lib64/
0x000000397ce00ba0 0x000000397ce0148f Yes (*) /usr/lib64/
0x000000397ee023e0 0x000000397ee0c372 Yes (*) /usr/lib64/
0x000000397ca01dc0 0x000000397ca07882 Yes (*) /usr/lib64/
0x0000003983c02b70 0x0000003983c074a7 Yes (*) /usr/lib64/
0x000000397de00c90 0x000000397de01665 Yes (*) /usr/lib64/
0x0000003984800c10 0x000000398480151b Yes (*) /usr/lib64/
0x000000397ae03970 0x000000397ae0d13f Yes (*) /usr/lib64/
0x00007f540d3baf90 0x00007f540d41bc8d Yes (*) /usr/lib64/
0x000000397a60a530 0x000000397a6169f5 Yes (*) /usr/lib64/
0x000000398300a600 0x0000003983092410 Yes (*) /usr/lib64/
0x0000003df9205eb0 0x0000003df924d1e0 Yes (*) /usr/lib64/
0x0000003983800e10 0x0000003983801693 Yes (*) /usr/lib64/
0x0000003982c037b0 0x0000003982c0629f Yes (*) /usr/lib64/
0x0000003a5fe03a40 0x0000003a5fe12931 Yes (*) /lib64/
0x00007f540d11e650 0x00007f540d16c2f9 Yes (*) /usr/lib64/
0x0000003b9b22e930 0x0000003b9b31037e Yes (*) /usr/lib64/
0x0000003a6b4044f0 0x0000003a6b40a023 Yes (*) /usr/lib64/
0x0000003a6ac07fc0 0x0000003a6ac18199 Yes (*) /usr/lib64/
0x0000003a74a01890 0x0000003a74a05e39 Yes (*) /usr/lib64/
0x0000003a6d602440 0x0000003a6d606999 Yes (*) /usr/lib64/
0x0000003a6c248990 0x0000003a6c2b6de9 Yes (*) /usr/lib64/
0x0000003593001fc0 0x0000003593004500 Yes (*) /lib64/
0x0000003743c017b0 0x0000003743c0d332 Yes (*) /usr/lib64/
0x000000397aa00f10 0x000000397aa01bc9 Yes (*) /usr/lib64/
0x0000003979e01520 0x0000003979e02e78 Yes (*) /usr/lib64/
0x0000003601202970 0x0000003601224808 Yes (*) /usr/lib64/
0x00000030f6203180 0x00000030f6225f42 Yes (*) /lib64/
0x00007f540c7a70d0 0x00007f540c7a9090 Yes (*) /usr/lib64/gtk-2.0/modules/
0x00007f540c5a1ca0 0x00007f540c5a316e Yes (*) /usr/lib64/
0x000000398f8034f0 0x000000398f80c8aa Yes (*) /usr/lib64/
0x0000003a776020c0 0x0000003a7760617c Yes (*) /usr/lib64/
0x000000398be031f0 0x000000398be0e6d3 Yes (*) /usr/lib64/
0x0000003a780025a0 0x0000003a780069c2 Yes (*) /usr/lib64/
0x0000003a6ce038d0 0x0000003a6ce19bcd Yes (*) /usr/lib64/
0x0000003a6ca01bd0 0x0000003a6ca04095 Yes (*) /usr/lib64/
0x00007f540c372960 0x00007f540c396932 Yes (*) /usr/lib64/gtk-2.0/2.10.0/engines/
0x00007f540c153b50 0x00007f540c1673a4 Yes (*) /usr/lib64/gtk-2.0/2.10.0/engines/
0x00007f540bf45540 0x00007f540bf4a60a Yes (*) /usr/lib64/gtk-2.0/2.10.0/engines/
0x00007f540b4ea240 0x00007f540b4f1003 Yes (*) /lib64/
0x00007f540b14a940 0x00007f540b14ae98 Yes (*) /opt/var/public/Linux/Games/Zandronum/testing/3.0-alpha-r170205-2117/
0x0000003b9c801710 0x0000003b9c802973 Yes (*) /usr/lib64/
0x0000003b9f20d590 0x0000003b9f239159 Yes (*) /usr/lib64/
0x0000003b9f616bd0 0x0000003b9f6582a9 Yes (*) /usr/lib64/pulseaudio/
0x0000003986600600 0x000000398660071b Yes (*) /usr/lib64/
0x000000397ba051b0 0x000000397ba1295a Yes (*) /usr/lib64/
0x000000397b601ef0 0x000000397b606192 Yes (*) /usr/lib64/
0x0000003982201550 0x0000003982203d87 Yes (*) /usr/lib64/
0x0000003b9f005180 0x0000003b9f01cf70 Yes (*) /lib64/
0x0000003a70c029c0 0x0000003a70c0797b Yes (*) /usr/lib64/
0x0000003a72e030e0 0x0000003a72e070d9 Yes (*) /lib64/
0x0000003a70406280 0x0000003a7044732c Yes (*) /usr/lib64/
0x0000003a736013c0 0x0000003a73603968 Yes (*) /usr/lib64/
0x0000003a61607d20 0x0000003a6163ad99 Yes (*) /lib64/
0x0000003a71401680 0x0000003a71402ec1 Yes (*) /lib64/
0x0000003790609000 0x00000037906a8148 Yes (*) /usr/lib64/
0x0000003a6f804110 0x0000003a6f810f91 Yes (*) /lib64/
0x0000003a6f409430 0x0000003a6f45951d Yes (*) /usr/lib64/
0x0000003a6fc13b10 0x0000003a6fc16111 Yes (*) /usr/lib64/
0x0000003a6e400a10 0x0000003a6e401075 Yes (*) /lib64/
0x0000003987e30830 0x0000003987ebd0f2 Yes (*) /usr/lib64/
0x00007f54082dfc40 0x00007f54082e094d Yes (*) /lib64/
0x00007f5407ff7900 0x00007f540806aa61 Yes (*) /usr/lib64/nvidia361/
0x00007f5407da19a0 0x00007f5407da3683 Yes (*) /usr/lib64/nvidia361/tls/
0x00007f54063ffea0 0x00007f5407411257 Yes (*) /usr/lib64/nvidia361/
0x00007f540580d150 0x00007f5405813786 Yes (*) /lib64/
0x00007f5405606100 0x00007f54056094b3 Yes (*) /lib64/
(*): Shared library is missing debugging information.

* Threads
  Id Target Id Frame
  5 Thread 0x7f540bf42700 (LWP 15188) "zandronum" 0x0000003a59a0eacd in nanosleep () from /lib64/
  4 Thread 0x7f540b129700 (LWP 15189) "zandronum" 0x0000003a58ef36ad in poll () from /lib64/
  3 Thread 0x7f540a903700 (LWP 15190) "zandronum" 0x0000003a58ec3ced in nanosleep () from /lib64/
  2 Thread 0x7f540b70b8c0 (LWP 15191) "zandronum" 0x0000003a5c604fc7 in ?? () from /lib64/
* 1 Thread 0x7f540d10a8c0 (LWP 15187) "zandronum" 0x0000003a59a0ee3b in waitpid () from /lib64/

* FPU Status
  R7: Empty 0x00000000000000000000
  R6: Empty 0x00000000000000000000
  R5: Empty 0x00000000000000000000
  R4: Empty 0x00000000000000000000
  R3: Empty 0x00000000000000000000
  R2: Empty 0x00000000000000000000
  R1: Empty 0x00000000000000000000
=>R0: Empty 0x00000000000000000000

Status Word: 0x0000
                       TOP: 0
Control Word: 0x037f IM DM ZM OM UM PM
                       PC: Extended Precision (64-bits)
                       RC: Round to nearest
Tag Word: 0xffff
Instruction Pointer: 0x00:0x00000000
Operand Pointer: 0x00:0x00000000
Opcode: 0x0000

* Registers
rax 0xfffffffffffffe00 -512
rbx 0x2221 8737
rcx 0xffffffffffffffff -1
rdx 0x0 0
rsi 0xeb7880 15431808
rdi 0x2221 8737
rbp 0xeb7880 0xeb7880
rsp 0xeb7840 0xeb7840
r8 0x0 0
r9 0x0 0
r10 0x0 0
r11 0x246 582
r12 0x0 0
r13 0x490 1168
r14 0x25 37
r15 0x2 2
rip 0x3a59a0ee3b 0x3a59a0ee3b <waitpid+107>
eflags 0x246 [ PF ZF IF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0

* Backtrace

Thread 5 (Thread 0x7f540bf42700 (LWP 15188)):
#0 0x0000003a59a0eacd in nanosleep () at /lib64/
#1 0x0000003982692065 in SDL_Delay () at /usr/lib64/
0000002 0x00000039826920a2 in () at /usr/lib64/
0000003 0x00000039826212b8 in () at /usr/lib64/
0000004 0x000000398268e269 in () at /usr/lib64/
0000005 0x0000003a59a06645 in start_thread () at /lib64/
0000006 0x0000003a58efddfd in clone () at /lib64/

Thread 4 (Thread 0x7f540b129700 (LWP 15189)):
#0 0x0000003a58ef36ad in poll () at /lib64/
#1 0x0000003987e53956 in () at /usr/lib64/
0000002 0x0000003987e57f5e in () at /usr/lib64/
0000003 0x0000003987e653eb in () at /usr/lib64/
0000004 0x000000398265a2be in () at /usr/lib64/
0000005 0x00000039826095e4 in () at /usr/lib64/
0000006 0x00000039826212b8 in () at /usr/lib64/
0000007 0x000000398268e269 in () at /usr/lib64/
0000008 0x0000003a59a06645 in start_thread () at /lib64/
0000009 0x0000003a58efddfd in clone () at /lib64/

Thread 3 (Thread 0x7f540a903700 (LWP 15190)):
#0 0x0000003a58ec3ced in nanosleep () at /lib64/
#1 0x0000003a58ef5be4 in usleep () at /lib64/
0000002 0x00007f540e3333df in FMOD_OS_Time_Sleep(unsigned int) () at /opt/var/public/Linux/Games/Zandronum/testing/3.0-alpha-r170205-2117/
0000003 0x00007f540e331a35 in FMOD::Thread::callback(void*) () at /opt/var/public/Linux/Games/Zandronum/testing/3.0-alpha-r170205-2117/
0000004 0x0000003a59a06645 in start_thread () at /lib64/
0000005 0x0000003a58efddfd in clone () at /lib64/

Thread 2 (Thread 0x7f540b70b8c0 (LWP 15191)):
#0 0x0000003a5c604fc7 in () at /lib64/
#1 0x0000003a59a06645 in start_thread () at /lib64/
0000002 0x0000003a58efddfd in clone () at /lib64/

Thread 1 (Thread 0x7f540d10a8c0 (LWP 15187)):
#0 0x0000003a59a0ee3b in waitpid () at /lib64/
#1 0x00000000005711c6 in _start ()
Saved corefile core.15187
User avatar (0017049)
Torr Samaho (administrator)
2017-03-22 19:24

How did you compile Zandronum? If you compile in debug mode, you should get the debug symbols.
User avatar (0017050)
Zombie (reporter)
2017-03-22 19:47

By hand. Without an RPM SPEC, its not going to extract the Debug symbols to where gdb can find them.
User avatar (0017051)
Torr Samaho (administrator)
2017-03-22 19:52

There shouldn't be any need to build an RPM or to extract the symbols. Just compile Zandronum with debug symbols and start the binary with gdb. Hopefully that is fast enough. If not, we'll have to think about a more sophisticated solution.
User avatar (0017052)
Zombie (reporter)
2017-03-22 19:55

What do you have in mind?
User avatar (0017053)
Torr Samaho (administrator)
2017-03-22 20:02

With cmake set CMAKE_BUILD_TYPE=Debug, compile as usual and start the binary with gdb, i.e.
gdb -ex run --args ./zandronum arg1 arg2 ...

(no guarantees that the syntax is correct)

When Zandronum crashes, you should be directly in the gdb console and can get a proper backtrack with "bt".
User avatar (0017060)
Zombie (reporter)
2017-03-25 23:05

I have reason to believe this is related to the Wrath of Cronos "Raise Dead" ability of the Necromancer. During a nearly full runthrough of Hexen Deathkings, and it only crashed when I reached the Necropolis. This is because unless cheats are used, its normally at least that long to reach level 27, as the Necromancer, playing the game normally. It was not until that started being used that the instance crashed.

Issue Community Support
Only registered users can voice their support. Click here to register, or here to log in.
Supporters: No one explicitly supports this issue yet.
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2017-02-26 18:38 Zombie New Issue
2017-03-05 17:47 Torr Samaho Note Added: 0016936
2017-03-05 17:47 Torr Samaho Status new => feedback
2017-03-06 04:44 Zombie Note Added: 0016947
2017-03-06 04:44 Zombie Status feedback => new
2017-03-06 07:08 Torr Samaho Note Added: 0016954
2017-03-06 07:09 Torr Samaho Assigned To => Torr Samaho
2017-03-06 07:09 Torr Samaho Status new => feedback
2017-03-06 07:09 Zombie Note Added: 0016955
2017-03-06 07:09 Zombie Status feedback => assigned
2017-03-06 07:11 Torr Samaho Note Added: 0016956
2017-03-06 07:14 Zombie Note Added: 0016957
2017-03-06 07:32 Torr Samaho Note Added: 0016958
2017-03-06 07:34 Torr Samaho Note Edited: 0016958 View Revisions
2017-03-06 07:35 Zombie Note Added: 0016959
2017-03-06 07:54 Zombie Note Added: 0016960
2017-03-06 20:17 Torr Samaho Note Added: 0016961
2017-03-08 18:14 Torr Samaho Status assigned => feedback
2017-03-20 21:45 Zombie Note Added: 0017041
2017-03-20 21:45 Zombie Status feedback => assigned
2017-03-20 21:46 Zombie Note Added: 0017042
2017-03-22 19:24 Torr Samaho Note Added: 0017049
2017-03-22 19:47 Zombie Note Added: 0017050
2017-03-22 19:52 Torr Samaho Note Added: 0017051
2017-03-22 19:55 Zombie Note Added: 0017052
2017-03-22 20:02 Torr Samaho Note Added: 0017053
2017-03-25 23:05 Zombie Note Added: 0017060

Questions or other issues? Contact Us.


Copyright © 2000 - 2017 MantisBT Team
Powered by Mantis Bugtracker