View Issue Details

IDProjectCategoryView StatusLast Update
0001227FSSCPmodelspublic2010-10-22 13:23
ReporterSrdjant Assigned ToBobboau  
PrioritylowSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product Version3.6.9 
Summary0001227: Unstable: Segfault in read_model_file() at model/modelread.cpp when entering ready room from main screen.
DescriptionI experience a segfault when entering the ready room from the main screen.
The loading progress bar is shown, then the segfault appears.

GNU Linux 2.6.x
Game compiled with debugging turned on to allow for backtrace capture.
Additional Information[srdjant@thor /data4/Freespace2]$ gdb ./fs2_open_d
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i486-slackware-linux"...Using host libthread_db library "/lib/tls/libthread_db.so.1".

(gdb) run
Starting program: /data4/Freespace2/fs2_open_d
[Thread debugging using libthread_db enabled]
[New Thread -1224030496 (LWP 24306)]
Future debug output directed to: /home/srdjant/.fs2_open/data/fs2_open.log
[New Thread -1225622608 (LWP 24309)]
[New Thread -1234371664 (LWP 24310)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1224030496 (LWP 24306)]
0x081d8750 in read_model_file (pm=0xa46d588, filename=0x83ce684 "warp.pof",
    n_subsystems=0, subsystems=0x0, ferror=0) at model/modelread.cpp:2234
2234 pm->submodel[n].sub_object_number = n = cfread_int(fp);
(gdb)
(gdb) bt
#0 0x081d8750 in read_model_file (pm=0xa46d588,
    filename=0x83ce684 "warp.pof", n_subsystems=0, subsystems=0x0, ferror=0)
    at model/modelread.cpp:2234
0000001 0x081dcd0b in model_load (filename=0x83ce684 "warp.pof", n_subsystems=0,
    subsystems=0x0, ferror=0, duplicate=0) at model/modelread.cpp:3402
0000002 0x080c4cbe in fireball_init () at fireball/fireballs.cpp:753
0000003 0x0804f932 in game_level_init (seed=-1) at freespace2/freespace.cpp:2749
0000004 0x08050372 in game_start_mission () at freespace2/freespace.cpp:3223
0000005 0x08059326 in game_enter_state (old_state=1, new_state=43)
    at freespace2/freespace.cpp:8087
0000006 0x080cb85e in gameseq_set_state (new_state=43, override=0)
    at gamesequence/gamesequence.cpp:528
0000007 0x08058223 in game_process_event (current_state=1, event=1)
    at freespace2/freespace.cpp:7183
0000008 0x080cbc0e in gameseq_process_events ()
    at gamesequence/gamesequence.cpp:641
0000009 0x0805a856 in game_main (cmdline=0xa1da990 "")
    at freespace2/freespace.cpp:9108
0000010 0x0805a9a4 in main (argc=1, argv=0xbf9796b4)
    at freespace2/freespace.cpp:9245
(gdb)

I used gdb's print command to query the variables in that line of code.

code is:
pm->submodel[n].sub_object_number = n = cfread_int(fp);

  n: 0
  pm: (polymodel *) 0xa46d588
  pm->submodel[n].sub_object_number: 0
  fp: (CFILE *) 0x85e2aa8


from ~/.fs2_open/data/fs2_open.log:

GAMESEQUENCE: Got event GS_EVENT_NEW_CAMPAIGN (26) in state GS_STATE_MAIN_MENU (1)
GAMESEQUENCE: Got event GS_EVENT_START_GAME (1) in state GS_STATE_MAIN_MENU (1)
=================== STARTING LEVEL LOAD ==================
ANI Loading.ani with size 26x26 (18.8% wasted)
Starting model page in...
Beginning level bitmap paging...
BMPMAN: Found EFF (WarpMap01.eff) with 25 frames at 30 fps.
loading warp modelLoading model 'warp.pof'
IBX: Found a good IBX to read for 'warp.pof'.
IBX-DEBUG => POF checksum: 4252971066, IBX checksum: 792157859 -- "warp.pof"
TagsNo tags attached.

Activities

taylor

2007-01-17 05:28

administrator   ~0007477

It just looks like a corrupt POF. Is it in a VP?

Try the attached POF instead and see if it works any better.

2007-01-17 05:29

 

warp.pof (504,169 bytes)

Srdjant

2007-01-17 17:21

reporter   ~0007481

I have .vp files, and no .pof files, so probably is in a VP.

What do I do with the pof file?

taylor

2007-01-17 18:05

administrator   ~0007482

Put it in ~/.fs2_open/data/models. You may have to create the "models" directory if it doesn't already exist.

