View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002346 | FSSCP | math-related | public | 2010-11-27 04:05 | 2012-12-05 03:54 |
Reporter | FUBAR-BDHR | Assigned To | Valathil | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | no change required | ||
Product Version | 3.6.13 | ||||
Summary | 0002346: Nul vec3d error docking ship in FRED | ||||
Description | This one is bad data related but it still shouldn't just crash. Added a dock to a ship with points: -0.100000:13.000000:55.599998 -0.100000:12.750000:55.599998 normal 0:1:0. Of course the second one was supposed to be 56.6 not 55.6. When I added a ship to the dock in FRED I received the nul vec3d error. | ||||
Additional Information | Builds based off of Antipodes r6782. Attaching stack and variables. | ||||
Tags | No tags attached. | ||||
2010-11-27 04:05
|
fred_dock_nulvec3d.txt (21,633 bytes)
fred2_open_3_6_13d_INF_SSE2.exe!debug_int3(char * file=0x00b81bcc, int line=0x000004fd) Line 764 C++ fred2_open_3_6_13d_INF_SSE2.exe!Warning(char * filename=0x00b7a057, int line=0x000001c4, const char * format=0x00b7a120, ...) Line 1277 + 0x13 bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!vm_vec_copy_normalize(vec3d * dest=0x0012e154, vec3d * src=0x0012e154) Line 453 + 0x18 bytes C++ > fred2_open_3_6_13d_INF_SSE2.exe!vm_vec_normalize(vec3d * v=0x0012e154) Line 477 + 0xd bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!vm_vector_2_matrix(matrix * m=0x0012e154, vec3d * fvec=0x0012e1a8, vec3d * uvec=0x0012e194, vec3d * rvec=0x00000000) Line 882 + 0x9 bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!set_goal_dock_orient(matrix * dom=0x0012e59c, vec3d * docker_p0=0x0012e55c, vec3d * docker_p1=0x0012e548, vec3d * docker_p0_norm=0x0012e534, matrix * docker_orient=0x016ccab8, vec3d * dockee_p0=0x0012e520, vec3d * dockee_p1=0x0012e50c, vec3d * dockee_p0_norm=0x0012e4f8, matrix * dockee_orient=0x016cbfb4) Line 8892 + 0x13 bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!dock_orient_and_approach(object * docker_objp=0x016cca88, int docker_index=0x00000003, object * dockee_objp=0x016cbf84, int dockee_index=0x00000008, int dock_mode=0x00000006, rotating_dockpoint_info * rdinfo=0x0012e428) Line 9163 + 0x41 bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!ai_dock_with_object(object * docker=0x016cca88, int docker_index=0x00000003, object * dockee=0x016cbf84, int dockee_index=0x00000008, int dock_type=0x00000002) Line 3172 + 0x19 bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!initial_status::dock(object * objp=0x016cbf84, int dockpoint=0x00000008, object * other_objp=0x016cca88, int other_dockpoint=0x00000003) Line 915 + 0x17 bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!initial_status::update_docking_info() Line 899 C++ fred2_open_3_6_13d_INF_SSE2.exe!initial_status::OnOK() Line 486 C++ fred2_open_3_6_13d_INF_SSE2.exe!_AfxDispatchCmdMsg(CCmdTarget * pTarget=0x0012f448, unsigned int nID=0x00000001, int nCode=0x00000000, void (void)* pfn=0x009736e0, void * pExtra=0x00000000, unsigned int nSig=0x00000039, AFX_CMDHANDLERINFO * pHandlerInfo=0x00000000) Line 82 C++ fred2_open_3_6_13d_INF_SSE2.exe!CCmdTarget::OnCmdMsg(unsigned int nID=0x00000001, int nCode=0x00000000, void * pExtra=0x00000000, AFX_CMDHANDLERINFO * pHandlerInfo=0x00000000) Line 381 + 0x27 bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!CDialog::OnCmdMsg(unsigned int nID=0x00000001, int nCode=0x00000000, void * pExtra=0x00000000, AFX_CMDHANDLERINFO * pHandlerInfo=0x00000000) Line 85 + 0x18 bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!CWnd::OnCommand(unsigned int wParam=0x00000001, long lParam=0x002e0fc6) Line 2364 C++ fred2_open_3_6_13d_INF_SSE2.exe!CWnd::OnWndMsg(unsigned int message=0x00000111, unsigned int wParam=0x00000001, long lParam=0x002e0fc6, long * pResult=0x0012ee64) Line 1769 + 0x1e bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!CWnd::WindowProc(unsigned int message=0x00000111, unsigned int wParam=0x00000001, long lParam=0x002e0fc6) Line 1755 + 0x20 bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!AfxCallWndProc(CWnd * pWnd=0x0012f448, HWND__ * hWnd=0x00e60b98, unsigned int nMsg=0x00000111, unsigned int wParam=0x00000001, long lParam=0x002e0fc6) Line 240 + 0x1c bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!AfxWndProc(HWND__ * hWnd=0x00e60b98, unsigned int nMsg=0x00000111, unsigned int wParam=0x00000001, long lParam=0x002e0fc6) Line 403 C++ user32.dll!7e418734() [Frames below may be incorrect and/or missing, no symbols loaded for user32.dll] user32.dll!7e418816() user32.dll!7e428ea0() user32.dll!7e43c6d3() fred2_open_3_6_13d_INF_SSE2.exe!CWnd::IsDialogMessageA(tagMSG * lpMsg=0x0017dec0) Line 198 C++ fred2_open_3_6_13d_INF_SSE2.exe!CWnd::PreTranslateInput(tagMSG * lpMsg=0x0017dec0) Line 4332 C++ fred2_open_3_6_13d_INF_SSE2.exe!CDialog::PreTranslateMessage(tagMSG * pMsg=0x0017dec0) Line 80 C++ fred2_open_3_6_13d_INF_SSE2.exe!CWnd::WalkPreTranslateTree(HWND__ * hWndStop=0x01850b56, tagMSG * pMsg=0x0017dec0) Line 2946 + 0x14 bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!AfxInternalPreTranslateMessage(tagMSG * pMsg=0x0017dec0) Line 233 + 0x12 bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!CWinThread::PreTranslateMessage(tagMSG * pMsg=0x0017dec0) Line 777 + 0x9 bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!AfxPreTranslateMessage(tagMSG * pMsg=0x0017dec0) Line 252 + 0x11 bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!AfxInternalPumpMessage() Line 178 + 0x18 bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!CWinThread::PumpMessage() Line 900 C++ fred2_open_3_6_13d_INF_SSE2.exe!AfxPumpMessage() Line 190 + 0xd bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!CWnd::RunModalLoop(unsigned long dwFlags=0x00000004) Line 4386 + 0x5 bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!CDialog::DoModal() Line 584 + 0xc bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!CShipEditorDlg::OnInitialStatus() Line 1568 C++ fred2_open_3_6_13d_INF_SSE2.exe!_AfxDispatchCmdMsg(CCmdTarget * pTarget=0x00c8b178, unsigned int nID=0x0000054a, int nCode=0x00000000, void (void)* pfn=0x00496480, void * pExtra=0x00000000, unsigned int nSig=0x00000039, AFX_CMDHANDLERINFO * pHandlerInfo=0x00000000) Line 82 C++ fred2_open_3_6_13d_INF_SSE2.exe!CCmdTarget::OnCmdMsg(unsigned int nID=0x0000054a, int nCode=0x00000000, void * pExtra=0x00000000, AFX_CMDHANDLERINFO * pHandlerInfo=0x00000000) Line 381 + 0x27 bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!CDialog::OnCmdMsg(unsigned int nID=0x0000054a, int nCode=0x00000000, void * pExtra=0x00000000, AFX_CMDHANDLERINFO * pHandlerInfo=0x00000000) Line 85 + 0x18 bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!CWnd::OnCommand(unsigned int wParam=0x0000054a, long lParam=0x00ab0c72) Line 2364 C++ fred2_open_3_6_13d_INF_SSE2.exe!CShipEditorDlg::OnCommand(unsigned int wParam=0x0000054a, long lParam=0x00ab0c72) Line 1451 C++ fred2_open_3_6_13d_INF_SSE2.exe!CWnd::OnWndMsg(unsigned int message=0x00000111, unsigned int wParam=0x0000054a, long lParam=0x00ab0c72, long * pResult=0x0012fa3c) Line 1769 + 0x1e bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!CWnd::WindowProc(unsigned int message=0x00000111, unsigned int wParam=0x0000054a, long lParam=0x00ab0c72) Line 1755 + 0x20 bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!AfxCallWndProc(CWnd * pWnd=0x00c8b178, HWND__ * hWnd=0x00a20c68, unsigned int nMsg=0x00000111, unsigned int wParam=0x0000054a, long lParam=0x00ab0c72) Line 240 + 0x1c bytes C++ fred2_open_3_6_13d_INF_SSE2.exe!AfxWndProc(HWND__ * hWnd=0x00a20c68, unsigned int nMsg=0x00000111, unsigned int wParam=0x0000054a, long lParam=0x00ab0c72) Line 403 C++ user32.dll!7e418734() user32.dll!7e418816() user32.dll!7e428ea0() user32.dll!7e43c6d3() fred2_open_3_6_13d_INF_SSE2.exe!model_render_buffers(polymodel * pm=0x00000000, int mn=0x00000000, bool is_child=false) Line 4844 + 0x4 bytes C++ Locals: - v 0x0012e154 {xyz={...} a1d=0x0012e154 } vec3d * + xyz {x=0.00000000 y=0.00000000 z=-0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> + a1d 0x0012e154 float [3] t -1.0737418e+008 float Locals up one: - m 0x0012e154 {vec={...} a2d=0x0012e154 a1d=0x0012e154 } matrix * - vec {rvec={...} uvec={...} fvec={...} } matrix::<unnamed-tag>::<unnamed-type-vec> - rvec {xyz={...} a1d=0x0012e154 } vec3d + xyz {x=0.00000000 y=0.00000000 z=-0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e154 float [3] [0x0] 0.00000000 float [0x1] 0.00000000 float [0x2] -0.00000000 float - uvec {xyz={...} a1d=0x0012e160 } vec3d + xyz {x=0.00000000 y=-1.0000000 z=0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e160 float [3] [0x0] 0.00000000 float [0x1] -1.0000000 float [0x2] 0.00000000 float - fvec {xyz={...} a1d=0x0012e16c } vec3d + xyz {x=-0.00000000 y=-1.0000000 z=-0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e16c float [3] [0x0] -0.00000000 float [0x1] -1.0000000 float [0x2] -0.00000000 float - a2d 0x0012e154 float [3][3] + [0x0] 0x0012e154 float [3] + [0x1] 0x0012e160 float [3] + [0x2] 0x0012e16c float [3] - a1d 0x0012e154 float [9] [0x0] 0.00000000 float [0x1] 0.00000000 float [0x2] -0.00000000 float [0x3] 0.00000000 float [0x4] -1.0000000 float [0x5] 0.00000000 float [0x6] -0.00000000 float [0x7] -1.0000000 float [0x8] -0.00000000 float - fvec 0x0012e1a8 {xyz={...} a1d=0x0012e1a8 } vec3d * + xyz {x=-0.00000000 y=-1.0000000 z=-0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e1a8 float [3] [0x0] -0.00000000 float [0x1] -1.0000000 float [0x2] -0.00000000 float - uvec 0x0012e194 {xyz={...} a1d=0x0012e194 } vec3d * + xyz {x=0.00000000 y=-1.0000000 z=0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e194 float [3] [0x0] 0.00000000 float [0x1] -1.0000000 float [0x2] 0.00000000 float - rvec 0x00000000 {xyz={...} a1d=0x00000000 } vec3d * + xyz {x=??? y=??? z=??? } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x00000000 float [3] [0x0] CXX0030: Error: expression cannot be evaluated [0x1] CXX0030: Error: expression cannot be evaluated [0x2] CXX0030: Error: expression cannot be evaluated - yvec 0x0012e160 {xyz={...} a1d=0x0012e160 } vec3d * + xyz {x=0.00000000 y=-1.0000000 z=0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e160 float [3] [0x0] 0.00000000 float [0x1] -1.0000000 float [0x2] 0.00000000 float - xvec 0x0012e154 {xyz={...} a1d=0x0012e154 } vec3d * + xyz {x=0.00000000 y=0.00000000 z=-0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e154 float [3] [0x0] 0.00000000 float [0x1] 0.00000000 float [0x2] -0.00000000 float - zvec 0x0012e16c {xyz={...} a1d=0x0012e16c } vec3d * + xyz {x=-0.00000000 y=-1.0000000 z=-0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e16c float [3] [0x0] -0.00000000 float [0x1] -1.0000000 float [0x2] -0.00000000 float Locals up 2: - dom 0x0012e59c {vec={...} a2d=0x0012e59c a1d=0x0012e59c } matrix * - vec {rvec={...} uvec={...} fvec={...} } matrix::<unnamed-tag>::<unnamed-type-vec> - rvec {xyz={...} a1d=0x0012e59c } vec3d + xyz {x=-1.0737418e+008 y=-1.0737418e+008 z=-1.0737418e+008 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e59c float [3] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float - uvec {xyz={...} a1d=0x0012e5a8 } vec3d + xyz {x=-1.0737418e+008 y=-1.0737418e+008 z=-1.0737418e+008 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e5a8 float [3] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float - fvec {xyz={...} a1d=0x0012e5b4 } vec3d + xyz {x=-1.0737418e+008 y=-1.0737418e+008 z=-1.0737418e+008 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e5b4 float [3] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float - a2d 0x0012e59c float [3][3] - [0x0] 0x0012e59c float [3] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float - [0x1] 0x0012e5a8 float [3] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float - [0x2] 0x0012e5b4 float [3] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float - a1d 0x0012e59c float [9] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float [0x3] -1.0737418e+008 float [0x4] -1.0737418e+008 float [0x5] -1.0737418e+008 float [0x6] -1.0737418e+008 float [0x7] -1.0737418e+008 float [0x8] -1.0737418e+008 float - docker_p0 0x0012e55c {xyz={...} a1d=0x0012e55c } vec3d * + xyz {x=-0.10503700 y=9.3809032 z=57.084610 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e55c float [3] [0x0] -0.10503700 float [0x1] 9.3809032 float [0x2] 57.084610 float - docker_p1 0x0012e548 {xyz={...} a1d=0x0012e548 } vec3d * + xyz {x=-0.10503700 y=9.3809032 z=56.084610 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e548 float [3] [0x0] -0.10503700 float [0x1] 9.3809032 float [0x2] 56.084610 float - docker_p0_norm 0x0012e534 {xyz={...} a1d=0x0012e534 } vec3d * + xyz {x=0.00000000 y=-1.0000000 z=0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e534 float [3] [0x0] 0.00000000 float [0x1] -1.0000000 float [0x2] 0.00000000 float - docker_orient 0x016ccab8 {vec={...} a2d=0x016ccab8 a1d=0x016ccab8 } matrix * - vec {rvec={...} uvec={...} fvec={...} } matrix::<unnamed-tag>::<unnamed-type-vec> - rvec {xyz={...} a1d=0x016ccab8 } vec3d + xyz {x=1.0000000 y=0.00000000 z=0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x016ccab8 float [3] [0x0] 1.0000000 float [0x1] 0.00000000 float [0x2] 0.00000000 float - uvec {xyz={...} a1d=0x016ccac4 } vec3d + xyz {x=0.00000000 y=1.0000000 z=0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x016ccac4 float [3] [0x0] 0.00000000 float [0x1] 1.0000000 float [0x2] 0.00000000 float - fvec {xyz={...} a1d=0x016ccad0 } vec3d + xyz {x=0.00000000 y=0.00000000 z=1.0000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x016ccad0 float [3] [0x0] 0.00000000 float [0x1] 0.00000000 float [0x2] 1.0000000 float - a2d 0x016ccab8 float [3][3] + [0x0] 0x016ccab8 float [3] + [0x1] 0x016ccac4 float [3] + [0x2] 0x016ccad0 float [3] - a1d 0x016ccab8 float [9] [0x0] 1.0000000 float [0x1] 0.00000000 float [0x2] 0.00000000 float [0x3] 0.00000000 float [0x4] 1.0000000 float [0x5] 0.00000000 float [0x6] 0.00000000 float [0x7] 0.00000000 float [0x8] 1.0000000 float - dockee_p0 0x0012e520 {xyz={...} a1d=0x0012e520 } vec3d * + xyz {x=0.10000000 y=13.000000 z=55.599998 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e520 float [3] [0x0] 0.10000000 float [0x1] 13.000000 float [0x2] 55.599998 float - dockee_p1 0x0012e50c {xyz={...} a1d=0x0012e50c } vec3d * + xyz {x=0.10000000 y=12.750000 z=55.599998 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e50c float [3] [0x0] 0.10000000 float [0x1] 12.750000 float [0x2] 55.599998 float - dockee_p0_norm 0x0012e4f8 {xyz={...} a1d=0x0012e4f8 } vec3d * + xyz {x=0.00000000 y=1.0000000 z=0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e4f8 float [3] [0x0] 0.00000000 float [0x1] 1.0000000 float [0x2] 0.00000000 float - dockee_orient 0x016cbfb4 {vec={...} a2d=0x016cbfb4 a1d=0x016cbfb4 } matrix * - vec {rvec={...} uvec={...} fvec={...} } matrix::<unnamed-tag>::<unnamed-type-vec> - rvec {xyz={...} a1d=0x016cbfb4 } vec3d + xyz {x=1.0000000 y=0.00000000 z=0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x016cbfb4 float [3] [0x0] 1.0000000 float [0x1] 0.00000000 float [0x2] 0.00000000 float - uvec {xyz={...} a1d=0x016cbfc0 } vec3d + xyz {x=0.00000000 y=1.0000000 z=0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x016cbfc0 float [3] [0x0] 0.00000000 float [0x1] 1.0000000 float [0x2] 0.00000000 float - fvec {xyz={...} a1d=0x016cbfcc } vec3d + xyz {x=0.00000000 y=0.00000000 z=1.0000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x016cbfcc float [3] [0x0] 0.00000000 float [0x1] 0.00000000 float [0x2] 1.0000000 float - a2d 0x016cbfb4 float [3][3] - [0x0] 0x016cbfb4 float [3] [0x0] 1.0000000 float [0x1] 0.00000000 float [0x2] 0.00000000 float - [0x1] 0x016cbfc0 float [3] [0x0] 0.00000000 float [0x1] 1.0000000 float [0x2] 0.00000000 float - [0x2] 0x016cbfcc float [3] [0x0] 0.00000000 float [0x1] 0.00000000 float [0x2] 1.0000000 float - a1d 0x016cbfb4 float [9] [0x0] 1.0000000 float [0x1] 0.00000000 float [0x2] 0.00000000 float [0x3] 0.00000000 float [0x4] 1.0000000 float [0x5] 0.00000000 float [0x6] 0.00000000 float [0x7] 0.00000000 float [0x8] 1.0000000 float - fvec {xyz={...} a1d=0x0012e1a8 } vec3d + xyz {x=-0.00000000 y=-1.0000000 z=-0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e1a8 float [3] [0x0] -0.00000000 float [0x1] -1.0000000 float [0x2] -0.00000000 float - uvec {xyz={...} a1d=0x0012e194 } vec3d + xyz {x=0.00000000 y=-1.0000000 z=0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e194 float [3] [0x0] 0.00000000 float [0x1] -1.0000000 float [0x2] 0.00000000 float - m2 {vec={...} a2d=0x0012e128 a1d=0x0012e128 } matrix - vec {rvec={...} uvec={...} fvec={...} } matrix::<unnamed-tag>::<unnamed-type-vec> - rvec {xyz={...} a1d=0x0012e128 } vec3d + xyz {x=-1.0737418e+008 y=-1.0737418e+008 z=-1.0737418e+008 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e128 float [3] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float - uvec {xyz={...} a1d=0x0012e134 } vec3d + xyz {x=-1.0737418e+008 y=-1.0737418e+008 z=-1.0737418e+008 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e134 float [3] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float - fvec {xyz={...} a1d=0x0012e140 } vec3d + xyz {x=-1.0737418e+008 y=-1.0737418e+008 z=-1.0737418e+008 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e140 float [3] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float - a2d 0x0012e128 float [3][3] - [0x0] 0x0012e128 float [3] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float - [0x1] 0x0012e134 float [3] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float - [0x2] 0x0012e140 float [3] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float - a1d 0x0012e128 float [9] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float [0x3] -1.0737418e+008 float [0x4] -1.0737418e+008 float [0x5] -1.0737418e+008 float [0x6] -1.0737418e+008 float [0x7] -1.0737418e+008 float [0x8] -1.0737418e+008 float - temp {xyz={...} a1d=0x0012e180 } vec3d + xyz {x=0.00000000 y=-1.0000000 z=0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e180 float [3] [0x0] 0.00000000 float [0x1] -1.0000000 float [0x2] 0.00000000 float - m1 {vec={...} a2d=0x0012e154 a1d=0x0012e154 } matrix - vec {rvec={...} uvec={...} fvec={...} } matrix::<unnamed-tag>::<unnamed-type-vec> - rvec {xyz={...} a1d=0x0012e154 } vec3d + xyz {x=0.00000000 y=0.00000000 z=-0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e154 float [3] [0x0] 0.00000000 float [0x1] 0.00000000 float [0x2] -0.00000000 float - uvec {xyz={...} a1d=0x0012e160 } vec3d + xyz {x=0.00000000 y=-1.0000000 z=0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e160 float [3] [0x0] 0.00000000 float [0x1] -1.0000000 float [0x2] 0.00000000 float - fvec {xyz={...} a1d=0x0012e16c } vec3d + xyz {x=-0.00000000 y=-1.0000000 z=-0.00000000 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e16c float [3] [0x0] -0.00000000 float [0x1] -1.0000000 float [0x2] -0.00000000 float - a2d 0x0012e154 float [3][3] - [0x0] 0x0012e154 float [3] [0x0] 0.00000000 float [0x1] 0.00000000 float [0x2] -0.00000000 float - [0x1] 0x0012e160 float [3] [0x0] 0.00000000 float [0x1] -1.0000000 float [0x2] 0.00000000 float - [0x2] 0x0012e16c float [3] [0x0] -0.00000000 float [0x1] -1.0000000 float [0x2] -0.00000000 float - a1d 0x0012e154 float [9] [0x0] 0.00000000 float [0x1] 0.00000000 float [0x2] -0.00000000 float [0x3] 0.00000000 float [0x4] -1.0000000 float [0x5] 0.00000000 float [0x6] -0.00000000 float [0x7] -1.0000000 float [0x8] -0.00000000 float - m3 {vec={...} a2d=0x0012e0fc a1d=0x0012e0fc } matrix - vec {rvec={...} uvec={...} fvec={...} } matrix::<unnamed-tag>::<unnamed-type-vec> - rvec {xyz={...} a1d=0x0012e0fc } vec3d + xyz {x=-1.0737418e+008 y=-1.0737418e+008 z=-1.0737418e+008 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e0fc float [3] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float - uvec {xyz={...} a1d=0x0012e108 } vec3d + xyz {x=-1.0737418e+008 y=-1.0737418e+008 z=-1.0737418e+008 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e108 float [3] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float - fvec {xyz={...} a1d=0x0012e114 } vec3d + xyz {x=-1.0737418e+008 y=-1.0737418e+008 z=-1.0737418e+008 } vec3d::<unnamed-tag>::<unnamed-type-xyz> - a1d 0x0012e114 float [3] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float - a2d 0x0012e0fc float [3][3] - [0x0] 0x0012e0fc float [3] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float - [0x1] 0x0012e108 float [3] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float - [0x2] 0x0012e114 float [3] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float - a1d 0x0012e0fc float [9] [0x0] -1.0737418e+008 float [0x1] -1.0737418e+008 float [0x2] -1.0737418e+008 float [0x3] -1.0737418e+008 float [0x4] -1.0737418e+008 float [0x5] -1.0737418e+008 float [0x6] -1.0737418e+008 float [0x7] -1.0737418e+008 float [0x8] -1.0737418e+008 float |
|
Can you attach a model and a test mission which demonstrate the bug? |
|
Bump for model request. |
|
|
|
Could not reproduce with this model. Dockpoints added as suggested. |
|
You forgot a - in front of one of the coordinates. Corrected here and crash confirmed. http://fubar5.fubar.org/mantis/fighter01.pof |
|
Ok, FUBAR.. you really need to be more clear in your bug reports. Srsly. The crash does not occur when adding a ship to the dock in FRED. The crash occurs when adding a ship to the dock, and then trying to run that mission in FSO. There's this whole Steps to Reproduce section. Please use it. |
|
I get the crash in FRED. As soon as I set the ship as docked. Add one of these and a support ship and dock the 2 in FRED. |
|
I did that and couldn't get the crash. I had to run the mission in FSO before the nul vec would rear it's ugly head. |
|
The test model has docking slot positions that are on the same axis as the docking normal. This caused the null vector cause the vector between the two points and the normal are used to create a orientation matrix which is undefined in this case. No code will be changed to fix it but a Warning has been committed to trunk @ 9395. Closing this bug as asset issue. |
|
I know it's an asset issue and it states that the coordinates were wrong. The point is nothing fed to the engine should ever return a null vec3d. The data needs to be verified before the call to prevent this situation from ever happening. I was specifically told to file this (and all other null vec3d errors I encounter) for that reason. |
|
I give up do whatever you want i cant pull a magically right vector out of my ass. Theres a warning now so whatever i dont care anymore. |
|
The question then becomes.. what do YOU expect this to do, FUBAR? You admitted it's bad data. Valathil added a warning, what more do you want? |
|
The null vec3d call itself needs to validate data. Several of these issues have already been fixed by Wanderer who wrote a safe function for handling such issues. Others are handled differently. Closing the ticket means that it's not an issue and will not be addressed. If it is addressed and the null vec3d data is prevented before the call for all occasions not just 2 points on the same axis then fine it can be marked resolved. If the call is not being done with valid data then you end up with this situation again where someone has to trace out the call stack and find out why. |
|
In all cases, the Warning will be triggered before any null vector error occurs. If the code runs warning-free, then there should be no problems. Nevertheless, I added some code to manipulate the data enough to avoid triggering the crash if the player proceeds past the warnings. Closing. |
Date Modified | Username | Field | Change |
---|---|---|---|
2010-11-27 04:05 | FUBAR-BDHR | New Issue | |
2010-11-27 04:05 | FUBAR-BDHR | File Added: fred_dock_nulvec3d.txt | |
2012-07-03 05:18 | Goober5000 | Assigned To | => Goober5000 |
2012-07-03 05:18 | Goober5000 | Status | new => assigned |
2012-07-04 06:22 | Goober5000 | Note Added: 0013814 | |
2012-10-19 05:53 | Goober5000 | Note Added: 0013989 | |
2012-11-19 23:06 | MjnMixael | File Added: fighter01.zip | |
2012-11-19 23:06 | MjnMixael | Note Added: 0014091 | |
2012-11-20 01:31 | FUBAR-BDHR | Note Added: 0014113 | |
2012-11-20 01:44 | MjnMixael | Note Added: 0014115 | |
2012-11-20 02:02 | FUBAR-BDHR | Note Added: 0014117 | |
2012-11-20 02:06 | MjnMixael | Note Added: 0014118 | |
2012-12-04 22:32 | Valathil | Note Added: 0014292 | |
2012-12-04 22:32 | Valathil | Status | assigned => closed |
2012-12-04 22:32 | Valathil | Resolution | open => fixed |
2012-12-05 00:14 | FUBAR-BDHR | Note Added: 0014294 | |
2012-12-05 00:14 | FUBAR-BDHR | Status | closed => feedback |
2012-12-05 00:14 | FUBAR-BDHR | Resolution | fixed => reopened |
2012-12-05 00:32 | Valathil | Note Added: 0014295 | |
2012-12-05 00:35 | MjnMixael | Note Added: 0014296 | |
2012-12-05 00:47 | FUBAR-BDHR | Note Added: 0014297 | |
2012-12-05 00:47 | FUBAR-BDHR | Status | feedback => assigned |
2012-12-05 03:54 | Goober5000 | Note Added: 0014299 | |
2012-12-05 03:54 | Goober5000 | Assigned To | Goober5000 => Valathil |
2012-12-05 03:54 | Goober5000 | Status | assigned => closed |
2012-12-05 03:54 | Goober5000 | Resolution | reopened => no change required |