vegastrike segfault

I can make vegastrike-0.5.1.r1-10.1.3.x86_64 crash by looking at it funny. Ths will be a long post because I’m giving error messages for several different types of actions that cause vegastrike to crash. I started using vegastrike recently so that’s why I did not report this sooner. So as to facillitate debugging I’ve run vegastrike in gdb.

First, I get these messages continously while playing (on the console).


SERIOUS WARNING in AI script: no fast method to perform afterburn evade when type 15 is at least -340282346638528859811704183484516925440.000000 and at most 0.300000 with priority 6.000000 for 6.000000 time
SERIOUS WARNING in AI script: no fast method to perform afterburn evade when type 10 is at least -340282346638528859811704183484516925440.000000 and at most 0.500000 with priority 6.000000 for 7.000000 time
SERIOUS WARNING in AI script: no fast method to perform afterburn evade when type 7 is at least -340282346638528859811704183484516925440.000000 and at most 0.300000 with priority 6.000000 for 7.000000 time
ship destroyed-no flightgroup
ship destroyed-no flightgroup
ship destroyed-no flightgroup
cannot find AI script afterburn evade
cannot find AI script afterburn evade
ship destroyed-no flightgroup
ship destroyed-no flightgroup
ship destroyed-no flightgroup
ship destroyed-no flightgroup
ship destroyed-no flightgroup
ship destroyed-no flightgroup
ship destroyed-no flightgroup
ship destroyed-no flightgroup
ship destroyed-no flightgroup
ship destroyed-no flightgroup
ship destroyed-no flightgroup
ship destroyed-no flightgroup
ship destroyed-no flightgroup
ship destroyed-no flightgroup
ship destroyed-no flightgroup
ship destroyed-no flightgroup
ship destroyed-no flightgroup
cannot find AI script afterburn evade
 *** Python Warning 1!
Warning Traceback 1:
  File "m/privateer.py", line 34, in Execute
    i.Execute()
  File "m/random_encounters.py", line 288, in Execute
    dynamic_battle.UpdateCombatTurn()
  File "m/dynamic_battle.py", line 34, in UpdateCombatTurn
    if (not SimulateBattles()):
  File "m/dynamic_battle.py", line 215, in SimulateBattles
    if (not attackFlightgroup (ally[0],ally[1],enemy[0],enemy[1],enemy[2])):
  File "m/dynamic_battle.py", line 565, in attackFlightgroup
    SimulatedDukeItOut (fgname,faction,enfgname,enfaction)
  File "m/dynamic_battle.py", line 448, in SimulatedDukeItOut
    ApplyDamage(enfgname,enfaction,enemy,envictim,enstats,HowMuchDamage(ally,vsrandom.uniform(0,enstats[1])),fgname,faction)
  File "m/dynamic_battle.py", line 418, in HowMuchDamage
    stats=faction_ships.GetStats(i[0])
  File "m/faction_ships.py", line 577, in GetStats
    debug.error( 'cannot find '+name)
Message: cannot find Entourage

The above messages easily go up into "traceback 500:"s

If I turn any shader on I get this out put from gdb:


Program received signal SIGSEGV, Segmentation fault.
operator-- (this=<optimized out>) at /usr/src/debug/llvm-3.3/include/llvm/CodeGen/MachineBasicBlock.h:180
180     /usr/src/debug/llvm-3.3/include/llvm/CodeGen/MachineBasicBlock.h: No such file or directory.
#0  operator-- (this=<optimized out>) at /usr/src/debug/llvm-3.3/include/llvm/CodeGen/MachineBasicBlock.h:180
#1  insertReload (NewLI=..., this=<optimized out>, this=<optimized out>, NewLI=..., Idx=..., MI=...) at /usr/src/debug/llvm-3.3/lib/CodeGen/InlineSpiller.cpp:1085
#2  spillAroundUses (this=<optimized out>, this=<optimized out>, Reg=<optimized out>) at /usr/src/debug/llvm-3.3/lib/CodeGen/InlineSpiller.cpp:1193
#3  spillAll (this=<optimized out>) at /usr/src/debug/llvm-3.3/lib/CodeGen/InlineSpiller.cpp:1247
---Type <return> to continue, or q <return> to quit---
#4  (anonymous namespace)::InlineSpiller::spill (this=0xdeae0c0, edit=...) at /usr/src/debug/llvm-3.3/lib/CodeGen/InlineSpiller.cpp:1295
#5  0x00007fffe0efe50e in (anonymous namespace)::RAGreedy::selectOrSplit (this=0xdd13630, VirtReg=..., NewVRegs=...)
    at /usr/src/debug/llvm-3.3/lib/CodeGen/RegAllocGreedy.cpp:1750