Srdjant

2007-01-17 18:36

reporter   ~0007483

Thanks for the file and the instructions on where to copy it, taylor.

Segfault at same function, different model file.

fs2_open.log:

Loading model 'fighter2t-05.pof'
IBX: Found a good IBX to read for 'fighter2t-05.pof'.
IBX-DEBUG => POF checksum: 3069302688, IBX checksum: 188766016 -- "fighter2t-05.pof"

Added gdb backtrace and variables dump.

2007-01-17 18:37

 

fs2_gdb2.txt (6,583 bytes)   
(gdb) run
Starting program: /data4/Freespace2/fs2_open_d
[Thread debugging using libthread_db enabled]
[New Thread -1223850272 (LWP 21891)]
Future debug output directed to: /home/srdjant/.fs2_open/data/fs2_open.log
[New Thread -1225442384 (LWP 21894)]
[New Thread -1234191440 (LWP 21895)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1223850272 (LWP 21891)]
0x081d8750 in read_model_file (pm=0xa38c9b0,
    filename=0x97c76ac "fighter2t-05.pof", n_subsystems=5,
    subsystems=0xa3db010, ferror=1) at model/modelread.cpp:2234
2234                                    pm->submodel[n].sub_object_number = n = cfread_int(fp);
(gdb)   
(gdb) bt
#0  0x081d8750 in read_model_file (pm=0xa38c9b0,
    filename=0x97c76ac "fighter2t-05.pof", n_subsystems=5,
    subsystems=0xa3db010, ferror=1) at model/modelread.cpp:2234
#1  0x081dcd0b in model_load (filename=0x97c76ac "fighter2t-05.pof",
    n_subsystems=5, subsystems=0xa3db010, ferror=1, duplicate=0)
    at model/modelread.cpp:3402
#2  0x082e7d1a in ship_create (orient=0x886a12c, pos=0x886a120, ship_type=8,
    ship_name=0x886a0f8 "Instructor") at ship/ship.cpp:8756
#3  0x08190a4e in parse_create_object_sub (p_objp=0x886a0f8)
    at mission/missionparse.cpp:2741
#4  0x08190988 in parse_create_object (pobjp=0x886a0f8)
    at mission/missionparse.cpp:2702
#5  0x08194261 in mission_parse_maybe_create_parse_object (pobjp=0x886a0f8)
    at mission/missionparse.cpp:4018
#6  0x08197193 in post_process_ships_wings () at mission/missionparse.cpp:5271
#7  0x08198f4b in post_process_mission () at mission/missionparse.cpp:6108
#8  0x08198f39 in parse_mission (pm=0x8864a00, flags=0)
    at mission/missionparse.cpp:6097
#9  0x08199eda in parse_main (mission_name=0xbfca4e50 "Training-1.fs2",
    flags=0) at mission/missionparse.cpp:6465
#10 0x0818704e in mission_load (filename_ext=0x84bea40 "Training-1.fs2")
    at mission/missionload.cpp:319
#11 0x080503ca in game_start_mission () at freespace2/freespace.cpp:3234
#12 0x08059326 in game_enter_state (old_state=1, new_state=43)
---Type <return> to continue, or q <return> to quit---
    at freespace2/freespace.cpp:8087
#13 0x080cb85e in gameseq_set_state (new_state=43, override=0)
    at gamesequence/gamesequence.cpp:528
#14 0x08058223 in game_process_event (current_state=1, event=1)
    at freespace2/freespace.cpp:7183
#15 0x080cbc0e in gameseq_process_events ()
    at gamesequence/gamesequence.cpp:641
#16 0x0805a856 in game_main (cmdline=0xa1da990 "")
    at freespace2/freespace.cpp:9108
#17 0x0805a9a4 in main (argc=1, argv=0xbfca51b4)
    at freespace2/freespace.cpp:9245
(gdb) 
(gdb) frame 0
#0  0x081d8750 in read_model_file (pm=0xa38c9b0,
    filename=0x97c76ac "fighter2t-05.pof", n_subsystems=5,
    subsystems=0xa3db010, ferror=1) at model/modelread.cpp:2234
