2019-12-14 00:22 EST


View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002342FSSCPAIpublic2010-11-24 04:00
ReporterFUBAR-BDHR 
Assigned ToSushi_CW 
PriorityhighSeverityminorReproducibilityhave not tried
StatusresolvedResolutionfixed 
Product Version3.6.13 
Target VersionFixed in Version3.6.13 
Summary0002342: Verify failure: swp->current_secondary_bank >= 0
DescriptionVerify failure: swp->current_secondary_bank >= 0 && swp->current_secondary_bank < MAX_SHIP_SECONDARY_BANKS

In this case current_secondary_bank was -1. This is a new check recently added by E9 in commit 6756. Check looks good so it's probably picking up an old error as that area of the code goes back to commit 1649 by WMC.

The real question is why the AI did not pick a valid weapon. As far as I could tell the firing ship was Alpha 3 a Loki#stealth (FSPort) armed with Harps in bank 0 targeting a Manticore.
Additional Information3.6.13 r5760 running FSPort MVPs Standalone just updated with mediavp 3.6.13 patch

Attaching stack and variables. I'll attach logs as soon as I am able.
TagsNo tags attached.
Attached Files
  • txt file icon verify_aicode_5790.txt (22,443 bytes) 2010-11-21 23:27 -
    Verify failure: swp->current_secondary_bank >= 0 && swp->current_secondary_bank < MAX_SHIP_SECONDARY_BANKS
    
    <no module>! KiFastSystemCallRet
    <no module>! WaitForSingleObject + 18 bytes
    <no module>! SCP_DumpStack + 354 bytes
    <no module>! Error + 229 bytes
    <no module>! ai_select_secondary_weapon + 1121 bytes
    <no module>! ai_choose_secondary_weapon + 601 bytes
    <no module>! ai_chase + 9692 bytes
    <no module>! ai_execute_behavior + 82 bytes
    <no module>! ai_frame + 2083 bytes
    <no module>! ai_process + 290 bytes
    <no module>! ship_process_post + 1838 bytes
    <no module>! obj_move_all_post + 565 bytes
    <no module>! obj_move_all + 355 bytes
    <no module>! game_simulation_frame + 1109 bytes
    <no module>! game_frame + 491 bytes
    <no module>! game_do_frame + 239 bytes
    <no module>! game_do_state + 379 bytes
    <no module>! gameseq_process_events + 237 bytes
    <no module>! game_main + 782 bytes
    <no module>! WinMain + 330 bytes
    <no module>! __tmainCRTStartup + 358 bytes
    <no module>! WinMainCRTStartup + 15 bytes
    <no module>! RegisterWaitForInputIdle + 73 bytes
    
    
     	fs2_open_3_6_13d_INF_SSE2.exe!debug_int3(char * file=0x00ea361c, int line=1155)  Line 764	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!Error(const char * filename=0x00edf030, int line=5790, const char * format=0x00e9e3d8, ...)  Line 1155 + 0x13 bytes	C++
    >	fs2_open_3_6_13d_INF_SSE2.exe!ai_select_secondary_weapon(object * objp=0x01060c10, ship_weapon * swp=0x01570b98, int priority1=259, int priority2=0, int wif2_priority1=0, int wif2_priority2=0)  Line 5790 + 0x2f bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!ai_choose_secondary_weapon(object * objp=0x01060c10, ai_info * aip=0x022df478, object * en_objp=0x01061fe4)  Line 7667 + 0x1d bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!ai_chase()  Line 8708 + 0x19 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!ai_execute_behavior(ai_info * aip=0x022df478)  Line 12961 + 0x5 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!ai_frame(int objnum=6)  Line 14149 + 0x9 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!ai_process(object * obj=0x01060c10, int ai_index=5, float frametime=0.033996582)  Line 14253 + 0x16 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!ship_process_post(object * obj=0x01060c10, float frametime=0.033996582)  Line 7756 + 0x20 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!obj_move_all_post(object * objp=0x01060c10, float frametime=0.033996582)  Line 1209 + 0x10 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!obj_move_all(float frametime=0.033996582)  Line 1410 + 0x10 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!game_simulation_frame()  Line 4220 + 0xf bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!game_frame(int paused=0)  Line 4667	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!game_do_frame()  Line 5098 + 0x7 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!game_do_state(int state=2)  Line 6890	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!gameseq_process_events()  Line 407 + 0x14 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!game_main(char * cmdline=0x00152344)  Line 7465 + 0x5 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!WinMain(HINSTANCE__ * hInst=0x00400000, HINSTANCE__ * hPrev=0x00000000, char * szCmdLine=0x00152344, int nCmdShow=1)  Line 7545 + 0x9 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!__tmainCRTStartup()  Line 263 + 0x2c bytes	C
     	fs2_open_3_6_13d_INF_SSE2.exe!WinMainCRTStartup()  Line 182	C
     	kernel32.dll!7c817077() 	
     	[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]	
    
    All values of arrays weapon_bank_list and weapon_id_list are -1
    
    Autos:
    
    -		aip	0x022df478 {ai_flags=0 shipnum=5 type=0 ...}	ai_info *
    		ai_flags	0	int
    		shipnum	5	int
    		type	0	int
    		wing	0	int
    		behavior	9	int
    		mode	0	int
    		previous_mode	5	int
    		mode_time	-1	int
    		target_objnum	15	int
    		target_signature	16	int
    		previous_target_objnum	15	int
    		stealth_last_cheat_visible_stamp	0	int
    		stealth_last_visible_stamp	0	int
    		stealth_sweep_box_size	0.00000000	float
    +		stealth_last_pos	{xyz={...} a1d=0x022df4b0 }	vec3d
    +		stealth_velocity	{xyz={...} a1d=0x022df4bc }	vec3d
    		previous_dot_to_enemy	0.00000000	float
    		target_time	3.5569916	float
    		enemy_wing	-1	int
    		attacker_objnum	-1	int
    		goal_objnum	-1	int
    		goal_signature	-1	int
    		guard_objnum	11	int
    		guard_signature	12	int
    		guard_wingnum	2	int
    		ignore_objnum	-4000	int
    		ignore_signature	-1	int
    +		ignore_new_objnums	0x022df4f4	int [7]
    +		ignore_new_signatures	0x022df510	int [7]
    		ai_class	3	int
    		wp_list	-1	int
    		wp_index	-1	int
    		wp_flags	0	int
    		wp_dir	0	int
    		waypoint_speed_cap	-1	int
    		path_start	-1	int
    		path_cur	0	int
    		path_length	0	int
    		path_dir	0	int
    		path_flags	0	int
    		path_objnum	0	int
    		path_goal_obj_hash	0	int
    		path_next_create_time	53855	long
    +		path_create_pos	{xyz={...} a1d=0x022df564 }	vec3d
    +		path_create_orient	{vec={...} a2d=0x022df570 a1d=0x022df570 }	matrix
    		mp_index	0	int
    		path_next_check_time	0	long
    		path_goal_dist	-1	int
    		path_subsystem_next_check	1	int
    		submode	2	int
    		previous_submode	104	int
    		best_dot_to_enemy	-1.0000000	float
    		best_dot_from_enemy	-1.0000000	float
    		best_dot_to_time	0	long
    		best_dot_from_time	0	long
    		submode_start_time	6424559	long
    		submode_parm0	0	int
    		submode_parm1	0	int
    		next_predict_pos_time	6518407	long
    		next_aim_pos_time	6482296	long
    +		last_aim_enemy_pos	{xyz={...} a1d=0x022df5d0 }	vec3d
    +		last_aim_enemy_vel	{xyz={...} a1d=0x022df5dc }	vec3d
    +		goals	0x022df5e8 {signature=1 ai_mode=32768 ai_submode=0 ...}	ai_goal [5]
    		active_goal	999	int
    		goal_check_time	1	int
    +		last_predicted_enemy_pos	{xyz={...} a1d=0x022df6f4 }	vec3d
    		time_enemy_in_range	38.133347	float
    		time_enemy_near	0.00000000	float
    		last_attack_time	6482296	long
    		last_hit_time	0	long
    		last_hit_quadrant	0	int
    		last_hit_target_time	6249185	long
    		hitter_objnum	-1	int
    		hitter_signature	-1	int
    		resume_goal_time	-1	long
    		prev_accel	1.0000000	float
    		prev_dot_to_goal	0.00000000	float
    +		goal_point	{xyz={...} a1d=0x022df72c }	vec3d
    +		prev_goal_point	{xyz={...} a1d=0x022df738 }	vec3d
    		ai_accuracy	0.55000001	float
    		ai_evasion	20.000000	float
    		ai_courage	20.000000	float
    		ai_patience	20.000000	float
    		ai_aburn_use_factor	-2147483648	int
    		ai_shockwave_evade_chance	1.1754944e-038	float
    		ai_get_away_chance	1.1754944e-038	float
    		ai_secondary_range_mult	1.1754944e-038	float
    		ai_class_autoscale	true	bool
    		ai_cmeasure_fire_chance	0.30000001	float
    		ai_in_range_time	1.4000000	float
    		ai_link_ammo_levels_maybe	60.000000	float
    		ai_link_ammo_levels_always	80.000000	float
    		ai_primary_ammo_burst_mult	0.00000000	float
    		ai_link_energy_levels_maybe	60.000000	float
    		ai_link_energy_levels_always	80.000000	float
    		ai_predict_position_delay	98304	long
    		ai_shield_manage_delay	4.0000000	float
    		ai_ship_fire_delay_scale_friendly	1.4000000	float
    		ai_ship_fire_delay_scale_hostile	2.5000000	float
    		ai_ship_fire_secondary_delay_scale_friendly	0.60000002	float
    		ai_ship_fire_secondary_delay_scale_hostile	1.2000000	float
    		ai_turn_time_scale	2.2000000	float
    		ai_glide_attack_percent	0.00000000	float
    		ai_circle_strafe_percent	0.00000000	float
    		ai_glide_strafe_percent	0.00000000	float
    		ai_random_sidethrust_percent	0.00000000	float
    		ai_stalemate_time_thresh	0.00000000	float
    		ai_stalemate_dist_thresh	0.00000000	float
    		ai_chance_to_use_missiles_on_plr	1	int
    		ai_max_aim_update_delay	0.00000000	float
    		ai_turret_max_aim_update_delay	0.00000000	float
    		ai_profile_flags	5376	int
    		ai_profile_flags2	0	int
    		lead_scale	0.21093589	float
    		stay_near_distance	0.21093589	float
    +		targeted_subsys	0x00000000 {next=??? prev=??? system_info=??? ...}	ship_subsys *
    +		last_subsys_target	0x00000000 {next=??? prev=??? system_info=??? ...}	ship_subsys *
    		targeted_subsys_parent	-1	int
    		aspect_locked_time	0.00000000	float
    		support_ship_objnum	-1	int
    		support_ship_signature	-1	int
    		danger_weapon_objnum	393	int
    		danger_weapon_signature	394	int
    +		guard_vec	{xyz={...} a1d=0x022df7f0 }	vec3d
    		nearest_locked_object	-1	int
    		nearest_locked_distance	99999.000	float
    		current_target_distance	0.00000000	float
    		current_target_is_locked	0	int
    		current_target_dist_trend	0	int
    		current_target_speed_trend	0	int
    		last_dist	0.00000000	float
    		last_speed	0.00000000	float
    		last_secondary_index	0	int
    		last_target	0	int
    		rearm_first_missile	1	int
    		rearm_first_ballistic_primary	1	int
    		rearm_release_delay	0	int
    		afterburner_stop_time	138190971	long
    		last_objsig_hit	17	int
    		ignore_expire_timestamp	53855	int
    		warp_out_timestamp	0	int
    		next_rearm_request_timestamp	153264	int
    		primary_select_timestamp	99225	int
    		secondary_select_timestamp	53855	int
    		scan_for_enemy_timestamp	53855	int
    		choose_enemy_timestamp	95900	int
    		force_warp_time	0	int
    		shockwave_object	-1	int
    		shield_manage_timestamp	1	int
    		self_destruct_timestamp	-1	int
    		ok_to_target_timestamp	1	int
    		kamikaze_damage	0.00000000	float
    +		big_attack_point	{xyz={...} a1d=0x022df86c }	vec3d
    +		big_attack_surface_normal	{xyz={...} a1d=0x022df878 }	vec3d
    		pick_big_attack_point_timestamp	53855	int
    		avoid_ship_num	-1	int
    +		avoid_goal_point	{xyz={...} a1d=0x022df88c }	vec3d
    		avoid_check_timestamp	97815	long
    +		big_collision_normal	{xyz={...} a1d=0x022df89c }	vec3d
    +		big_recover_pos_1	{xyz={...} a1d=0x022df8a8 }	vec3d
    +		big_recover_pos_2	{xyz={...} a1d=0x022df8b4 }	vec3d
    		big_recover_timestamp	0	int
    		abort_rearm_timestamp	-1	int
    		artillery_objnum	-1	int
    		artillery_sig	-1	int
    		artillery_lock_time	0.00000000	float
    +		artillery_lock_pos	{xyz={...} a1d=0x022df8d4 }	vec3d
    		lethality	0.78916872	float
    		ai_override_flags	0	int
    +		ai_override_ci	{pitch=0.00000000 vertical=0.00000000 heading=0.00000000 ...}	control_info
    		ai_override_timestamp	0	int
    		aip->current_target_is_locked	0	int
    -		swp	0x01570b98 {num_primary_banks=2 num_secondary_banks=1 num_tertiary_banks=0 ...}	ship_weapon *
    		num_primary_banks	2	int
    		num_secondary_banks	1	int
    		num_tertiary_banks	0	int
    +		primary_bank_weapons	0x01570ba4	int [3]
    +		secondary_bank_weapons	0x01570bb0	int [4]
    		current_primary_bank	0	int
    		current_secondary_bank	-1	int
    		current_tertiary_bank	0	int
    		previous_primary_bank	0	int
    		previous_secondary_bank	0	int
    +		next_primary_fire_stamp	0x01570bd4	int [3]
    +		last_primary_fire_stamp	0x01570be0	int [3]
    +		next_secondary_fire_stamp	0x01570bec	int [4]
    +		last_secondary_fire_stamp	0x01570bfc	int [4]
    		next_tertiary_fire_stamp	0	int
    +		primary_bank_ammo	0x01570c10	int [3]
    +		primary_bank_start_ammo	0x01570c1c	int [3]
    +		primary_bank_capacity	0x01570c28	int [3]
    +		primary_next_slot	0x01570c34	int [3]
    +		primary_bank_rearm_time	0x01570c40	int [3]
    +		secondary_bank_ammo	0x01570c4c	int [4]
    +		secondary_bank_start_ammo	0x01570c5c	int [4]
    +		secondary_bank_capacity	0x01570c6c	int [4]
    +		secondary_next_slot	0x01570c7c	int [4]
    +		secondary_bank_rearm_time	0x01570c8c	int [4]
    		tertiary_bank_ammo	0	int
    		tertiary_bank_start_ammo	0	int
    		tertiary_bank_capacity	0	int
    		tertiary_bank_rearm_time	0	int
    		last_fired_weapon_index	1300	int
    		last_fired_weapon_signature	1301	int
    		detonate_weapon_time	97345	int
    		ai_class	3	int
    		flags	0	int
    +		primary_animation_position	0x01570cc0 ""	unsigned char [3]
    +		secondary_animation_position	0x01570cc3 ""	unsigned char [4]
    +		primary_animation_done_time	0x01570cc8	int [3]
    +		secondary_animation_done_time	0x01570cd4	int [4]
    +		burst_counter	0x01570ce4	int [7]
    +		external_model_fp_counter	0x01570d00	int [7]
    		swp->current_secondary_bank	-1	int
    
    
    Locals:
    
    -		objp	0x01060c10 {next=0x01061078 prev=0x010609dc signature=7 ...}	object *
    +		next	0x01061078 {next=0x010612ac prev=0x01060c10 signature=9 ...}	object *
    +		prev	0x010609dc {next=0x01060c10 prev=0x010607a8 signature=6 ...}	object *
    		signature	7	int
    		type	1 ''	char
    		parent	-1	int
    		parent_sig	7	int
    		parent_type	1 ''	char
    		instance	5	int
    		flags	519	unsigned int
    +		pos	{xyz={...} a1d=0x01060c34 }	vec3d
    +		orient	{vec={...} a2d=0x01060c40 a1d=0x01060c40 }	matrix
    		radius	13.158433	float
    +		last_pos	{xyz={...} a1d=0x01060c68 }	vec3d
    +		last_orient	{vec={...} a2d=0x01060c74 a1d=0x01060c74 }	matrix
    +		phys_info	{flags=258 mass=116.38020 center_of_mass={...} ...}	physics_info
    +		shield_quadrant	0x01060dd4	float [4]
    		hull_strength	180.00000	float
    		sim_hull_strength	0.00000000	float
    +		objsnd_num	0x01060dec	short [32]
    		net_signature	39	unsigned short
    		num_pairs	41	int
    +		jnp	0x00000000 {m_name=0x0000000c <Bad Ptr> m_modelnum=??? m_objnum=??? ...}	jump_node *
    +		dock_list	0x00000000 {next=??? dockpoint_used=??? docked_objp=??? }	dock_instance *
    +		dead_dock_list	0x00000000 {next=??? dockpoint_used=??? docked_objp=??? }	dock_instance *
    		collision_group_id	0	int
    +		aip	0x022df478 {ai_flags=0 shipnum=5 type=0 ...}	ai_info *
    		priority1	259	int
    		priority2	0	int
    		wif2_priority2	0	int
    +		swp	0x01570b98 {num_primary_banks=2 num_secondary_banks=1 num_tertiary_banks=0 ...}	ship_weapon *
    		num_weapon_types	0	int
    		ignore_mask_without_huge	1048576	int
    		initial_bank	0	int
    		ignore_mask	9469952	int
    		wif2_priority1	0	int
    		priority2_index	-1	int
    +		weapon_bank_list	0x0012de6c	int [300]
    +		wip	0xcccccccc {name=0xcccccccc <Bad Ptr> alt_name=0xccccccec <Bad Ptr> title=0xcccccd0c <Bad Ptr> ...}	weapon_info *
    		i	0	int
    +		weapon_id_list	0x0012e324	int [300]
    
    
    Locals up one level:
    
    +		objp	0x01060c10 {next=0x01061078 prev=0x010609dc signature=7 ...}	object *
    +		aip	0x022df478 {ai_flags=0 shipnum=5 type=0 ...}	ai_info *
    -		en_objp	0x01061fe4 {next=0x0106244c prev=0x01061db0 signature=16 ...}	object *
    +		next	0x0106244c {next=0x01062680 prev=0x01061fe4 signature=18 ...}	object *
    +		prev	0x01061db0 {next=0x01061fe4 prev=0x01061b7c signature=15 ...}	object *
    		signature	16	int
    		type	1 ''	char
    		parent	-1	int
    		parent_sig	16	int
    		parent_type	1 ''	char
    		instance	14	int
    		flags	7	unsigned int
    +		pos	{xyz={...} a1d=0x01062008 }	vec3d
    +		orient	{vec={...} a2d=0x01062014 a1d=0x01062014 }	matrix
    		radius	16.083845	float
    +		last_pos	{xyz={...} a1d=0x0106203c }	vec3d
    +		last_orient	{vec={...} a2d=0x01062048 a1d=0x01062048 }	matrix
    +		phys_info	{flags=274 mass=167.53310 center_of_mass={...} ...}	physics_info
    +		shield_quadrant	0x010621a8	float [4]
    		hull_strength	100.00000	float
    		sim_hull_strength	0.00000000	float
    +		objsnd_num	0x010621c0	short [32]
    		net_signature	48	unsigned short
    		num_pairs	51	int
    +		jnp	0x00000000 {m_name=0x0000000c <Bad Ptr> m_modelnum=??? m_objnum=??? ...}	jump_node *
    +		dock_list	0x00000000 {next=??? dockpoint_used=??? docked_objp=??? }	dock_instance *
    +		dead_dock_list	0x00000000 {next=??? dockpoint_used=??? docked_objp=??? }	dock_instance *
    		collision_group_id	0	int
    		subsystem_strength	0.00000000	float
    		wif_priority1	259	int
    		wif_priority2	0	int
    		preferred_secondary	-1	int
    		wif2_priority2	0	int
    +		swp	0x01570b98 {num_primary_banks=2 num_secondary_banks=1 num_tertiary_banks=0 ...}	ship_weapon *
    		wif2_priority1	0	int
    		is_big_ship	0	int
    -		esip	0x01c25114 {name=0x01c25114 "SF Manticore" alt_name=0x01c25134 "" short_name=0x01c25154 "SFight11" ...}	ship_info *
    +		name	0x01c25114 "SF Manticore"	char [32]
    +		alt_name	0x01c25134 ""	char [32]
    +		short_name	0x01c25154 "SFight11"	char [32]
    		species	2	int
    		class_type	6	int
    +		type_str	0x00000000 <Bad Ptr>	char *
    +		maneuverability_str	0x00000000 <Bad Ptr>	char *
    +		armor_str	0x00000000 <Bad Ptr>	char *
    +		manufacturer_str	0x00000000 <Bad Ptr>	char *
    +		desc	0x00000000 <Bad Ptr>	char *
    +		tech_desc	0x039b1f48 "We believe that the Manticore is a Shivan interceptor.  It has a very high top speed, and its maneuverability is quite good.  However, its shield system isn't strong enough to withstand constant fighting for long, which leads us to believe the Manticore's primary purpose is to destroy enemy bombers.
    
    The Manticore ranks as a class B threat."	char *
    +		tech_title	0x01c25194 ""	char [32]
    +		ship_length	0x00000000 <Bad Ptr>	char *
    +		gun_mounts	0x0381da88 "1 (2)"	char *
    +		missile_banks	0x0381dac0 "2 (40. 40)"	char *
    +		cockpit_pof_file	0x01c251c0 ""	char [32]
    +		cockpit_offset	{xyz={...} a1d=0x01c251e0 }	vec3d
    +		pof_file	0x01c251ec "fighter11.pof"	char [32]
    +		pof_file_hud	0x01c2520c ""	char [32]
    		num_detail_levels	4	int
    +		detail_distance	0x01c25230	int [5]
    		cockpit_model_num	-1	int
    		model_num	2708	int
    		model_num_hud	-1	int
    		hud_target_lod	-1	int
    		density	1.0000000	float
    		damp	0.20000000	float
    		rotdamp	0.30000001	float
    		delta_bank_const	0.50000000	float
    +		max_vel	{xyz={...} a1d=0x01c25264 }	vec3d
    +		afterburner_max_vel	{xyz={...} a1d=0x01c25270 }	vec3d
    +		max_rotvel	{xyz={...} a1d=0x01c2527c }	vec3d
    +		rotation_time	{xyz={...} a1d=0x01c25288 }	vec3d
    		srotation_time	3.2000000	float
    		max_rear_vel	25.000000	float
    		forward_accel	3.0000000	float
    		afterburner_forward_accel	0.69999999	float
    		forward_decel	1.5000000	float
    		slide_accel	2.0000000	float
    		slide_decel	2.0000000	float
    +		warpin_anim	0x01c252b0 ""	char [32]
    		warpin_radius	0.00000000	float
    		warpin_snd_start	-1	int
    		warpin_snd_end	-1	int
    		warpin_speed	0.00000000	float
    		warpin_time	0	int
    		warpin_type	0	int
    +		warpout_anim	0x01c252e8 ""	char [32]
    		warpout_radius	0.00000000	float
    		warpout_snd_start	-1	int
    		warpout_snd_end	-1	int
    		warpout_speed	0.00000000	float
    		warpout_time	0	int
    		warpout_type	0	int
    		warpout_player_speed	0.00000000	float
    		flags	1048872	int
    		flags2	2	int
    		ai_class	3	int
    		max_speed	87.000000	float
    		min_speed	-25.000000	float
    		max_accel	87.000000	float
    		collision_damage_type_idx	-1	int
    +		collision_physics	{both_small_bounce=5.0000000 bounce=5.0000000 friction=0.00000000 ...}	ship_collision_physics
    +		shockwave	{name=0x01c25394 "" pof_name=0x01c253b4 "" inner_rad=15.000000 ...}	shockwave_create_info
    		explosion_propagates	0	int
    		big_exp_visual_rad	-1.0000000	float
    		shockwave_count	1	int
    +		explosion_bitmap_anims	{...}	SCP_vector<int>
    		vaporize_chance	0.00000000	float
    		ispew_max_particles	-1	int
    		dspew_max_particles	-1	int
    		debris_min_lifetime	-1.0000000	float
    		debris_max_lifetime	-1.0000000	float
    		debris_min_speed	-1.0000000	float
    		debris_max_speed	-1.0000000	float
    		debris_min_rotspeed	-1.0000000	float
    		debris_max_rotspeed	-1.0000000	float
    		debris_damage_type_idx	-1	int
    		debris_min_hitpoints	-1.0000000	float
    		debris_max_hitpoints	-1.0000000	float
    		debris_damage_mult	1.0000000	float
    		debris_arc_percent	0.50000000	float
    		n_subsystems	5	int
    +		subsystems	0x039b20d0 {flags=0 name=0x039b20d4 "sensors" subobj_name=0x039b20f4 "sensors" ...}	model_subsystem *
    		power_output	1.5000000	float
    		max_overclocked_speed	120.00000	float
    		max_weapon_reserve	100.00000	float
    		max_shield_regen_per_second	0.020000000	float
    		max_weapon_regen_per_second	0.039999999	float
    		afterburner_fuel_capacity	300.00000	float
    		afterburner_burn_rate	70.000000	float
    		afterburner_recover_rate	25.000000	float
    		afterburner_max_reverse_vel	0.00000000	float
    		afterburner_reverse_accel	0.00000000	float
    		cmeasure_type	70	int
    		cmeasure_max	20	int
    		num_primary_banks	1	int
    		num_secondary_banks	2	int
    +		primary_bank_weapons	0x01c25494	int [3]
    +		primary_bank_ammo_capacity	0x01c254a0	int [3]
    +		secondary_bank_weapons	0x01c254ac	int [4]
    +		secondary_bank_ammo_capacity	0x01c254bc	int [4]
    		max_hull_strength	100.00000	float
    		max_shield_strength	500.00000	float
    		hull_repair_rate	0.00000000	float
    		subsys_repair_rate	-2.0000000	float
    		sup_hull_repair_rate	0.15000001	float
    		sup_shield_repair_rate	0.20000000	float
    		sup_subsys_repair_rate	0.15000001	float
    		engine_snd	198	int
    +		closeup_pos	{xyz={...} a1d=0x01c254ec }	vec3d
    		closeup_zoom	0.50000000	float
    +		allowed_weapons	0x01c254fc	int [300]
    +		restricted_loadout_flag	0x01c259ac	int [7]
    +		allowed_bank_restricted_weapons	0x01c259c8	int [7][300]
    		shield_icon_index	19 ''	unsigned char
    +		icon_filename	0x01c27a99 ""	char [32]
    +		anim_filename	0x01c27ab9 ""	char [32]
    +		overhead_filename	0x01c27ad9 ""	char [32]
    		score	12	int
    		scan_time	2000	int
    +		ct_info	0x01c27b04 {pt={...} w_start=0.25000000 w_end=0.050000001 ...}	trail_info [12]
    		ct_count	2	int
    		num_nondark_colors	0	int
    +		nondark_colors	0x01c27e9c	unsigned char [10][3]
    +		shield_color	0x01c27eba "\\"	unsigned char [3]
    +		afterburner_trail	{filename=0x01c27ec0 "sabtrail" bitmap_id=0 }	generic_bitmap
    		afterburner_trail_width_factor	2.5000000	float
    		afterburner_trail_alpha_factor	0.30000001	float
    		afterburner_trail_life	1.0000000	float
    		afterburner_trail_faded_out_sections	0	int
    +		normal_thruster_particles	{...}	SCP_vector<thruster_particles>
    +		afterburner_thruster_particles	{...}	SCP_vector<thruster_particles>
    +		thruster_flame_info	{normal={...} afterburn={...} }	thrust_pair
    +		thruster_glow_info	{normal={...} afterburn={...} }	thrust_pair
    +		thruster_secondary_glow_info	{normal={...} afterburn={...} }	thrust_pair_bitmap
    +		thruster_tertiary_glow_info	{normal={...} afterburn={...} }	thrust_pair_bitmap
    		thruster01_glow_rad_factor	1.0000000	float
    		thruster02_glow_rad_factor	1.0000000	float
    		thruster03_glow_rad_factor	1.0000000	float
    		thruster02_glow_len_factor	1.0000000	float
    		splodeing_texture	0	int
    +		splodeing_texture_name	0x01c28158 "boom"	char [32]
    +		draw_primary_models	0x01c28178	bool [3]
    +		draw_secondary_models	0x01c2817b	bool [4]
    		draw_models	false	bool
    		weapon_model_draw_distance	200.00000	float
    		armor_type_idx	2	int
    		shield_armor_type_idx	-1	int
    		can_glide	false	bool
    		glide_cap	0.00000000	float
    		glide_dynamic_cap	false	bool
    		glide_accel_mult	0.00000000	float
    		use_newtonian_damp	false	bool
    		newtonian_damp_override	false	bool
    		autoaim_fov	0.00000000	float
    		topdown_offset_def	false	bool
    +		topdown_offset	{xyz={...} a1d=0x01c281a8 }	vec3d
    		num_maneuvering	0	int
    +		maneuvering	0x01c281b8 {use_flags=0 start_snd=-1 loop_snd=-1 ...}	man_thruster [128]
    		radar_image_2d_idx	-1	int
    		radar_image_size	-1	int
    		radar_projection_size_mult	1.0000000	float
    +		ship_iff_info	0x01c29fc4	int [10][10]
    		aiming_flags	0	int
    		minimum_convergence_distance	0.00000000	float
    		convergence_distance	100.00000	float
    +		convergence_offset	{xyz={...} a1d=0x01c2a160 }	vec3d
    		emp_resistance_mod	0.00000000	float
    		piercing_damage_draw_limit	0.10000000	float
    		damage_lightning_type	1	int
    
    
    txt file icon verify_aicode_5790.txt (22,443 bytes) 2010-11-21 23:27 +
  • log file icon multi_2342.log (19,148 bytes) 2010-11-21 23:51
  • rar file icon fs2_open_2342.rar (82,068 bytes) 2010-11-21 23:52
  • txt file icon verify_aicode_5790b.txt (11,493 bytes) 2010-11-22 00:24 -
    Verify failure: swp->current_secondary_bank >= 0 && swp->current_secondary_bank < MAX_SHIP_SECONDARY_BANKS
    
    <no module>! KiFastSystemCallRet
    <no module>! WaitForSingleObject + 18 bytes
    <no module>! SCP_DumpStack + 354 bytes
    <no module>! Error + 229 bytes
    <no module>! ai_select_secondary_weapon + 1121 bytes
    <no module>! ai_choose_secondary_weapon + 601 bytes
    <no module>! ai_chase + 9692 bytes
    <no module>! ai_execute_behavior + 82 bytes
    <no module>! ai_frame + 2083 bytes
    <no module>! ai_process + 290 bytes
    <no module>! ship_process_post + 1838 bytes
    <no module>! obj_move_all_post + 565 bytes
    <no module>! obj_move_all + 355 bytes
    <no module>! game_simulation_frame + 1109 bytes
    <no module>! game_frame + 491 bytes
    <no module>! game_do_frame + 239 bytes
    <no module>! game_do_state + 379 bytes
    <no module>! gameseq_process_events + 237 bytes
    <no module>! game_main + 782 bytes
    <no module>! WinMain + 330 bytes
    <no module>! __tmainCRTStartup + 358 bytes
    <no module>! WinMainCRTStartup + 15 bytes
    <no module>! RegisterWaitForInputIdle + 73 bytes
    
    
     	fs2_open_3_6_13d_INF_SSE2.exe!debug_int3(char * file=0x00ea361c, int line=1155)  Line 764	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!Error(const char * filename=0x00edf030, int line=5790, const char * format=0x00e9e3d8, ...)  Line 1155 + 0x13 bytes	C++
    >	fs2_open_3_6_13d_INF_SSE2.exe!ai_select_secondary_weapon(object * objp=0x010633b8, ship_weapon * swp=0x015aaa74, int priority1=259, int priority2=0, int wif2_priority1=0, int wif2_priority2=0)  Line 5790 + 0x2f bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!ai_choose_secondary_weapon(object * objp=0x010633b8, ai_info * aip=0x022e5750, object * en_objp=0x01063c88)  Line 7667 + 0x1d bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!ai_chase()  Line 8708 + 0x19 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!ai_execute_behavior(ai_info * aip=0x022e5750)  Line 12961 + 0x5 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!ai_frame(int objnum=24)  Line 14149 + 0x9 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!ai_process(object * obj=0x010633b8, int ai_index=23, float frametime=0.033996582)  Line 14253 + 0x16 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!ship_process_post(object * obj=0x010633b8, float frametime=0.033996582)  Line 7760 + 0x20 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!obj_move_all_post(object * objp=0x010633b8, float frametime=0.033996582)  Line 1209 + 0x10 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!obj_move_all(float frametime=0.033996582)  Line 1410 + 0x10 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!game_simulation_frame()  Line 4220 + 0xf bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!game_frame(int paused=0)  Line 4667	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!game_do_frame()  Line 5098 + 0x7 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!game_do_state(int state=2)  Line 6890	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!gameseq_process_events()  Line 407 + 0x14 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!game_main(char * cmdline=0x0015232f)  Line 7465 + 0x5 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!WinMain(HINSTANCE__ * hInst=0x00400000, HINSTANCE__ * hPrev=0x00000000, char * szCmdLine=0x0015232f, int nCmdShow=10)  Line 7545 + 0x9 bytes	C++
     	fs2_open_3_6_13d_INF_SSE2.exe!__tmainCRTStartup()  Line 263 + 0x2c bytes	C
     	fs2_open_3_6_13d_INF_SSE2.exe!WinMainCRTStartup()  Line 182	C
     	kernel32.dll!7c817077() 	
     	[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]	
    
    
    -		aip	0x022e5750 {ai_flags=16 shipnum=23 type=0 ...}	ai_info *
    		ai_flags	16	int
    		shipnum	23	int
    		type	0	int
    		wing	1	int
    		behavior	9	int
    		mode	0	int
    		previous_mode	9	int
    		mode_time	-1	int
    		target_objnum	28	int
    		target_signature	29	int
    		previous_target_objnum	-1	int
    		stealth_last_cheat_visible_stamp	0	int
    		stealth_last_visible_stamp	0	int
    		stealth_sweep_box_size	0.00000000	float
    +		stealth_last_pos	{xyz={...} a1d=0x022e5788 }	vec3d
    +		stealth_velocity	{xyz={...} a1d=0x022e5794 }	vec3d
    		previous_dot_to_enemy	0.00000000	float
    		target_time	61.570984	float
    		enemy_wing	-1	int
    		attacker_objnum	-1	int
    		goal_objnum	-1	int
    		goal_signature	-1	int
    		guard_objnum	-1	int
    		guard_signature	-1	int
    		guard_wingnum	-1	int
    		ignore_objnum	-4000	int
    		ignore_signature	-1	int
    +		ignore_new_objnums	0x022e57cc	int [7]
    +		ignore_new_signatures	0x022e57e8	int [7]
    		ai_class	3	int
    		wp_list	-1	int
    		wp_index	-1	int
    		wp_flags	0	int
    		wp_dir	0	int
    		waypoint_speed_cap	-1	int
    		path_start	-1	int
    		path_cur	0	int
    		path_length	0	int
    		path_dir	0	int
    		path_flags	0	int
    		path_objnum	0	int
    		path_goal_obj_hash	0	int
    		path_next_create_time	5157369	long
    +		path_create_pos	{xyz={...} a1d=0x022e583c }	vec3d
    +		path_create_orient	{vec={...} a2d=0x022e5848 a1d=0x022e5848 }	matrix
    		mp_index	0	int
    		path_next_check_time	0	long
    		path_goal_dist	-1	int
    		path_subsystem_next_check	1	int
    		submode	6	int
    		previous_submode	0	int
    		best_dot_to_enemy	-1.0000000	float
    		best_dot_from_enemy	-1.0000000	float
    		best_dot_to_time	0	long
    		best_dot_from_time	0	long
    		submode_start_time	3988520	long
    		submode_parm0	0	int
    		submode_parm1	0	int
    		next_predict_pos_time	4106747	long
    		next_aim_pos_time	4035116	long
    +		last_aim_enemy_pos	{xyz={...} a1d=0x022e58a8 }	vec3d
    +		last_aim_enemy_vel	{xyz={...} a1d=0x022e58b4 }	vec3d
    +		goals	0x022e58c0 {signature=1 ai_mode=8192 ai_submode=0 ...}	ai_goal [5]
    		active_goal	0	int
    		goal_check_time	1	int
    +		last_predicted_enemy_pos	{xyz={...} a1d=0x022e59cc }	vec3d
    		time_enemy_in_range	10.274624	float
    		time_enemy_near	0.00000000	float
    		last_attack_time	4035116	long
    		last_hit_time	0	long
    		last_hit_quadrant	3	int
    		last_hit_target_time	3831037	long
    		hitter_objnum	-1	int
    		hitter_signature	-1	int
    		resume_goal_time	-1	long
    		prev_accel	1.0000000	float
    		prev_dot_to_goal	0.00000000	float
    +		goal_point	{xyz={...} a1d=0x022e5a04 }	vec3d
    +		prev_goal_point	{xyz={...} a1d=0x022e5a10 }	vec3d
    		ai_accuracy	0.55000001	float
    		ai_evasion	20.000000	float
    		ai_courage	20.000000	float
    		ai_patience	20.000000	float
    		ai_aburn_use_factor	-2147483648	int
    		ai_shockwave_evade_chance	1.1754944e-038	float
    		ai_get_away_chance	1.1754944e-038	float
    		ai_secondary_range_mult	1.1754944e-038	float
    		ai_class_autoscale	true	bool
    		ai_cmeasure_fire_chance	0.30000001	float
    		ai_in_range_time	1.4000000	float
    		ai_link_ammo_levels_maybe	60.000000	float
    		ai_link_ammo_levels_always	80.000000	float
    		ai_primary_ammo_burst_mult	0.00000000	float
    		ai_link_energy_levels_maybe	60.000000	float
    		ai_link_energy_levels_always	80.000000	float
    		ai_predict_position_delay	98304	long
    		ai_shield_manage_delay	4.0000000	float
    		ai_ship_fire_delay_scale_friendly	1.4000000	float
    		ai_ship_fire_delay_scale_hostile	2.5000000	float
    		ai_ship_fire_secondary_delay_scale_friendly	0.60000002	float
    		ai_ship_fire_secondary_delay_scale_hostile	1.2000000	float
    		ai_turn_time_scale	2.2000000	float
    		ai_glide_attack_percent	0.00000000	float
    		ai_circle_strafe_percent	0.00000000	float
    		ai_glide_strafe_percent	0.00000000	float
    		ai_random_sidethrust_percent	0.00000000	float
    		ai_stalemate_time_thresh	0.00000000	float
    		ai_stalemate_dist_thresh	0.00000000	float
    		ai_chance_to_use_missiles_on_plr	1	int
    		ai_max_aim_update_delay	0.00000000	float
    		ai_turret_max_aim_update_delay	0.00000000	float
    		ai_profile_flags	0	int
    		ai_profile_flags2	0	int
    		lead_scale	0.31599501	float
    		stay_near_distance	0.31599501	float
    +		targeted_subsys	0x00000000 {next=??? prev=??? system_info=??? ...}	ship_subsys *
    +		last_subsys_target	0x00000000 {next=??? prev=??? system_info=??? ...}	ship_subsys *
    		targeted_subsys_parent	-1	int
    		aspect_locked_time	0.00000000	float
    		support_ship_objnum	-1	int
    		support_ship_signature	-1	int
    		danger_weapon_objnum	1281	int
    		danger_weapon_signature	1282	int
    +		guard_vec	{xyz={...} a1d=0x022e5ac8 }	vec3d
    		nearest_locked_object	-1	int
    		nearest_locked_distance	99999.000	float
    		current_target_distance	0.00000000	float
    		current_target_is_locked	0	int
    		current_target_dist_trend	0	int
    		current_target_speed_trend	0	int
    		last_dist	0.00000000	float
    		last_speed	0.00000000	float
    		last_secondary_index	0	int
    		last_target	0	int
    		rearm_first_missile	1	int
    		rearm_first_ballistic_primary	1	int
    		rearm_release_delay	0	int
    		afterburner_stop_time	33893332	long
    		last_objsig_hit	29	int
    		ignore_expire_timestamp	5157369	int
    		warp_out_timestamp	0	int
    		next_rearm_request_timestamp	5804722	int
    		primary_select_timestamp	5157369	int
    		secondary_select_timestamp	5157369	int
    		scan_for_enemy_timestamp	5157369	int
    		choose_enemy_timestamp	5747658	int
    		force_warp_time	0	int
    		shockwave_object	-1	int
    		shield_manage_timestamp	5157369	int
    		self_destruct_timestamp	-1	int
    		ok_to_target_timestamp	5756722	int
    		kamikaze_damage	0.00000000	float
    +		big_attack_point	{xyz={...} a1d=0x022e5b44 }	vec3d
    +		big_attack_surface_normal	{xyz={...} a1d=0x022e5b50 }	vec3d
    		pick_big_attack_point_timestamp	5157369	int
    		avoid_ship_num	-1	int
    +		avoid_goal_point	{xyz={...} a1d=0x022e5b64 }	vec3d
    		avoid_check_timestamp	60989	long
    +		big_collision_normal	{xyz={...} a1d=0x022e5b74 }	vec3d
    +		big_recover_pos_1	{xyz={...} a1d=0x022e5b80 }	vec3d
    +		big_recover_pos_2	{xyz={...} a1d=0x022e5b8c }	vec3d
    		big_recover_timestamp	0	int
    		abort_rearm_timestamp	-1	int
    		artillery_objnum	-1	int
    		artillery_sig	-1	int
    		artillery_lock_time	0.00000000	float
    +		artillery_lock_pos	{xyz={...} a1d=0x022e5bac }	vec3d
    		lethality	-1.9699980	float
    		ai_override_flags	0	int
    +		ai_override_ci	{pitch=0.00000000 vertical=0.00000000 heading=0.00000000 ...}	control_info
    		ai_override_timestamp	0	int
    		aip->current_target_is_locked	0	int
    -		swp	0x015aaa74 {num_primary_banks=1 num_secondary_banks=3 num_tertiary_banks=0 ...}	ship_weapon *
    		num_primary_banks	1	int
    		num_secondary_banks	3	int
    		num_tertiary_banks	0	int
    +		primary_bank_weapons	0x015aaa80	int [3]
    +		secondary_bank_weapons	0x015aaa8c	int [4]
    		current_primary_bank	0	int
    		current_secondary_bank	-1	int
    		current_tertiary_bank	0	int
    		previous_primary_bank	0	int
    		previous_secondary_bank	0	int
    +		next_primary_fire_stamp	0x015aaab0	int [3]
    +		last_primary_fire_stamp	0x015aaabc	int [3]
    +		next_secondary_fire_stamp	0x015aaac8	int [4]
    +		last_secondary_fire_stamp	0x015aaad8	int [4]
    		next_tertiary_fire_stamp	0	int
    +		primary_bank_ammo	0x015aaaec	int [3]
    +		primary_bank_start_ammo	0x015aaaf8	int [3]
    +		primary_bank_capacity	0x015aab04	int [3]
    +		primary_next_slot	0x015aab10	int [3]
    +		primary_bank_rearm_time	0x015aab1c	int [3]
    +		secondary_bank_ammo	0x015aab28	int [4]
    +		secondary_bank_start_ammo	0x015aab38	int [4]
    +		secondary_bank_capacity	0x015aab48	int [4]
    +		secondary_next_slot	0x015aab58	int [4]
    +		secondary_bank_rearm_time	0x015aab68	int [4]
    		tertiary_bank_ammo	0	int
    		tertiary_bank_start_ammo	0	int
    		tertiary_bank_capacity	0	int
    		tertiary_bank_rearm_time	0	int
    		last_fired_weapon_index	1532	int
    		last_fired_weapon_signature	1533	int
    		detonate_weapon_time	60819	int
    		ai_class	3	int
    		flags	0	int
    +		primary_animation_position	0x015aab9c ""	unsigned char [3]
    +		secondary_animation_position	0x015aab9f ""	unsigned char [4]
    +		primary_animation_done_time	0x015aaba4	int [3]
    +		secondary_animation_done_time	0x015aabb0	int [4]
    +		burst_counter	0x015aabc0	int [7]
    +		external_model_fp_counter	0x015aabdc	int [7]
    		swp->current_secondary_bank	-1	int
    
    txt file icon verify_aicode_5790b.txt (11,493 bytes) 2010-11-22 00:24 +