#6  0x00007fffe0ef54d1 in llvm::RegAllocBase::allocatePhysRegs (this=0xdd13650) at /usr/src/debug/llvm-3.3/lib/CodeGen/RegAllocBase.cpp:105
#7  0x00007fffe0efb3c7 in (anonymous namespace)::RAGreedy::runOnMachineFunction (this=0xdd13630, mf=...) at /usr/src/debug/llvm-3.3/lib/CodeGen/RegAllocGreedy.cpp:1788
#8  0x00007fffe0eb18b3 in llvm::MachineFunctionPass::runOnFunction (this=0xdd13630, F=...) at /usr/src/debug/llvm-3.3/lib/CodeGen/MachineFunctionPass.cpp:33
#9  0x00007fffe24270b0 in llvm::FPPassManager::runOnFunction (this=0xdd67060, F=...) at /usr/src/debug/llvm-3.3/lib/IR/PassManager.cpp:1530
#10 0x00007fffe242727b in llvm::FPPassManager::runOnModule (this=0xdd67060, M=...) at /usr/src/debug/llvm-3.3/lib/IR/PassManager.cpp:1550
#11 0x00007fffe24274f1 in llvm::MPPassManager::runOnModule (this=0xdd69ba0, M=...) at /usr/src/debug/llvm-3.3/lib/IR/PassManager.cpp:1608
#12 0x00007fffe2427aac in llvm::PassManagerImpl::run (this=0xdd6a1a0, M=...) at /usr/src/debug/llvm-3.3/lib/IR/PassManager.cpp:1703
#13 0x00007fffe2427bda in llvm::PassManager::run (this=<optimized out>, M=...) at /usr/src/debug/llvm-3.3/lib/IR/PassManager.cpp:1738
#14 0x00007fffe26923b4 in LLVMTargetMachineEmit (T=<optimized out>, M=0xdc9afb0, OS=..., codegen=<optimized out>, ErrorMessage=<optimized out>)
    at /usr/src/debug/llvm-3.3/lib/Target/TargetMachineC.cpp:194
#15 0x00007fffe26924f2 in LLVMTargetMachineEmitToMemoryBuffer (T=0xdd675e0, T@entry=0xddad2b0, M=0xddb9a40, M@entry=0xdc9afb0, 
    codegen=(LLVMObjectFile | unknown: 2147484600), codegen@entry=LLVMObjectFile, ErrorMessage=0x0, ErrorMessage@entry=0x7fffffff17a8, 
    OutMemBuf=OutMemBuf@entry=0x7fffffff17b0) at /usr/src/debug/llvm-3.3/lib/Target/TargetMachineC.cpp:220
#16 0x00007fffe4bf0db3 in radeon_llvm_compile (M=M@entry=0xdc9afb0, binary=binary@entry=0x7fffffff18a0, gpu_family=<optimized out>, dump=dump@entry=0)
    at radeon_llvm_emit.c:124