2234                                    pm->submodel[n].sub_object_number = n = cfread_int(fp);
(gdb) print n
$1 = 0
(gdb) print fp
$2 = (CFILE *) 0x85e2aa8
(gdb) print pm
$3 = (polymodel *) 0xa38c9b0
(gdb) print pm->submodel[n]
$4 = {sub_object_number = 0, name = '\0' <repeats 31 times>,
  movement_type = 0, movement_axis = 0, offset = {{xyz = {x = 0, y = 0,
        z = 0}, a1d = {0, 0, 0}}}, bsp_data_size = 0, bsp_data = 0x0,
  geometric_center = {{xyz = {x = 0, y = 0, z = 0}, a1d = {0, 0, 0}}},
  rad = 0, min = {{xyz = {x = 0, y = 0, z = 0}, a1d = {0, 0, 0}}}, max = {{
      xyz = {x = 0, y = 0, z = 0}, a1d = {0, 0, 0}}}, bounding_box = {{{xyz = {
          x = 0, y = 0, z = 0}, a1d = {0, 0, 0}}}, {{xyz = {x = 0, y = 0,
          z = 0}, a1d = {0, 0, 0}}}, {{xyz = {x = 0, y = 0, z = 0}, a1d = {0,
          0, 0}}}, {{xyz = {x = 0, y = 0, z = 0}, a1d = {0, 0, 0}}}, {{xyz = {
          x = 0, y = 0, z = 0}, a1d = {0, 0, 0}}}, {{xyz = {x = 0, y = 0,
          z = 0}, a1d = {0, 0, 0}}}, {{xyz = {x = 0, y = 0, z = 0}, a1d = {0,
          0, 0}}}, {{xyz = {x = 0, y = 0, z = 0}, a1d = {0, 0, 0}}}},
  blown_off = 0, my_replacement = 0, i_replace = 0, angs = {p = 0, b = 0,
    h = 0}, ang_vel = {p = 0, b = 0, h = 0}, ang_acl = {p = 0, b = 0, h = 0},
  is_live_debris = 0, num_live_debris = 0, live_debris = {0, 0, 0, 0, 0, 0,
    0}, sii = 0x0, is_thruster = 0, is_damaged = 0, parent = 0,
  num_children = 0, first_child = 0, next_sibling = 0, num_details = 0,
  details = {0, 0, 0, 0, 0, 0, 0, 0}, num_arcs = 0, arc_pts = {{{{xyz = {
            x = 0, y = 0, z = 0}, a1d = {0, 0, 0}}}, {{xyz = {x = 0, y = 0,
            z = 0}, a1d = {0, 0, 0}}}}, {{{xyz = {x = 0, y = 0, z = 0}, a1d = {
            0, 0, 0}}}, {{xyz = {x = 0, y = 0, z = 0}, a1d = {0, 0, 0}}}}, {{{
          xyz = {x = 0, y = 0, z = 0}, a1d = {0, 0, 0}}}, {{xyz = {x = 0,
            y = 0, z = 0}, a1d = {0, 0, 0}}}}, {{{xyz = {x = 0, y = 0, z = 0},
          a1d = {0, 0, 0}}}, {{xyz = {x = 0, y = 0, z = 0}, a1d = {0, 0,
---Type <return> to continue, or q <return> to quit---
            0}}}}, {{{xyz = {x = 0, y = 0, z = 0}, a1d = {0, 0, 0}}}, {{xyz = {
            x = 0, y = 0, z = 0}, a1d = {0, 0, 0}}}}, {{{xyz = {x = 0, y = 0,
            z = 0}, a1d = {0, 0, 0}}}, {{xyz = {x = 0, y = 0, z = 0}, a1d = {
            0, 0, 0}}}}, {{{xyz = {x = 0, y = 0, z = 0}, a1d = {0, 0, 0}}}, {{
          xyz = {x = 0, y = 0, z = 0}, a1d = {0, 0, 0}}}}, {{{xyz = {x = 0,
            y = 0, z = 0}, a1d = {0, 0, 0}}}, {{xyz = {x = 0, y = 0, z = 0},
          a1d = {0, 0, 0}}}}}, arc_type = "\000\000\000\000\000\000\000",
  indexed_vertex_buffer = 0,
  buffer = {<std::_Vector_base<buffer_data, std::allocator<buffer_data> >> = {<std::_Vector_alloc_base<buffer_data, std::allocator<buffer_data>, true>> = {
        _M_start = 0x0, _M_finish = 0x0,
        _M_end_of_storage = 0x0}, <No data fields>}, <No data fields>},
  render_box_min = {{xyz = {x = 0, y = 0, z = 0}, a1d = {0, 0, 0}}},
  render_box_max = {{xyz = {x = 0, y = 0, z = 0}, a1d = {0, 0, 0}}},
  use_render_box = 0, render_sphere = 0, use_render_sphere = 0,
  gun_rotation = false, orientation = {{vec = {rvec = {{xyz = {x = 0, y = 0,
              z = 0}, a1d = {0, 0, 0}}}, uvec = {{xyz = {x = 0, y = 0, z = 0},
            a1d = {0, 0, 0}}}, fvec = {{xyz = {x = 0, y = 0, z = 0}, a1d = {0,
              0, 0}}}}, a2d = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}}, a1d = {0, 0,
        0, 0, 0, 0, 0, 0, 0}}}, look_at = 0, dumb_turn_rate = 0,
  submodel_thruster = {<std::_Vector_base<thruster_bank, std::allocator<thruster_bank> >> = {<std::_Vector_alloc_base<thruster_bank, std::allocator<thruster_bank>, true>> = {_M_start = 0x0, _M_finish = 0x0,
        _M_end_of_storage = 0x0}, <No data fields>}, <No data fields>}}
