Jump to content

Segfaults, demos and r1114


Siggi

Recommended Posts

If you load up Alien Vendetta and let the first demo play, Eternity will segfault after a while. The crash occurs shortly after the second player gets killed.

Some gdb output...

siggi@wedge:~/eternity/trunk/source$ ETERNITYBASE='~/.eternity/base' gdb --args ./eternity -file ~/wads/av.wad
GNU gdb (GDB) 7.0-ubuntu
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/siggi/eternity/trunk/source/eternity...done.
(gdb) start
Temporary breakpoint 1 at 0x4b59d0: file i_main.c, line 71.
Starting program: /home/siggi/eternity/trunk/source/eternity -file /home/siggi/wads/av.wad
[Thread debugging using libthread_db enabled]

Temporary breakpoint 1, main (argc=3, argv=0x7fffffffe278) at i_main.c:71
71	{
(gdb) continue
Continuing.
The Eternity Engine
Copyright 2010 James Haley and Stephen McGranahan
http://www.doomworld.com/eternity

This program is free software distributed under the terms of
the GNU General Public License. See the file "COPYING" for
full details. Commercial sale or distribution of this product
without its license, source code, and copyright notices is an
infringement of US and international copyright laws.

Base path set by environment.
M_LoadSysConfig: Loading base/system.cfg
IWAD found: /home/siggi/wads/doom2.wad
DOOM II version

Built on Apr 12 2010 at 22:26:06
M_LoadDefaults: Load system defaults.
W_Init: Init WADfiles.
 adding /home/siggi/.eternity/base/doom/eternity.wad
 adding /home/siggi/wads/doom2.wad
 adding /home/siggi/wads/av.wad

E_ProcessEDF: Loading root file /home/siggi/.eternity/base/root.edf
V_InitMisc: Init miscellaneous video patches.
C_Init: Init console.
I_Init: Setting up machine state.
[New Thread 0x7fffedf75910 (LWP 328)]
[Thread 0x7fffedf75910 (LWP 328) exited]
[New Thread 0x7fffedf75910 (LWP 329)]
[New Thread 0x7fffed774910 (LWP 330)]
I_InitSound: Configured audio device with 2048 samples/slice.
I_InitMusic: Using SDL_mixer.
D_SetGraphicsMode: Set graphics mode

Program received signal SIGSEGV, Segmentation fault.
0x00000000004325dc in G_CheckSpot (playernum=496, mthing=<value optimized out>) at g_game.c:2442
2442	   mo = P_SpawnMobj(x + 20*finecosine[an], 
(gdb)

Share this post


Link to post
Siggi said:

Program received signal SIGSEGV, Segmentation fault.
0x00000000004325dc in G_CheckSpot (playernum=496, mthing=<value optimized out>) at g_game.c:2442
2442 mo = P_SpawnMobj(x + 20*finecosine[an],
(gdb)
[/code]

Thanks that's all I need. This is the "ninja spawn" phenomenon, caused by an out-of-range access to the finecosine/finesine tables. This has never caused a crash in any version so far, but I guess 64-bit is different :)

We'll have to fix this finally :P I wasn't even aware of the problem until last week :>

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...