FarManager icon indicating copy to clipboard operation
FarManager copied to clipboard

Far Crashes on Space + Enter in Command Line

Open fitdev opened this issue 1 year ago • 0 comments

Far Manager version

3.0.6008

OS version

10.0.17134.1345

Other software

Exception: 0xC0000005 - EXCEPTION_ACCESS_VIOLATION
Details:   Memory at 00000000 could not be read
errno:     0x00000000 - No error
LastError: 0x00000057 - The parameter is incorrect.
NTSTATUS:  0xC000000D - An invalid parameter was passed to a service or function.
Address:   00024D22 - ConEmuHk64.dll!SetLoadLibraryCallback+54BE
Function:  main
Source:    
File:      A:\Software\Exe\Files\FAR\3\Far.exe
Plugin:    
Far:       3.0.6008.0 x64 (5e13a49)
Compiler:  Microsoft Visual C++, version 19.29.30145.0
OS:        10.0.17134.2.0.0.256.1 (version 1803, OS build 17134.1345)
Kernel:    10.0.17134.1345 (WinBuild.160101.0800)
Host:      C:\Windows\System32\conhost.exe 10.0.17134.1 (WinBuild.160101.0800)
Parent:    A:\Software\Exe\Console\ConEmu\ConEmu\ConEmuC64.exe 210304

----------------------------------------------------------------------
Exception stack
----------------------------------------------------------------------
00024D22 ConEmuHk64.dll!SetLoadLibraryCallback+54BE
00023F3E ConEmuHk64.dll!SetLoadLibraryCallback+46DA
00023DE0 ConEmuHk64.dll!SetLoadLibraryCallback+457C
0002D762 ConEmuHk64.dll!SetLoadLibraryCallback+DEFE
001EDD19 Far.exe!execute_shell(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const & __ptr64,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const & __ptr64,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const & __ptr64,enum execute_info::source_mode,bool,bool,void * __ptr64 & __ptr64)+189 (execute.obj)
001EE35E Far.exe!`execute_impl(struct execute_info const & __ptr64,class function_ref<void __cdecl(bool)>,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > & __ptr64,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > & __ptr64,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > & __ptr64,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const & __ptr64,bool & __ptr64)'::`2'::<lambda_3>::operator()(void)const __ptr64+3E (execute.obj)
001EE155 Far.exe!execute_impl(struct execute_info const & __ptr64,class function_ref<void __cdecl(bool)>,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > & __ptr64,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > & __ptr64,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > & __ptr64,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const & __ptr64,bool & __ptr64)+165 (execute.obj)
001EEBB9 Far.exe!Execute(struct execute_info & __ptr64,class function_ref<void __cdecl(bool)>)+7C9 (execute.obj)
000EA917 Far.exe!CommandLine::ExecString(struct execute_info & __ptr64) __ptr64+3B7 (cmdline.obj)
000E823A Far.exe!CommandLine::ProcessKey(class Manager::Key const & __ptr64) __ptr64+18FA (cmdline.obj)
0021BC82 Far.exe!FileList::ProcessKey(class Manager::Key const & __ptr64) __ptr64+4362 (filelist.obj)
0024BA4C Far.exe!FilePanels::ProcessKey(class Manager::Key const & __ptr64) __ptr64+16DC (filepanels.obj)
002F2812 Far.exe!Manager::ProcessKey(class Manager::Key) __ptr64+1C2 (manager.obj)
002F2201 Far.exe!Manager::ProcessMainLoop(void) __ptr64+1D1 (manager.obj)
002F2006 Far.exe!Manager::EnterMainLoop(void) __ptr64+B6 (manager.obj)
002E9DC7 Far.exe!MainProcess(class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >,class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >,class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >,class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >,int,int)+10A7 (main.obj)
002EF029 Far.exe!_Closure_wrapper_09d3841d_4::<lambda_invoker_cdecl>(void * __ptr64)+D9 (main.obj)
001E70D1 Far.exe!detail::cpp_try(class function_ref<void __cdecl(void)>,class function_ref<void __cdecl(void)>,class function_ref<void __cdecl(class std::exception const & __ptr64)>)+31 (exception_handler.obj)
002EE222 Far.exe!cpp_try<class `mainImpl(class span<wchar_t const * __ptr64 const>)'::`2'::<lambda_4>,class `mainImpl(class span<wchar_t const * __ptr64 const>)'::`2'::<lambda_5>,class `mainImpl(class span<wchar_t const * __ptr64 const>)'::`2'::<lambda_6> >(class `mainImpl(class span<wchar_t const * __ptr64 const>)'::`2'::<lambda_4> const & __ptr64,class `mainImpl(class span<wchar_t const * __ptr64 const>)'::`2'::<lambda_5> const & __ptr64,class `mainImpl(class span<wchar_t const * __ptr64 const>)'::`2'::<lambda_6> const & __ptr64)+92 (main.obj)
002EDD29 Far.exe!mainImpl(class span<wchar_t const * __ptr64 const>)+DA9 (main.obj)
002EE638 Far.exe!`wmain_seh(void)'::`2'::<lambda_1>::operator()(void)const __ptr64+38 (main.obj)
002EF0B2 Far.exe!_Closure_wrapper_09d3841d_9::<lambda_invoker_cdecl>(void * __ptr64)+12 (main.obj)
001E70D1 Far.exe!detail::cpp_try(class function_ref<void __cdecl(void)>,class function_ref<void __cdecl(void)>,class function_ref<void __cdecl(class std::exception const & __ptr64)>)+31 (exception_handler.obj)
002EE762 Far.exe!cpp_try<class `wmain_seh(void)'::`2'::<lambda_1>,class `wmain_seh(void)'::`2'::<lambda_2>,class `wmain_seh(void)'::`2'::<lambda_3> >(class `wmain_seh(void)'::`2'::<lambda_1> const & __ptr64,class `wmain_seh(void)'::`2'::<lambda_2> const & __ptr64,class `wmain_seh(void)'::`2'::<lambda_3> const & __ptr64)+92 (main.obj)
002EE546 Far.exe!wmain_seh(void)+1E6 (main.obj)
002EF0EE Far.exe!_Closure_wrapper_09d3841d_11::<lambda_invoker_cdecl>(void * __ptr64)+E (main.obj)
001E710D Far.exe!detail::seh_try(class function_ref<void __cdecl(void)>,class function_ref<unsigned long __cdecl(struct _EXCEPTION_POINTERS * __ptr64)>,class function_ref<void __cdecl(unsigned long)>)+1D (exception_handler.obj)
002EE86E Far.exe!main+BE (main.obj)
003F3130 Far.exe!__scrt_common_main_seh(void)+10C (LIBCMT:exe_main.obj)
00014034 KERNEL32.DLL!BaseThreadInitThunk+14
00073691 ntdll.dll!RtlUserThreadStart+21