(gdb)  


fs2_gdb2.txt (6,583 bytes)   

taylor

2007-01-17 21:02

administrator   ~0007484

I guess that you are using the MediaVPs, correct? You probably have a corrupt one, so re-download mv_models.vp and see if that corrects the problem.

Srdjant

2007-01-17 23:03

reporter   ~0007486

I extraced the vp files from the cab file from disk 1.
I copied *.vp files from disks 2 and 3.
I downloaded the 710 rars and the mv_zpack archives from:
http://www.hard-light.net/forums/index.php/topic,39905.msg812147.html#msg812147
, and unpacked the contents where I have my fs2_open binary.

I still get segfault.

(gdb) bt
#0 0x081d8750 in read_model_file (pm=0xa5c9ac8, filename=0x83ce684 "warp.pof", n_subsystems=0, subsystems=0x0, ferror=0)
    at model/modelread.cpp:2234
0000001 0x081dcd0b in model_load (filename=0x83ce684 "warp.pof", n_subsystems=0, subsystems=0x0, ferror=0, duplicate=0)
    at model/modelread.cpp:3402

 -- snipped rest of backtrace --

I didn't do anything to the warp.pof file that I put in ~/.fs2_open/data/models/

From logfile:

Starting model page in...
Beginning level bitmap paging...
loading warp modelLoading model 'warp.pof'
IBX: Found a good IBX to read for 'warp.pof'.
IBX-DEBUG => POF checksum: 270367776, IBX checksum: 1577879929 -- "warp.pof"

I then deleted all the MediaVP stuff, rm -r ~/.fs2_open/ and tried to play fs2 'retail' and even that caused a segfault.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1223821600 (LWP 23085)]
0x081d8750 in read_model_file (pm=0xa595770, filename=0x97dc50c "Drone01.pof", n_subsystems=5, subsystems=0xa390970, ferror=1)
    at model/modelread.cpp:2234
2234 pm->submodel[n].sub_object_number = n = cfread_int(fp);
(gdb)
(gdb) bt
#0 0x081d8750 in read_model_file (pm=0xa595770, filename=0x97dc50c "Drone01.pof", n_subsystems=5, subsystems=0xa390970, ferror=1)
    at model/modelread.cpp:2234
0000001 0x081dcd0b in model_load (filename=0x97dc50c "Drone01.pof", n_subsystems=5, subsystems=0xa390970, ferror=1, duplicate=0)
    at model/modelread.cpp:3402
0000002 0x082f6d8a in ship_page_in () at ship/ship.cpp:14916
0000003 0x0805d827 in level_page_in () at freespace2/levelpaging.cpp:133
0000004 0x08050267 in freespace_mission_load_stuff () at freespace2/freespace.cpp:3153
0000005 0x08050326 in game_post_level_init () at freespace2/freespace.cpp:3209
0000006 0x08050487 in game_start_mission () at freespace2/freespace.cpp:3260
0000007 0x08059326 in game_enter_state (old_state=1, new_state=43) at freespace2/freespace.cpp:8087
0000008 0x080cb85e in gameseq_set_state (new_state=43, override=0) at gamesequence/gamesequence.cpp:528
0000009 0x08058223 in game_process_event (current_state=1, event=1) at freespace2/freespace.cpp:7183
0000010 0x080cbc0e in gameseq_process_events () at gamesequence/gamesequence.cpp:641
#11 0x0805a856 in game_main (cmdline=0xa1da990 "") at freespace2/freespace.cpp:9108
0000012 0x0805a9a4 in main (argc=1, argv=0xbf8a9874) at freespace2/freespace.cpp:9245
(gdb)

I've been following instructions at http://www.hard-light.net/wiki/index.php/Linux_CVS_Howto