#17 0x00007fffe4be6595 in si_compile_llvm (rctx=rctx@entry=0x1ea8390, shader=shader@entry=0xdd39610, mod=0xdc9afb0) at radeonsi_shader.c:1384
#18 0x00007fffe4be6ced in si_pipe_shader_create (ctx=ctx@entry=0x1ea8390, shader=shader@entry=0xdd39610) at radeonsi_shader.c:1526
#19 0x00007fffe4bece0e in si_shader_select (ctx=ctx@entry=0x1ea8390, sel=sel@entry=0xdd2c240, dirty=dirty@entry=0x0) at si_state.c:2100
#20 0x00007fffe4bed0aa in si_create_shader_state (ctx=0x1ea8390, state=0xdd2b1e0, pipe_shader_type=0) at si_state.c:2142
---Type <return> to continue, or q <return> to quit---
#21 0x00007fffe4a58d8c in st_translate_vertex_program (st=0x1f5bd30, st=0x1f5bd30, key=0x7fffffffaac0, stvp=0x3770310) at ../../src/mesa/state_tracker/st_program.c:388
#22 st_get_vp_variant (st=st@entry=0x1f5bd30, stvp=stvp@entry=0x3770310, key=key@entry=0x7fffffffab60) at ../../src/mesa/state_tracker/st_program.c:426
#23 0x00007fffe4a26ecc in update_vp (st=0x1f5bd30) at ../../src/mesa/state_tracker/st_atom_shader.c:153
#24 0x00007fffe4a23c27 in st_validate_state (st=st@entry=0x1f5bd30) at ../../src/mesa/state_tracker/st_atom.c:221
#25 0x00007fffe4a36cbc in st_draw_vbo (ctx=0x1f22300, prims=0x7fffffffac80, nr_prims=1, ib=0x0, index_bounds_valid=<optimized out>, min_index=0, max_index=2879, 
    tfb_vertcount=0x0) at ../../src/mesa/state_tracker/st_draw.c:210
#26 0x00007fffe4a10634 in vbo_draw_arrays (ctx=0x1f22300, mode=4, start=0, count=2880, numInstances=1, baseInstance=0) at ../../src/mesa/vbo/vbo_exec_array.c:660
#27 0x00000000008c925b in GFXVertexList::Draw (this=<optimized out>, mode=<optimized out>, index=..., numlists=<optimized out>, offsets=<optimized out>)
    at src/gfxlib_struct.cpp:457
#28 0x000000000093f3d6 in Mesh::ProcessShaderDrawQueue (this=0x8530058, whichpass=0, whichdrawqueue=0, zsort=false, sortctr=...) at src/gfx/mesh_gfx.cpp:1436
#29 0x00000000009410f5 in Mesh::ProcessDrawQueue (this=this@entry=0x8530058, whichpass=<optimized out>, whichdrawqueue=whichdrawqueue@entry=0, zsort=<optimized out>, 
    sortctr=...) at src/gfx/mesh_gfx.cpp:962
#30 0x000000000093e664 in Mesh::ProcessUndrawnMeshes (pushSpecialEffects=false, nocamerasetup=<optimized out>) at src/gfx/mesh_gfx.cpp:576
#31 0x0000000000ace99e in GameUnit<Unit>::DrawNow (this=0x8708430, mato=..., lod=<optimized out>) at src/cmd/unit.cpp:319
#32 0x0000000000a282b0 in BaseInterface::Room::BaseShip::Draw (this=0x7725320, base=<optimized out>) at src/cmd/base_interface.cpp:321
#33 0x0000000000a29a86 in BaseInterface::Room::Draw (this=0xb0c2d00, base=base@entry=0xdc915b0) at src/cmd/base_interface.cpp:343
#34 0x0000000000a2d634 in BaseInterface::Draw (this=0xdc915b0) at src/cmd/base_interface.cpp:1441
#35 0x0000000000a2dd97 in RefreshGUI () at src/cmd/base_interface.cpp:640
#36 0x0000000000a2de49 in base_main_loop () at src/cmd/base_interface.cpp:661
#37 0x0000000000b277de in winsys_process_events () at src/gldrv/winsys.cpp:513
#38 0x00000000005a3c6c in main (argc=1, argv=0x7fffffffd748) at src/main.cpp:346

When I kill a ship gdb gives:


Program received signal SIGSEGV, Segmentation fault.
#0  operator-- (this=<optimized out>) at /usr/src/debug/llvm-3.3/include/llvm/CodeGen/MachineBasicBlock.h:180
#1  insertReload (NewLI=..., this=<optimized out>, this=<optimized out>, NewLI=..., Idx=..., MI=...) at /usr/src/debug/llvm-3.3/lib/CodeGen/InlineSpiller.cpp:1085
#2  spillAroundUses (this=<optimized out>, this=<optimized out>, Reg=<optimized out>) at /usr/src/debug/llvm-3.3/lib/CodeGen/InlineSpiller.cpp:1193
#3  spillAll (this=<optimized out>) at /usr/src/debug/llvm-3.3/lib/CodeGen/InlineSpiller.cpp:1247
#4  (anonymous namespace)::InlineSpiller::spill (this=0x12008bc0, edit=...) at /usr/src/debug/llvm-3.3/lib/CodeGen/InlineSpiller.cpp:1295
#5  0x00007fffe0efe50e in (anonymous namespace)::RAGreedy::selectOrSplit (this=0x113c40d0, VirtReg=..., NewVRegs=...)
    at /usr/src/debug/llvm-3.3/lib/CodeGen/RegAllocGreedy.cpp:1750
#6  0x00007fffe0ef54d1 in llvm::RegAllocBase::allocatePhysRegs (this=0x113c40f0) at /usr/src/debug/llvm-3.3/lib/CodeGen/RegAllocBase.cpp:105
#7  0x00007fffe0efb3c7 in (anonymous namespace)::RAGreedy::runOnMachineFunction (this=0x113c40d0, mf=...) at /usr/src/debug/llvm-3.3/lib/CodeGen/RegAllocGreedy.cpp:1788
#8  0x00007fffe0eb18b3 in llvm::MachineFunctionPass::runOnFunction (this=0x113c40d0, F=...) at /usr/src/debug/llvm-3.3/lib/CodeGen/MachineFunctionPass.cpp:33
#9  0x00007fffe24270b0 in llvm::FPPassManager::runOnFunction (this=0x11e4f000, F=...) at /usr/src/debug/llvm-3.3/lib/IR/PassManager.cpp:1530
#10 0x00007fffe242727b in llvm::FPPassManager::runOnModule (this=0x11e4f000, M=...) at /usr/src/debug/llvm-3.3/lib/IR/PassManager.cpp:1550
#11 0x00007fffe24274f1 in llvm::MPPassManager::runOnModule (this=0x11e50300, M=...) at /usr/src/debug/llvm-3.3/lib/IR/PassManager.cpp:1608
#12 0x00007fffe2427aac in llvm::PassManagerImpl::run (this=0x11e517a0, M=...) at /usr/src/debug/llvm-3.3/lib/IR/PassManager.cpp:1703
#13 0x00007fffe2427bda in llvm::PassManager::run (this=<optimized out>, M=...) at /usr/src/debug/llvm-3.3/lib/IR/PassManager.cpp:1738
#14 0x00007fffe26923b4 in LLVMTargetMachineEmit (T=<optimized out>, M=0x113a9200, OS=..., codegen=<optimized out>, ErrorMessage=<optimized out>)
    at /usr/src/debug/llvm-3.3/lib/Target/TargetMachineC.cpp:194
#15 0x00007fffe26924f2 in LLVMTargetMachineEmitToMemoryBuffer (T=0x11e5ae00, T@entry=0x11eb9810, M=0x11e36b30, M@entry=0x113a9200, codegen=(unknown: 2147485116), 
    codegen@entry=LLVMObjectFile, ErrorMessage=0x0, ErrorMessage@entry=0x7fffffff1a98, OutMemBuf=OutMemBuf@entry=0x7fffffff1aa0)
    at /usr/src/debug/llvm-3.3/lib/Target/TargetMachineC.cpp:220