----------------------------------------------------------------------
Exception handler stack
----------------------------------------------------------------------
001DEEC4 Far.exe!get_backtrace(class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >,class span<unsigned __int64 const >,class span<unsigned __int64 const >,class function_ref<void __cdecl(class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >)>)+364 (exception_handler.obj)
001E16ED Far.exe!collect_information(class exception_context const & __ptr64,class span<unsigned __int64 const >,class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >,class span<struct std::pair<class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >,class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> > > const >)+3BD (exception_handler.obj)
001E3AFF Far.exe!ShowExceptionUI(bool,class exception_context const & __ptr64,class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >,class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >,struct error_state const & __ptr64,class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >,class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >,class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const & __ptr64,class Plugin const * __ptr64 const,class span<unsigned __int64 const >)+ECF (exception_handler.obj)
001E52C6 Far.exe!handle_generic_exception(class exception_context const & __ptr64,class std::basic_string_view<char,struct std::char_traits<char> >,class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >,class Plugin const * __ptr64 const,class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >,class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >,struct error_state const & __ptr64,class span<unsigned __int64 const >)+7D6 (exception_handler.obj)
001E65BE Far.exe!handle_seh_exception(class exception_context const & __ptr64,class std::basic_string_view<char,struct std::char_traits<char> >,class Plugin const * __ptr64 const)+24E (exception_handler.obj)
001E72E8 Far.exe!detail::seh_filter(struct _EXCEPTION_POINTERS const * __ptr64,class std::basic_string_view<char,struct std::char_traits<char> >,class Plugin const * __ptr64)+188 (exception_handler.obj)
002EF126 Far.exe!_Closure_wrapper_09d3841d_12::<lambda_invoker_cdecl>(void * __ptr64,struct _EXCEPTION_POINTERS * __ptr64)+26 (main.obj)
0044CA57 Far.exe!int `detail::seh_try(class function_ref<void __cdecl(void)>,class function_ref<unsigned long __cdecl(struct _EXCEPTION_POINTERS * __ptr64)>,class function_ref<void __cdecl(unsigned long)>)'::`1'::filt$0+37 (exception_handler.obj)
003F886C Far.exe!__C_specific_handler+A0 (libvcruntime:riscchandler.obj)
0009F7FD ntdll.dll!_chkstk+11D
0000D856 ntdll.dll!RtlWalkFrameChain+13F6
0009E72E ntdll.dll!KiUserExceptionDispatcher+2E
00024D22 ConEmuHk64.dll!SetLoadLibraryCallback+54BE
00023F3E ConEmuHk64.dll!SetLoadLibraryCallback+46DA
00023DE0 ConEmuHk64.dll!SetLoadLibraryCallback+457C
0002D762 ConEmuHk64.dll!SetLoadLibraryCallback+DEFE
001EDD19 Far.exe!execute_shell(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const & __ptr64,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const & __ptr64,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const & __ptr64,enum execute_info::source_mode,bool,bool,void * __ptr64 & __ptr64)+189 (execute.obj)
001EE35E Far.exe!`execute_impl(struct execute_info const & __ptr64,class function_ref<void __cdecl(bool)>,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > & __ptr64,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > & __ptr64,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > & __ptr64,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const & __ptr64,bool & __ptr64)'::`2'::<lambda_3>::operator()(void)const __ptr64+3E (execute.obj)
001EE155 Far.exe!execute_impl(struct execute_info const & __ptr64,class function_ref<void __cdecl(bool)>,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > & __ptr64,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > & __ptr64,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > & __ptr64,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const & __ptr64,bool & __ptr64)+165 (execute.obj)
001EEBB9 Far.exe!Execute(struct execute_info & __ptr64,class function_ref<void __cdecl(bool)>)+7C9 (execute.obj)
000EA917 Far.exe!CommandLine::ExecString(struct execute_info & __ptr64) __ptr64+3B7 (cmdline.obj)
000E823A Far.exe!CommandLine::ProcessKey(class Manager::Key const & __ptr64) __ptr64+18FA (cmdline.obj)
0021BC82 Far.exe!FileList::ProcessKey(class Manager::Key const & __ptr64) __ptr64+4362 (filelist.obj)
0024BA4C Far.exe!FilePanels::ProcessKey(class Manager::Key const & __ptr64) __ptr64+16DC (filepanels.obj)
002F2812 Far.exe!Manager::ProcessKey(class Manager::Key) __ptr64+1C2 (manager.obj)
002F2201 Far.exe!Manager::ProcessMainLoop(void) __ptr64+1D1 (manager.obj)
002F2006 Far.exe!Manager::EnterMainLoop(void) __ptr64+B6 (manager.obj)
002E9DC7 Far.exe!MainProcess(class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >,class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >,class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >,class std::basic_string_view<wchar_t,struct std::char_traits<wchar_t> >,int,int)+10A7 (main.obj)
002EF029 Far.exe!_Closure_wrapper_09d3841d_4::<lambda_invoker_cdecl>(void * __ptr64)+D9 (main.obj)
001E70D1 Far.exe!detail::cpp_try(class function_ref<void __cdecl(void)>,class function_ref<void __cdecl(void)>,class function_ref<void __cdecl(class std::exception const & __ptr64)>)+31 (exception_handler.obj)
002EE222 Far.exe!cpp_try<class `mainImpl(class span<wchar_t const * __ptr64 const>)'::`2'::<lambda_4>,class `mainImpl(class span<wchar_t const * __ptr64 const>)'::`2'::<lambda_5>,class `mainImpl(class span<wchar_t const * __ptr64 const>)'::`2'::<lambda_6> >(class `mainImpl(class span<wchar_t const * __ptr64 const>)'::`2'::<lambda_4> const & __ptr64,class `mainImpl(class span<wchar_t const * __ptr64 const>)'::`2'::<lambda_5> const & __ptr64,class `mainImpl(class span<wchar_t const * __ptr64 const>)'::`2'::<lambda_6> const & __ptr64)+92 (main.obj)
002EDD29 Far.exe!mainImpl(class span<wchar_t const * __ptr64 const>)+DA9 (main.obj)
002EE638 Far.exe!`wmain_seh(void)'::`2'::<lambda_1>::operator()(void)const __ptr64+38 (main.obj)
002EF0B2 Far.exe!_Closure_wrapper_09d3841d_9::<lambda_invoker_cdecl>(void * __ptr64)+12 (main.obj)
001E70D1 Far.exe!detail::cpp_try(class function_ref<void __cdecl(void)>,class function_ref<void __cdecl(void)>,class function_ref<void __cdecl(class std::exception const & __ptr64)>)+31 (exception_handler.obj)
002EE762 Far.exe!cpp_try<class `wmain_seh(void)'::`2'::<lambda_1>,class `wmain_seh(void)'::`2'::<lambda_2>,class `wmain_seh(void)'::`2'::<lambda_3> >(class `wmain_seh(void)'::`2'::<lambda_1> const & __ptr64,class `wmain_seh(void)'::`2'::<lambda_2> const & __ptr64,class `wmain_seh(void)'::`2'::<lambda_3> const & __ptr64)+92 (main.obj)
002EE546 Far.exe!wmain_seh(void)+1E6 (main.obj)
002EF0EE Far.exe!_Closure_wrapper_09d3841d_11::<lambda_invoker_cdecl>(void * __ptr64)+E (main.obj)
001E710D Far.exe!detail::seh_try(class function_ref<void __cdecl(void)>,class function_ref<unsigned long __cdecl(struct _EXCEPTION_POINTERS * __ptr64)>,class function_ref<void __cdecl(unsigned long)>)+1D (exception_handler.obj)
002EE86E Far.exe!main+BE (main.obj)
003F3130 Far.exe!__scrt_common_main_seh(void)+10C (LIBCMT:exe_main.obj)
00014034 KERNEL32.DLL!BaseThreadInitThunk+14
00073691 ntdll.dll!RtlUserThreadStart+21

