View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001227 | FSSCP | models | public | 2007-01-17 03:14 | 2010-10-22 13:23 |
| Reporter | Srdjant | Assigned To | Bobboau | ||
| Priority | low | Severity | crash | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Product Version | 3.6.9 | ||||
| Summary | 0001227: Unstable: Segfault in read_model_file() at model/modelread.cpp when entering ready room from main screen. | ||||
| Description | I 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" | ||||
| Tags | No tags attached. | ||||
|
|
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
|
|
|
|
I have .vp files, and no .pof files, so probably is in a VP. What do I do with the pof file? |
|
|
Put it in ~/.fs2_open/data/models. You may have to create the "models" directory if it doesn't already exist. |
|
|
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)
|
|
|
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. |
|
|
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'. |
|
|
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. |
|
|
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 );
|
|
|
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. |
|
|
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. |
|
|
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? |
|
|
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. |
|
|
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. |
|
|
Fix was apparently added to trunk a while back. Closing. |
| 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 |