I had this working about 2 years ago with an older version of fs2_open. :(

2007-01-17 23:15

 

fs2_open.log (9,697 bytes)   
==========================================================================
DEBUG SPEW: No debug_filter.cfg found, so only general, error, and warning
categories can be shown and no debug_filter.cfg info will be saved.
==========================================================================
Opened /home/srdjant/.fs2_open/data/fs2_open.log OK
Passed cmdline options:
  -mipmap 
  -glow 
  -spec 
  -orbradar 
  -mod Media_VP
Building file index...
Searching root '/home/srdjant/.fs2_open/Media_VP/'
Searching root '/home/srdjant/.fs2_open/'
Searching root '/data4/Freespace2/Media_VP/'
Searching root pack '/data4/Freespace2/Media_VP/mp-710_adveffects.vp'
Searching root pack '/data4/Freespace2/Media_VP/mp-710_effects.vp'
Searching root pack '/data4/Freespace2/Media_VP/mp-710_models.vp'
Searching root pack '/data4/Freespace2/Media_VP/mv_core.vp'
Searching root pack '/data4/Freespace2/Media_VP/mv_effects.vp'
Searching root pack '/data4/Freespace2/Media_VP/mv_models.vp'
Searching root pack '/data4/Freespace2/Media_VP/mv_music.vp'
Searching root pack '/data4/Freespace2/Media_VP/mv_textures.vp'
Searching root '/data4/Freespace2/'
Searching root pack '/data4/Freespace2/root_fs2.vp'
Searching root pack '/data4/Freespace2/smarty_fs2.vp'
Searching root pack '/data4/Freespace2/sparky_fs2.vp'
Searching root pack '/data4/Freespace2/sparky_hi_fs2.vp'
Searching root pack '/data4/Freespace2/stu_fs2.vp'
Searching root pack '/data4/Freespace2/tango1_fs2.vp'
Searching root pack '/data4/Freespace2/tango2_fs2.vp'
Searching root pack '/data4/Freespace2/tango3_fs2.vp'
Searching root pack '/data4/Freespace2/tangoA_fs2.vp'
Searching root pack '/data4/Freespace2/tangoB_fs2.vp'
Searching root pack '/data4/Freespace2/warble_fs2.vp'
Found 23 roots and 11806 files.
AutoLang: Language auto-detection successful...
Setting language to English
Initializing OpenAL...
  OpenAL Vendor     : J. Valenzuela
  OpenAL Renderer   : Software
  OpenAL Version    : 0.0.8

  Using extension "AL_LOKI_play_position".
... OpenAL successfully initialized!
Failed to init speech
SCRIPTING: Beginning initialization sequence...
SCRIPTING: Beginning Lua initialization...
LUA: Opening LUA state...
LUA: Initializing base Lua libraries...
LUA: Beginning ADE initializationADE: Initializing enumeration constants...
ADE: Assigning Lua session...
SCRIPTING: Beginning main hook parse sequence....
TABLES: Unable to parse 'scripting.tbl'.  Code = 5.
SCRIPTING: Inititialization complete.
GR_CPU: Family 0, MMX=Yes
Initializing OpenGL graphics device at 640x480 with 16-bit color...
  Initializing SDL...
  Requested SDL Video values = R: 5, G: 6, B: 5, depth: 16, double-buffer: 1
  Actual SDL Video values    = R: 8, G: 8, B: 8, depth: 24, double-buffer: 1
  OpenGL Vendor     : NVIDIA Corporation
  OpenGL Renderer   : GeForce4 MX 440-SE/AGP/SSE/3DNOW!
  OpenGL Version    : 1.5.6 NVIDIA 87.56

  Using extension "GL_EXT_fog_coord".
  Using extension "GL_ARB_multitexture".
  Using extension "GL_ARB_texture_env_add".
  Using extension "GL_ARB_texture_compression".
  Using extension "GL_EXT_texture_compression_s3tc".
  Using extension "GL_EXT_texture_filter_anisotropic".
  Using extension "GL_ARB_texture_env_combine".
  Using extension "GL_EXT_compiled_vertex_array".
  Using extension "GL_EXT_draw_range_elements".
  Using extension "GL_ARB_texture_mirrored_repeat".
  Unable to find extension "GL_ARB_texture_non_power_of_two".
  Using extension "GL_ARB_vertex_buffer_object".
  Using extension "GL_ARB_pixel_buffer_object".
  Unable to find extension "GL_APPLE_client_storage".
  Using extension "GL_SGIS_generate_mipmap".
  Unable to find extension "GL_EXT_framebuffer_object".
  Using extension "GL_ARB_texture_rectangle".
  Using extension "GL_EXT_bgra".
  Using extension "GL_ARB_texture_cube_map".
  Using extension "GL_EXT_texture_lod_bias".
  Found special extension function "glXSwapIntervalSGI".

  Max texture units: 2
  Max elements vertices: 4096
  Max elements indices: 4096
  Max texture size: 2048x2048
  Can use compressed textures: YES
  Texture compression available: YES
  Using trilinear texture filter.
... OpenGL init is complete!
Size of bitmap info = 705 KB
Size of bitmap extra info = 40 bytes
ANI cursorweb with size 24x24 (25.0% wasted)
GRAPHICS: Initializing default colors...
Using high memory settings...
TABLES: Unable to parse 'interface.tbl'.
TBM  =>  Starting parse of 'mv_effects-sdf.tbm' ...
ANI radar1 with size 106x106 (17.2% wasted)
No joysticks found
TBM  =>  Starting parse of 'mv_music-mus.tbm' ...
TABLES: Unable to parse 'armor.tbl'.
TBM  =>  Starting parse of 'mv_effects-wxp.tbm' ...
BMPMAN: Found EFF (exp20.eff) with 64 frames at 35 fps.
ANI Lamprey_Impact with size 80x80 (37.5% wasted)
TBM  =>  Starting parse of 'mv_missiles-wep.tbm' ...
TBM  =>  Starting parse of 'mv_flak-wep.tbm' ...
TBM  =>  Starting parse of 'mv_effects-wep.tbm' ...
couldn't find pcx for Subach HL-7 
BMPMAN: Found EFF (Subach_AniBitmap.eff) with 6 frames at 5 fps.
found ani Subach_AniBitmap for Subach HL-7, with 6 frames and 5 fps 
couldn't find particle pcx for Akheton SDG 
found ani Akheton_Particle for Akheton SDG, with 11 frames and 25 fps 
couldn't find particle pcx for Morning Star 
found ani Morningstar_Particle for Morning Star, with 21 frames and 10 fps 
couldn't find particle pcx for MorningStar D 
found ani Morningstar_Particle for MorningStar D, with 21 frames and 10 fps 
couldn't find pcx for Prometheus R 
BMPMAN: Found EFF (PrometheusR_AniBitmap.eff) with 12 frames at 5 fps.
found ani PrometheusR_AniBitmap for Prometheus R, with 12 frames and 5 fps 
couldn't find pcx for Prometheus S 
BMPMAN: Found EFF (Prometheus_AniBitmap.eff) with 12 frames at 5 fps.
found ani Prometheus_AniBitmap for Prometheus S, with 12 frames and 5 fps 
couldn't find pcx for Prometheus D 
found ani Prometheus_AniBitmap for Prometheus D, with 12 frames and 5 fps 
couldn't find particle pcx for Maxim 
found ani Maxim_Particle for Maxim, with 21 frames and 10 fps 
couldn't find particle pcx for Maxim D 
found ani Maxim_Particle for Maxim D, with 21 frames and 10 fps 
couldn't find pcx for UD-8 Kayser 
BMPMAN: Found EFF (Kayser_AniBitmap.eff) with 4 frames at 5 fps.
found ani Kayser_AniBitmap for UD-8 Kayser, with 4 frames and 5 fps 
couldn't find particle pcx for UD-8 Kayser 
ANI Kayser_Particle with size 80x80 (37.5% wasted)
found ani Kayser_Particle for UD-8 Kayser, with 7 frames and 30 fps 
couldn't find pcx for UD-D Kayser 
found ani Kayser_AniBitmap for UD-D Kayser, with 4 frames and 5 fps 
couldn't find particle pcx for UD-D Kayser 
found ani Kayser_Particle for UD-D Kayser, with 7 frames and 30 fps 
couldn't find pcx for Circe 
found ani Circe_Bitmap for Circe, with 20 frames and 15 fps 
couldn't find particle pcx for Lamprey 
ANI Lamprey_Particle with size 86x86 (32.8% wasted)
found ani Lamprey_Particle for Lamprey, with 9 frames and 20 fps 
couldn't find pcx for Shivan Light Laser 
BMPMAN: Found EFF (Alouqua_AniBitmap.eff) with 6 frames at 20 fps.
found ani Alouqua_AniBitmap for Shivan Light Laser, with 6 frames and 20 fps 
couldn't find particle pcx for Shivan Heavy Laser 
found ani Shivan_Laser_Stream for Shivan Heavy Laser, with 11 frames and 35 fps 
couldn't find particle pcx for Shivan Mega Laser 
found ani Shivan_Laser_Stream for Shivan Mega Laser, with 11 frames and 35 fps 
couldn't find particle pcx for Hornet 
found ani hornet_trail for Hornet, with 14 frames and 30 fps 
TBM  =>  Starting parse of 'mv_shockwave-wep.tbm' ...
TBM  =>  Starting parse of 'mv_tech-wep.tbm' ...
TBM  =>  Starting parse of 'mv_models-wep.tbm' ...
TBM  =>  Starting parse of 'mv_tech-shp.tbm' ...
TBM  =>  Starting parse of 'mv_models-shp.tbm' ...
TBM  =>  Starting parse of 'mv_dragon-shp.tbm' ...
TBM  =>  Starting parse of 'mv_shockwave-shp.tbm' ...
TBM  =>  Starting parse of 'mv_trails-shp.tbm' ...
TBM  =>  Starting parse of 'mv_turretangle-shp.tbm' ...
WARNING:  Animation trigger #0 on subsystem '', for ship 'GTB Ursa', has a negative reverse_start value!  Capping it at 0!
TBM  =>  Starting parse of 'mv_textures-shp.tbm' ...
ANI cursor with size 24x24 (25.0% wasted)
MULTIPLAYER: Ships.tbl is : VALID
MULTIPLAYER: Weapons.tbl is : VALID
MVE: Buffer underun (First is normal)
GAMESEQUENCE: Got event GS_EVENT_GAME_INIT (49) in state NOT A VALID STATE (0)
ANI cursor.ani with size 24x24 (25.0% wasted)
GAMESEQUENCE: Got event GS_EVENT_MAIN_MENU (0) in state GS_STATE_INITIAL_PLAYER_SELECT (37)
ANI mainwalk.ani with size 297x297 (42.0% wasted)
ANI mainflyby.ani with size 116x116 (9.4% wasted)
ANI maincrane.ani with size 73x73 (43.0% wasted)
ANI mainexit.ani with size 110x110 (14.1% wasted)
ANI mainbarracks.ani with size 105x105 (18.0% wasted)
ANI mainreadyroom.ani with size 86x86 (32.8% wasted)
ANI mainoptions.ani with size 131x131 (48.8% wasted)
ANI maincampaign.ani with size 124x124 (3.1% wasted)
Frame  0 too long!!: frametime = 0.304 (0.304)
GAMESEQUENCE: Got event GS_EVENT_NEW_CAMPAIGN (26) in state GS_STATE_MAIN_MENU (1)
GAMESEQUENCE: Got event GS_EVENT_START_GAME (1) in state GS_STATE_MAIN_MENU (1)
=================== STARTING LEVEL LOAD ==================
ANI Loading.ani with size 26x26 (18.8% wasted)
Starting model page in...
Beginning level bitmap paging...
BMPMAN: Found EFF (WarpMap01.eff) with 30 frames at 25 fps.
BMPMAN: Found EFF (WarpMap02.eff) with 30 frames at 25 fps.
loading warp modelLoading model 'warp.pof'
CFILE: Created new directory '/home/srdjant/.fs2_open/Media_VP/data/cache/'
IBX: Starting a new IBX for 'warp.pof'.
 128
BMPMAN: Found EFF (shieldhit01a.eff) with 23 frames at 21 fps.
SHOCKWAVE =>  Loading default shockwave model... 
Loading model 'shockwave.pof'
IBX: Starting a new IBX for 'shockwave.pof'.
fs2_open.log (9,697 bytes)   

Srdjant

2007-01-17 23:19

reporter   ~0007487

Uploaded latest fs2_open log file.
Perhaps I am making progress, segfault triggered when loading 'shockwave.pof' now.

read_model_file(pm=0xa594148, filename=0xa3d0720 "shockwave.pof",
       n_subsystems=0, subsystems=0x0, ferror=1);

The logfile says it started a new IBX for 'warp.pof'. Does this mean that
fs2_open needs to start an IBX for *all* the files? Any workaround for this?
This affectively kills my X session - have to run a second X session and
networked computer to test/gdb this.

taylor

2007-01-18 01:35

administrator   ~0007489

There is something strange going on then. What are your system specs (distro and version, CPU, memory, etc)? What version of fs2_open are you using: CVS or release build, and HEAD or the stable branch if CVS?

It always has to create the IBX data, models can't be rendered otherwise. The IBX file itself is just a cache of this info so that the game doesn't have to generate it again.

And a quick tip, always use the -window and -nograb cmdline options when running in a debugger. That way the game doesn't take total control over your display or input devices and will let you easily debug the process.

2007-01-18 02:00

 

fs2_modelread.patch (624 bytes)   
--- code/model/modelread.cpp~   2007-01-15 01:37:38.000000000 +0000
+++ code/model/modelread.cpp    2007-01-18 01:55:37.000000000 +0000
@@ -2230,8 +2230,8 @@
 //                             float d;

                                //mprintf(0,"Got chunk SOBJ, len=%d\n",len);
-
-                               pm->submodel[n].sub_object_number = n = cfread_int(fp);
+                               n = cfread_int(fp);
+                               pm->submodel[n].sub_object_number = n;
                                //mprintf(("SOBJ IDed itself as %d", n));

                                Assert(n < pm->n_models );
fs2_modelread.patch (624 bytes)   

Srdjant

2007-01-18 02:09

reporter   ~0007490

Uploaded patch seems to fix the problem. I am not sure why it does, maybe gcc does some instruction re-ordering.

My system specs: Slackware Linux 10.2, AMD Athlon XP, 512MB DDR.
This should be fs2_open 3.6.9 CVS HEAD from 16-01-2007.

Anyway, I could play the first mission with that patch. Then it errored out
on the second mission with:

ERROR: "thruster bank is linked to subsystem 0000006, wich is out of bounds, on model Platform2T-01.pof" at model/modelinterp.cpp:6810
[Thread -1233937488 (zombie) exited]
Program exited with code 01.

I had a quick check on mantis, and that doesn't appear to be reported yet, so
I'll probably report that soon.

I'll try MediaVPs next.

taylor

2007-01-18 04:28

administrator   ~0007491

Yep, that's a code bug, and your patch should fix it just fine.

I don't use CVS HEAD now, and won't for a while yet. Since I'm the one that fixes most bugs, there is a price to pay in the stability department for everyone else. Unless you really want to keep dealing with these types of problems then I'd suggest that you get the stable branch (with the "fs2_open_3_6_9" tag) instead of HEAD.

I'm going to assign this to Bobboau, since it was his (recent) changes in question that you are having issues with.

chief1983

2008-10-08 23:24

administrator   ~0009843

If this disappeared into CVS HEAD land and never made it into SVN, then it's no longer in any current code base, and should be closed. Any objections?

taylor

2008-10-08 23:39

administrator   ~0009844

CVS HEAD did make it into SVN, it was just renamed to fs2_open-unstable. At some point code from it is supposed to be resurrected and merged back into the trunk once it's been vetted.

chief1983

2008-10-09 02:05

administrator   ~0009868

Right, my bad. I guess I'm wondering if this is worth leaving open as a reminder when that code is eventually brought over. I'm marking low priority since it's not a bug in the current development branch.

The_E

2010-10-22 13:23

administrator   ~0012426

Fix was apparently added to trunk a while back. Closing.

Issue History

Date Modified Username Field Change
2007-01-17 03:14 Srdjant New Issue
2007-01-17 05:28 taylor Note Added: 0007477
2007-01-17 05:29 taylor File Added: warp.pof
2007-01-17 17:21 Srdjant Note Added: 0007481
2007-01-17 18:05 taylor Note Added: 0007482
2007-01-17 18:36 Srdjant Note Added: 0007483
2007-01-17 18:37 Srdjant File Added: fs2_gdb2.txt
2007-01-17 21:02 taylor Note Added: 0007484
2007-01-17 23:03 Srdjant Note Added: 0007486
2007-01-17 23:15 Srdjant File Added: fs2_open.log
2007-01-17 23:19 Srdjant Note Added: 0007487
2007-01-18 01:35 taylor Note Added: 0007489
2007-01-18 02:00 Srdjant File Added: fs2_modelread.patch
2007-01-18 02:09 Srdjant Note Added: 0007490
2007-01-18 04:28 taylor Note Added: 0007491
2007-01-18 04:28 taylor Status new => assigned
2007-01-18 04:28 taylor Assigned To => Bobboau
2008-10-08 23:24 chief1983 Note Added: 0009843
2008-10-08 23:39 taylor Note Added: 0009844
2008-10-09 02:05 chief1983 Note Added: 0009868
2008-10-09 02:05 chief1983 Priority normal => low
2008-10-09 05:33 chief1983 Summary Segfault in read_model_file() at model/modelread.cpp when entering ready room from main screen. => Unstable: Segfault in read_model_file() at model/modelread.cpp when entering ready room from main screen.
2010-10-22 13:23 The_E Note Added: 0012426
2010-10-22 13:23 The_E Status assigned => closed
2010-10-22 13:23 The_E Resolution open => fixed