View Issue Details

IDProjectCategoryView StatusLast Update
0000299Gameplay + OpenGL[All Projects] Bugpublic2017-02-22 04:25
ReporterMarisaKirisame 
Assigned To_mental_ 
PrioritynormalSeveritycrashReproducibilityrandom
Status resolvedResolutionfixed 
Platformx86_64OSArch LinuxOS VersionN/A
Summary0000299: Sound crash on recent builds
DescriptionWhenever I'm playing anything, the game freezes after a while and then crashes, running it through a terminal shows this when that happens:

qzdoom: /home/marisa/.cache/pacaur/qzdoom-git/src/qzdoom/src/s_sndseq.cpp:1048: DSeqNode* SN_CheckSequence(sector_t*, 
int): Assertion `node->IsKindOf(RUNTIME_CLASS(DSeqSectorNode))' failed.

It also happens in gzdoom. It can happen even with vanilla doom maps.
Steps To ReproducePlay anything, even vanilla doom. After a couple minutes the game should freeze and then quit.
TagsNo tags attached.

Relationships

Activities

Graf Zahl

Graf Zahl

2017-02-19 11:28

administrator   ~0000663

I have seen this once, too, but was unable to track down where the bogus pointer came from.
MarisaKirisame

MarisaKirisame

2017-02-21 12:38

reporter   ~0000686

I really wish I could do anything to help debug this mess.
_mental_

_mental_

2017-02-21 14:44

developer   ~0000688

If you can reproduce this relatively easily please run the game under debugger, gdb or lldb.
I'm interested in the call stack and details about node pointer, debugger commands:
bt
p *node
p node->Class->TypeName.GetChars()
MarisaKirisame

MarisaKirisame

2017-02-21 14:51

reporter   ~0000689

Last edited: 2017-02-21 15:12

View 2 revisions

Very well, here we go.

(gdb) bt
#0  0x00007ffff5ad104f in raise () from /usr/lib/libc.so.6
#1  0x00007ffff5ad247a in abort () from /usr/lib/libc.so.6
0000002  0x00007ffff5ac9ea7 
in __assert_fail_base () from /usr/lib/libc.so.6
0000003  0x00007ffff5ac9f52 
in __assert_fail () from /usr/lib/libc.so.6
0000004  
0x000000000069a8d4 in SN_CheckSequence (sector=0x922ee80, chan=2) at /home/marisa/.cache/pacaur/gzdoom-git/src/gzdoom/src/s_sndseq.cpp:1048

0000005  
0x000000000069ac10 in SN_StopSequence (sector=0x922ee80, chan=2) at /home/marisa/.cache/pacaur/gzdoom-git/src/gzdoom/src/s_sndseq.cpp:1086

0000006  
0x000000000096407e in DDoor::Tick (this=0x5cd8620) at /home/marisa/.cache/pacaur/gzdoom-git/src/gzdoom/src/p_doors.cpp:146

0000007  
0x00000000008ab9c9 in DThinker::CallTick (this=0x5cd8620) at /home/marisa/.cache/pacaur/gzdoom-git/src/gzdoom/src/dthinker.cpp:562

0000008  0x00000000008ab701 
in DThinker::TickThinkers (list=0x2251328 <DThinker::Thinkers+808>, dest=0x0) at /home/marisa/.cache/pacaur/gzdoom-git/src/gzdoom/src/dthinker.cpp:528

0000009  0x00000000008ab5c3 
in DThinker::RunThinkers () at /home/marisa/.cache/pacaur/gzdoom-git/src/gzdoom/src/dthinker.cpp:475

0000010 
0x0000000000a4bf56 in P_Ticker () at /home/marisa/.cache/pacaur/gzdoom-git/src/gzdoom/src/p_tick.cpp:133

0000011 
0x00000000008b8c17 in G_Ticker () at /home/marisa/.cache/pacaur/gzdoom-git/src/gzdoom/src/g_game.cpp:1207

0000012 
0x000000000088a7bb in TryRunTics () at /home/marisa/.cache/pacaur/gzdoom-git/src/gzdoom/src/d_net.cpp:1948

0000013 
0x000000000087fedd in D_DoomLoop () at /home/marisa/.cache/pacaur/gzdoom-git/src/gzdoom/src/d_main.cpp:1025

0000014 
0x0000000000884088 in D_DoomMain () at /home/marisa/.cache/pacaur/gzdoom-git/src/gzdoom/src/d_main.cpp:2695

0000015 
0x00000000005fca3f in main (argc=5, argv=0x7fffffffe258) at /home/marisa/.cache/pacaur/gzdoom-git/src/gzdoom/src/posix/sdl/i_main.cpp:259

(gdb) frame 4
0000004  
0x000000000069a8d4 in SN_CheckSequence (sector=0x922ee80, chan=2) at /home/marisa/.cache/pacaur/gzdoom-git/src/gzdoom/src/s_sndseq.cpp:1048

1048	in /home/marisa/.cache/pacaur/gzdoom-git/src/gzdoom/src/s_sndseq.cpp
(gdb) p *node
$3 = {<DObject> = {_vptr.DObject = 0xca67d0 <vtable for DSeqSectorNode+16>, static RegistrationInfo 
= {MyClass = 0x276b210, Name = 0xcdf4a6 "DObject", ParentType = 0x0, _VMExport = 0x0, Pointers 
= 0x0, ConstructNative = 0x898d68 <DObject::InPlaceConstructor(void*)>, InitNatives = 0x0, SizeOf 
= 40, MetaClassNum = 0}, 
    static RegistrationInfoPtr = 0x1075220 <DObject::RegistrationInfo>, Class = 0x276c7f0, ObjNext 
= 0x2f65210, GCNext = 0x67e5bf0, ObjectFlags = 1}, static RegistrationInfo = {MyClass = 0x276c7f0, Name 
= 0xca57e7 "DSeqNode", ParentType = 0x1075220 <DObject::RegistrationInfo>, _VMExport 
= 0x0, 
    Pointers = 0x106e460 <DSeqNode::PointerOffsets>, ConstructNative = 0x6973fc <DSeqNode::InPlaceConstructor(void*)>, 
InitNatives = 0x0, SizeOf = 128, MetaClassNum = 0}, static RegistrationInfoPtr = 0x106e420 <DSeqNode::RegistrationInfo>, 
static PointerOffsets = {96, 104, 112, 120, 18446744073709551615}, 
  m_SequencePtr = 0x2ab1920, m_Sequence = 1, m_CurrentSoundID = {ID = 279}, m_StopSound = -1, m_DelayUntilTic 
= 0, m_Volume = 1, m_Atten = 1.00100005, m_ModeNum = 1, m_SequenceChoices = {Array = 0x81f70a0, Count 
= 0, Most = 0}, m_ChildSeqNode = {{p = 0x0, o = 0x0}}, m_ParentSeqNode = {{p = 0x0, o = 0x0}}, 
  static SequenceListHead = 0x5cd1f80, m_Next = 0x0, m_Prev = 0x0}
(gdb) p node->Class->TypeName.GetChars()
$4 = 0x27634ca "SeqNode"


_mental_

_mental_

2017-02-22 04:25

developer   ~0000691

Fixed in b45418d. Only debug configuration was affected.

Issue History

Date Modified Username Field Change
2017-02-19 07:36 MarisaKirisame New Issue
2017-02-19 11:28 Graf Zahl Note Added: 0000663
2017-02-19 11:28 Graf Zahl Status new => confirmed
2017-02-21 12:38 MarisaKirisame Note Added: 0000686
2017-02-21 14:44 _mental_ Note Added: 0000688
2017-02-21 14:51 MarisaKirisame Note Added: 0000689
2017-02-21 15:12 MarisaKirisame Note Edited: 0000689 View Revisions
2017-02-22 04:25 _mental_ Assigned To => _mental_
2017-02-22 04:25 _mental_ Status confirmed => resolved
2017-02-22 04:25 _mental_ Resolution open => fixed
2017-02-22 04:25 _mental_ Note Added: 0000691