#16 0x00007fffe4bf0db3 in radeon_llvm_compile (M=M@entry=0x113a9200, binary=binary@entry=0x7fffffff1b90, gpu_family=<optimized out>, dump=dump@entry=0)
    at radeon_llvm_emit.c:124
#17 0x00007fffe4be6595 in si_compile_llvm (rctx=rctx@entry=0x1ea8300, shader=shader@entry=0x11393b00, mod=0x113a9200) at radeonsi_shader.c:1384
#18 0x00007fffe4be6ced in si_pipe_shader_create (ctx=ctx@entry=0x1ea8300, shader=shader@entry=0x11393b00) at radeonsi_shader.c:1526
#19 0x00007fffe4bece0e in si_shader_select (ctx=ctx@entry=0x1ea8300, sel=sel@entry=0x113a88c0, dirty=dirty@entry=0x0) at si_state.c:2100
#20 0x00007fffe4bed0aa in si_create_shader_state (ctx=0x1ea8300, state=0x113a6e60, pipe_shader_type=0) at si_state.c:2142
#21 0x00007fffe4a58d8c in st_translate_vertex_program (st=0x1f5bd30, st=0x1f5bd30, key=0x7fffffffadb0, stvp=0x3584850) at ../../src/mesa/state_tracker/st_program.c:388
#22 st_get_vp_variant (st=st@entry=0x1f5bd30, stvp=stvp@entry=0x3584850, key=key@entry=0x7fffffffae50) at ../../src/mesa/state_tracker/st_program.c:426
#23 0x00007fffe4a26ecc in update_vp (st=0x1f5bd30) at ../../src/mesa/state_tracker/st_atom_shader.c:153
#24 0x00007fffe4a23c27 in st_validate_state (st=st@entry=0x1f5bd30) at ../../src/mesa/state_tracker/st_atom.c:221
#25 0x00007fffe4a36cbc in st_draw_vbo (ctx=0x1f22300, prims=0x7fffffffaf70, nr_prims=1, ib=0x0, index_bounds_valid=<optimized out>, min_index=0, max_index=2777, 
    tfb_vertcount=0x0) at ../../src/mesa/state_tracker/st_draw.c:210
#26 0x00007fffe4a10634 in vbo_draw_arrays (ctx=0x1f22300, mode=4, start=0, count=2778, numInstances=1, baseInstance=0) at ../../src/mesa/vbo/vbo_exec_array.c:660
#27 0x00000000008c925b in GFXVertexList::Draw (this=<optimized out>, mode=<optimized out>, index=..., numlists=<optimized out>, offsets=<optimized out>)
    at src/gfxlib_struct.cpp:457
#28 0x000000000093f3d6 in Mesh::ProcessShaderDrawQueue (this=0x116e06f8, whichpass=0, whichdrawqueue=0, zsort=false, sortctr=...) at src/gfx/mesh_gfx.cpp:1436
#29 0x00000000009410f5 in Mesh::ProcessDrawQueue (this=this@entry=0x116e06f8, whichpass=<optimized out>, whichdrawqueue=whichdrawqueue@entry=0, zsort=<optimized out>, 
    sortctr=...) at src/gfx/mesh_gfx.cpp:962
#30 0x000000000093e664 in Mesh::ProcessUndrawnMeshes (pushSpecialEffects=true, nocamerasetup=<optimized out>) at src/gfx/mesh_gfx.cpp:576
#31 0x00000000008dd83e in GameStarSystem::Draw (this=0x75b0880, DrawCockpit=<optimized out>) at src/star_system.cpp:362
#32 0x00000000008e034c in GameUniverse::StartDraw (this=0x1e61a80) at src/universe.cpp:289
#33 0x00000000008cdcb2 in main_loop () at src/main_loop.cpp:1017
#34 0x0000000000b277de in winsys_process_events () at src/gldrv/winsys.cpp:513
#35 0x00000000005a3c6c in main (argc=1, argv=0x7fffffffd748) at src/main.cpp:346

vegastrike also crashes when “jumping” to some of the systems, I’m not sure yet which ones.