----------------------------------------------------------------------
Thread 49816 (Window messages processor) stack
----------------------------------------------------------------------
00001144 win32u.dll!NtUserGetMessage+14
0002151B USER32.dll!GetMessageW+2B
0002C4E8 ConEmuHk64.dll!SetLoadLibraryCallback+CC84
003F0E16 Far.exe!wm_listener::WindowThreadRoutine(class os::concurrency::event const & __ptr64) __ptr64+736 (wm_listener.obj)
003F182B Far.exe!??$wrapper@V<lambda_1>@?1???$?0P8wm_listener@@EAAXAEBVevent@concurrency@os@@@ZPEAV0@V?$reference_wrapper@Vevent@concurrency@os@@@std@@@thread@concurrency@os@@QEAA@W4mode@234@$$QEAP8wm_listener@@EAAXAEBVevent@34@@Z$$QEAPEAV6@$$QEAV?$reference_wrapper@Vevent@concurrency@os@@@std@@@Z@@thread@concurrency@os@@CAIPEAX@Z+1B (wm_listener.obj)
00404AF2 Far.exe!thread_start<unsigned int (__cdecl*)(void * __ptr64),1>(void * __ptr64 const)+5A (libucrt:thread.obj)
00014034 KERNEL32.DLL!BaseThreadInitThunk+14
00073691 ntdll.dll!RtlUserThreadStart+21

Steps to reproduce

On the command line enter (Space), then hit Enter.

While this is something I would normally not do, it happens quite often by mistake. When viewing files through plugin, Spacebar usually advances to the next file, and if you type quickly you can make mistake easily which causes Spacebar+Enter in command line which crashes FAR.

Expected behavior

Should not crash. Just say something like command not understood or something similar.

Actual behavior

FAR Crashes completely.

fitdev avatar Aug 10 '22 14:08 fitdev

It works for me in Far 3.0.6010.0 x86/x64 on Windows 11 [Version 10.0.22000.856] , an Explorer window is opened (not sure whether it's an expected behavior or not).

Could you please try the latest Far version w/o ConEmu and its plugins?

yegor-mialyk avatar Aug 10 '22 15:08 yegor-mialyk

@yegor-mialyk You are right. It works fine without ConEmu. Any ideas why under ConEmu it might crash?

fitdev avatar Aug 10 '22 19:08 fitdev

https://github.com/Maximus5/ConEmu/issues/2339

bitraid avatar Aug 10 '22 19:08 bitraid