-Relationships
+Relationships

-Notes

~0012479

FUBAR-BDHR (developer)

This seems to be game breaking at least on standalones. Another crash this time the ship had 3 banks not one.

~0012480

The_E (administrator)

Changed to be a simple guard instead of a verify. Should not crash now.

~0012484

FUBAR-BDHR (developer)

Haven't seen another instance. Should we resolve?

~0012486

The_E (administrator)

Agreed.
+Notes

-Issue History
Date Modified Username Field Change
2010-11-21 23:27 FUBAR-BDHR New Issue
2010-11-21 23:27 FUBAR-BDHR Status new => assigned
2010-11-21 23:27 FUBAR-BDHR Assigned To => Sushi_CW
2010-11-21 23:27 FUBAR-BDHR File Added: verify_aicode_5790.txt
2010-11-21 23:51 FUBAR-BDHR File Added: multi_2342.log
2010-11-21 23:52 FUBAR-BDHR File Added: fs2_open_2342.rar
2010-11-22 00:24 FUBAR-BDHR Note Added: 0012479
2010-11-22 00:24 FUBAR-BDHR File Added: verify_aicode_5790b.txt
2010-11-22 00:25 FUBAR-BDHR Priority normal => high
2010-11-22 02:04 The_E Note Added: 0012480
2010-11-24 02:12 FUBAR-BDHR Note Added: 0012484
2010-11-24 03:59 The_E Note Added: 0012486
2010-11-24 04:00 The_E Status assigned => resolved
2010-11-24 04:00 The_E Fixed in Version => 3.6.13
2010-11-24 04:00 The_E Resolution open => fixed
+Issue History