Opened 17 months ago
Closed 17 months ago
#1430 closed defect (fixed)
Clip visual tool causes crash
| Reported by: | torque | Owned by: | Plorkyeran |
|---|---|---|---|
| Priority: | normal | Milestone: | 3.0.0 |
| Component: | Video | Version: | devel |
| Severity: | minor | Keywords: | |
| Cc: | Platform: | All | |
| Sub Component: |
Description
If an incorrectly formatted \i?clip is inserted into the line, the vector clip tool will cause aegisub to crash.
The attached file causes this crash for me. Loading the dummy video and selecting the vector clip tool should reproduce it.
Tested with r6374 on windows.
(the rather short stack dumps I got:)
VER - r6374+3 (branch master)
FTL - Beginning stack dump for "Fatal exception":
000 - 05CE4233:
001 - 7792E0D2: RtlAllocateHeap
002 - 05CE40A2:
003 - 05CE48AF:
004 - 05CC4C51:
005 - 05CC65A3:
End of stack dump.
VER - r6374+3 (branch master)
FTL - Beginning stack dump for "Fatal exception":
000 - 05CD4373:
001 - 05CD412B:
002 - 05CD4860:
003 - 05CB4C51:
004 - 05CB65A3:
End of stack dump.
Attachments (1)
Change History (3)
Changed 17 months ago by torque
comment:1 Changed 17 months ago by tophf
comment:2 Changed 17 months ago by plorkyeran
- Milestone set to 3.0.0
- Owner set to Plorkyeran
- Resolution set to fixed
- Status changed from new to closed

Crashes here as well:
msvcr90.dll__crt_debugger_hook()
msvcr90.dll__invoke_watson() + 0x108 bytes
msvcr90.dll__invalid_parameter_noinfo() + 0xc bytes
aegisub32.exe!std::vector<unsigned int,std::allocator<unsigned int> >::operator[](unsigned int _Pos=0) Line 785 C++
aegisub32.exe!OpenGLWrapper::DrawMultiPolygon(const std::vector<float,std::allocator<float> > & points=[10](257.50000,162.50000,288.00000,184.00000,375.00000,160.50000,382.50000,206.00000,332.00000,181.00000), std::vector<int,std::allocator<int> > & start=[...](), std::vector<int,std::allocator<int> > & count=[1](5), Vector2D video_pos={...}, Vector2D video_size={...}, bool invert=true) Line 378 + 0x1c bytes C++
aegisub32.exe!VisualToolVectorClip::Draw() Line 116 C++
aegisub32.exe!VideoDisplay::Render() Line 225 C++
aegisub32.exe!wxEventFunctorFunctor<wxEventTypeTag<wxCommandEvent>,std::tr1::_Bind<std::tr1::_Notforced,std::tr1::_Bind1<std::tr1::_Callable_pmf<void (__thiscall DialogColorPicker::*const)(void),DialogColorPicker,0>,DialogColorPicker *> > >::operator()(wxEvtHandler * formal=0x014c8018, wxEvent & event={...}) Line 507 C++
aegisub32.exe!wxAppConsoleBase::CallEventHandler(wxEvtHandler * handler=0x014c8018, wxEventFunctor & functor={...}, wxEvent & event={...}) Line 609 + 0x13 bytes C++
aegisub32.exe!wxEvtHandler::ProcessEventIfMatchesId(const wxEventTableEntryBase & entry={...}, wxEvtHandler * handler=0x014c8018, wxEvent & event={...}) Line 1333 C++
aegisub32.exe!wxEvtHandler::SearchDynamicEventTable(wxEvent & event={...}) Line 1673 + 0xc bytes C++
aegisub32.exe!wxEvtHandler::ProcessEvent(wxEvent & event={...}) Line 1428 + 0x19 bytes C++
aegisub32.exe!wxEvtHandler::SafelyProcessEvent(wxEvent & event={...}) Line 1569 C++
aegisub32.exe!wxWindow::HandlePaint() Line 4803 + 0x1b bytes C++
aegisub32.exe!wxWindow::MSWHandleMessage(long * result=0x0012f4a0, unsigned int message=15, unsigned int wParam=0, long lParam=0) Line 2858 C++
aegisub32.exe!wxWindow::MSWWindowProc(unsigned int message=15, unsigned int wParam=0, long lParam=0) Line 3613 + 0x25 bytes C++
aegisub32.exe!wxWndProc(HWND * hWnd=0x010416a0, unsigned int message=15, unsigned int wParam=0, long lParam=0) Line 2711 + 0x1b bytes C++
user32.dll!_InternalCallWinProc@20() + 0x28 bytes
user32.dll!_UserCallWinProcCheckWow@32() + 0xb7 bytes
user32.dll!_CallWindowProcAorW@24() + 0x51 bytes
user32.dll!_CallWindowProcW@20() + 0x1b bytes
opengl32.dll!_wglWndProc@16() + 0x21b bytes
user32.dll!_InternalCallWinProc@20() + 0x28 bytes
user32.dll!_UserCallWinProcCheckWow@32() + 0xb7 bytes
user32.dll!_DispatchClientMessage@20() + 0x4d bytes
user32.dll___fnDWORD@4() + 0x24 bytes
ntdll.dll!_KiUserCallbackDispatcher@12() + 0x13 bytes
user32.dll!_NtUserDispatchMessage@4() + 0xc bytes
user32.dll!_DispatchMessageW@4() + 0xf bytes
user32.dll!_IsDialogMessageW@8() + 0xdb bytes
aegisub32.exe!wxWindow::MSWProcessMessage(tagMSG * pMsg=0x0012f830) Line 2495 + 0xe bytes C++
aegisub32.exe!wxGUIEventLoop::PreProcessMessage(tagMSG * msg=0x0012f830) Line 251 + 0xd bytes C++
aegisub32.exe!wxGUIEventLoop::ProcessMessage(tagMSG * msg=0x0012f830) Line 269 + 0xd bytes C++
aegisub32.exe!wxGUIEventLoop::Dispatch() Line 335 C++
aegisub32.exe!wxEventLoopManual::Run() Line 159 + 0x7 bytes C++
aegisub32.exe!wxAppConsoleBase::MainLoop() Line 318 + 0xd bytes C++
aegisub32.exe!AegisubApp::OnRun() Line 470 + 0xa bytes C++
aegisub32.exe!wxEntryReal(int & argc=, wchar_t * * argv=0x01477978) Line 472 + 0x11 bytes C++
aegisub32.exe!wxEntry(int & argc=2, wchar_t * * argv=0x01477978) Line 189 + 0xd bytes C++
aegisub32.exe!wxEntry(HINSTANCE * hInstance=0x00400000, HINSTANCE * formal=0x00000000, HINSTANCE * formal=0x00000000, int nCmdShow=1) Line 414 + 0x18 bytes C++
aegisub32.exeWinMain(HINSTANCE * hInstance=0x00400000, HINSTANCE * hPrevInstance=0x00000000, char * formal=0x00152342, int nCmdShow=1) Line 89 + 0x24 bytes C++
aegisub32.exe__tmainCRTStartup() Line 578 + 0x1d bytes C
kernel32.dll!_BaseProcessStart@4() + 0x23 bytes