View Issue Details

IDProjectCategoryView StatusLast Update
0001946FSSCPmodelspublic2009-12-09 08:09
Reporterchief1983 Assigned ToWanderer  
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
Product Version3.6.11 
Summary0001946: Submodels with rotate movement and no axis crash on collision
DescriptionOk, I'm not upset about the crash - it should have had an axis set probably. But it could be handled better. Currently it does an int3(), so I'm guessing the crash only happens in debug. It could tell the user why it just crashed, or better yet, on model load, models with rotation and no axis set could throw some sort of warning. I'm not sure how omnidirectional turrets would have to be checked but standard rotation submodels with a $rotate= property should definitely have an axis of rotation set, or throw a warning of some sort. Call stack to the specific crash is below.
Additional InformationCall stack:

fs2_open_3_6_11d-Wanderer_r5376.exe!debug_int3(char * file=0x00e7f954, int line=3936) Line 760
fs2_open_3_6_11d-Wanderer_r5376.exe!model_init_submodel_axis_pt(submodel_instance_info * sii=0x0c4c10a8, int model_num=4364, int submodel_num=2) Line 3936 + 0x13 bytes
fs2_open_3_6_11d-Wanderer_r5376.exe!calculate_ship_ship_collision_physics(collision_info_struct * ship_ship_hit_info=0x0017f0c4) Line 682 + 0x35 bytes
fs2_open_3_6_11d-Wanderer_r5376.exe!ship_ship_check_collision(collision_info_struct * ship_ship_hit_info=0x0017f0c4, vec3d * hitpos=0x0017f0b0) Line 472 + 0x9 bytes
fs2_open_3_6_11d-Wanderer_r5376.exe!collide_ship_ship(obj_pair * pair=0x0494890c) Line 1134 + 0x13 bytes
fs2_open_3_6_11d-Wanderer_r5376.exe!obj_check_all_collisions() Line 524 + 0xe bytes
fs2_open_3_6_11d-Wanderer_r5376.exe!obj_move_all(float frametime=0.016998291) Line 1462
fs2_open_3_6_11d-Wanderer_r5376.exe!game_simulation_frame() Line 4295 + 0xf bytes
fs2_open_3_6_11d-Wanderer_r5376.exe!game_frame(int paused=0) Line 4722
fs2_open_3_6_11d-Wanderer_r5376.exe!game_do_frame() Line 5161 + 0x7 bytes
fs2_open_3_6_11d-Wanderer_r5376.exe!game_do_state(int state=2) Line 6936
fs2_open_3_6_11d-Wanderer_r5376.exe!gameseq_process_events() Line 405 + 0x14 bytes
fs2_open_3_6_11d-Wanderer_r5376.exe!game_main(char * cmdline=0x02243ae5) Line 7499 + 0x5 bytes
fs2_open_3_6_11d-Wanderer_r5376.exe!WinMain(HINSTANCE__ * hInst=0x00400000, HINSTANCE__ * hPrev=0x00000000, char * szCmdLine=0x02243ae5, int nCmdShow=10) Line 7573 + 0x9 bytes
fs2_open_3_6_11d-Wanderer_r5376.exe!__tmainCRTStartup() Line 263 + 0x2c bytes
fs2_open_3_6_11d-Wanderer_r5376.exe!WinMainCRTStartup() Line 182
kernel32.dll!7676eccb()
[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
ntdll.dll!77c9d24d()
ntdll.dll!77c9d45f()
TagsNo tags attached.

Activities

FUBAR-BDHR

2009-06-29 03:32

developer   ~0011013

Just to clarify the model had a rotate=60 under properties and was set to rotate but also set to no axis. I think the combination of having the rotate= and no axis is where the crash occurred. TBP has several turret-arms for turrets on models that have rotate and no axis that do not result it a crash.

BTW PCS2 is good at adding bad rotation info for sub objects and especially sub object sub objects on model import

chief1983

2009-06-29 04:22

administrator   ~0011016

Well if so, it can still be fixed in PCS2 before final save and therefore should be fixed by the person doing conversion. But having a warning would help them know when they missed something like that.

FUBAR-BDHR

2009-06-29 04:46

developer   ~0011017

Last edited: 2009-06-29 04:47

I'm just saying that if rotate no axis isn't a problem unless there is a rotate= property (which I think can also be specified in the ship table) then adding a bunch of warnings for it might not be the best idea. That and I really don't want to have to do another batch of TBP fixes this soon. :D

The note about PCS2 doing it was just there for anyone reading this who didn't touch those properties and encounters the problem.

chief1983

2009-06-29 05:31

administrator   ~0011018

Well then I guess it should only warn if $rotate= is in the properties, whatever it is that lead to that int3 being hit.

karajorma

2009-06-29 19:23

administrator   ~0011022

Was this the cause of the crash with Ragnar then?

chief1983

2009-06-29 21:28

administrator   ~0011023

Did it only crash when you ran into it?

karajorma

2009-06-30 06:32

administrator   ~0011026

As far as I could tell the only problem was crashing into the rings.

chief1983

2009-06-30 06:50

administrator   ~0011027

Then I'd bet my ridiculous goverment salary (just kidding, quoting Transformers) that it's the same bug.

chief1983

2009-07-03 16:21

administrator   ~0011035

It does look like the rings currently have a rotate axis set though, and have since they were added to SVN. Was this crashing before Diaspora got SVN?

Wanderer

2009-12-06 10:59

developer   ~0011383

Now s warning is supposed to pop up if you have rotating submodel without rotation axis. Please test (r5706).

Issue History

Date Modified Username Field Change
2009-06-29 02:59 chief1983 New Issue
2009-06-29 03:32 FUBAR-BDHR Note Added: 0011013
2009-06-29 04:22 chief1983 Note Added: 0011016
2009-06-29 04:46 FUBAR-BDHR Note Added: 0011017
2009-06-29 04:47 FUBAR-BDHR Note Edited: 0011017
2009-06-29 05:31 chief1983 Note Added: 0011018
2009-06-29 19:23 karajorma Note Added: 0011022
2009-06-29 21:28 chief1983 Note Added: 0011023
2009-06-29 21:29 chief1983 Description Updated
2009-06-30 06:32 karajorma Note Added: 0011026
2009-06-30 06:50 chief1983 Note Added: 0011027
2009-07-03 16:21 chief1983 Note Added: 0011035
2009-12-06 09:52 Wanderer Status new => assigned
2009-12-06 09:52 Wanderer Assigned To => Wanderer
2009-12-06 10:59 Wanderer Note Added: 0011383
2009-12-06 10:59 Wanderer Status assigned => feedback
2009-12-09 08:09 Wanderer Status feedback => resolved
2009-12-09 08:09 Wanderer Resolution open => fixed