Invalid access to memory - Pastools::GetMonitorPixelsPerInch
WinSCP was idling in the background for some time (hours). When I alt-tabbed to it, the following error message was shown. Since it says GetMonitorPixelsPerInch: I did dock/undock my laptop which changed the number of monitors. Also standby and resume happened while idling.
WinSCP 6.7
Error message:
Invalid access to memory.
Stack trace:
(005226F3) Pastools::GetMonitorPixelsPerInch
(000B51E0) ntdll.dll
(000B51AF) ntdll.dll
(0006CC4E) ntdll.dll
(0007962A) ntdll.dll
(0003CE77) gdi32full.dll
(004DA383) Vcl::Forms::TScreen::GetMonitor
(004D42EB) Vcl::Forms::TCustomForm::GetMonitor
(00522738) Pastools::GetMonitorFromControl
(0052271E) Pastools::GetMonitorFromControl
(0057DCAB) Tb2item::TTBView::GetMonitor
(0057CBBE) Tb2item::TTBView::GetFont
(005842A3) Tb2toolbar::TTBToolbarView::GetFont
(0057CE03) Tb2item::TTBView::DrawItem
(0000AB56) GDI32.dll
(0057CF83) Tb2item::TTBView::DrawSubitems
(00584BB2) Tb2toolbar::TTBCustomToolbar::Paint
(003D5BA7) Vcl::Controls::TCustomControl::PaintWindow
(003CF6D5) Vcl::Controls::TWinControl::PaintHandler
(003CFED0) Vcl::Controls::TWinControl::WMPaint
(003D5B41) Vcl::Controls::TCustomControl::WMPaint
(003CA36A) Vcl::Controls::TControl::WndProc
(0000F8E4) Ninput.dll
(0016AE45) System::TObject::CleanupInstance
(003A8B21) Vcl::Graphics::TFont::~TFont
(0000F871) Ninput.dll
(0000333A) win32u.dll
(0007F9F4) gdi32full.dll
(00002895) GDI32.dll
(0007DD92) gdi32full.dll
(0000039A) win32u.dll
(0004C11B) gdi32full.dll
(00028229) USER32.dll
(003CF515) Vcl::Controls::TWinControl::WndProc
(00094F99) ntdll.dll
(00050714) ntdll.dll
(003CEA20) Vcl::Controls::TWinControl::MainWndProc
(00235394) System::Classes::_18364
(00038CC1) USER32.dll
(00027D78) USER32.dll
(00027A63) USER32.dll
(00033407) USER32.dll
(0002781B) USER32.dll
(000329D7) USER32.dll
(00079604) ntdll.dll
(000004AA) win32u.dll
(00026E80) USER32.dll
(000268AB) USER32.dll
(004DDA87) Vcl::Forms::TApplication::ProcessMessage
(004DDAB2) Vcl::Forms::TApplication::ProcessMessages
(000E7406) TTerminalManager::TerminalThreadIdle
(009A5F77) TTerminalThread::CompleteAction
(0015C5FF) KERNELBASE.dll
(0015C65B) KERNELBASE.dll
(0018D416) System::Sysutils::EncodeTime
(0018D8D7) System::Sysutils::Now
(009A6313) TTerminalThread::TerminalReopen
(000E7604) TTerminalManager::DoConnectTerminal
(0016B8F6) System::TMonitor::Exit
(0016B952) System::TMonitor::Exit
(00226CBE) System::Classes::RemoveFixups
(0016B640) System::TMonitor::Destroy
(0016AE45) System::TObject::CleanupInstance
(00169700) System::FreeMem
(0016AC6C) System::TObject::FreeInstance
(00A273DA) TSessionData::~TSessionData
(00040403) USER32.dll
(000E80F6) TTerminalManager::ConnectActiveTerminalImpl
(004475BE) Vcl::Comctrls::TCustomListView::GetTopItem
(0053695A) Customdirview::TCustomDirView::SaveItemsState
(00536B30) Customdirview::TCustomDirView::SaveState
(000E8FA3) TTerminalManager::ReconnectActiveTerminal
(00103CB2) ShowExtendedExceptionEx
(0003B4D1) gdi32full.dll
(0002781B) USER32.dll
(000329D7) USER32.dll
(0007727A) ntdll.dll
(00079604) ntdll.dll
(000001EA) win32u.dll
(000290BB) USER32.dll
(
The problem happens rarely. I cannot reproduce it.
WinSCP 6.7
Error message:
Invalid access to memory.
Stack trace:
(005226F3) Pastools::GetMonitorPixelsPerInch
(000B51E0) ntdll.dll
(000B51AF) ntdll.dll
(0006CC4E) ntdll.dll
(0007962A) ntdll.dll
(0003CE77) gdi32full.dll
(004DA383) Vcl::Forms::TScreen::GetMonitor
(004D42EB) Vcl::Forms::TCustomForm::GetMonitor
(00522738) Pastools::GetMonitorFromControl
(0052271E) Pastools::GetMonitorFromControl
(0057DCAB) Tb2item::TTBView::GetMonitor
(0057CBBE) Tb2item::TTBView::GetFont
(005842A3) Tb2toolbar::TTBToolbarView::GetFont
(0057CE03) Tb2item::TTBView::DrawItem
(0000AB56) GDI32.dll
(0057CF83) Tb2item::TTBView::DrawSubitems
(00584BB2) Tb2toolbar::TTBCustomToolbar::Paint
(003D5BA7) Vcl::Controls::TCustomControl::PaintWindow
(003CF6D5) Vcl::Controls::TWinControl::PaintHandler
(003CFED0) Vcl::Controls::TWinControl::WMPaint
(003D5B41) Vcl::Controls::TCustomControl::WMPaint
(003CA36A) Vcl::Controls::TControl::WndProc
(0000F8E4) Ninput.dll
(0016AE45) System::TObject::CleanupInstance
(003A8B21) Vcl::Graphics::TFont::~TFont
(0000F871) Ninput.dll
(0000333A) win32u.dll
(0007F9F4) gdi32full.dll
(00002895) GDI32.dll
(0007DD92) gdi32full.dll
(0000039A) win32u.dll
(0004C11B) gdi32full.dll
(00028229) USER32.dll
(003CF515) Vcl::Controls::TWinControl::WndProc
(00094F99) ntdll.dll
(00050714) ntdll.dll
(003CEA20) Vcl::Controls::TWinControl::MainWndProc
(00235394) System::Classes::_18364
(00038CC1) USER32.dll
(00027D78) USER32.dll
(00027A63) USER32.dll
(00033407) USER32.dll
(0002781B) USER32.dll
(000329D7) USER32.dll
(00079604) ntdll.dll
(000004AA) win32u.dll
(00026E80) USER32.dll
(000268AB) USER32.dll
(004DDA87) Vcl::Forms::TApplication::ProcessMessage
(004DDAB2) Vcl::Forms::TApplication::ProcessMessages
(000E7406) TTerminalManager::TerminalThreadIdle
(009A5F77) TTerminalThread::CompleteAction
(0015C5FF) KERNELBASE.dll
(0015C65B) KERNELBASE.dll
(0018D416) System::Sysutils::EncodeTime
(0018D8D7) System::Sysutils::Now
(009A6313) TTerminalThread::TerminalReopen
(000E7604) TTerminalManager::DoConnectTerminal
(0016B8F6) System::TMonitor::Exit
(0016B952) System::TMonitor::Exit
(00226CBE) System::Classes::RemoveFixups
(0016B640) System::TMonitor::Destroy
(0016AE45) System::TObject::CleanupInstance
(00169700) System::FreeMem
(0016AC6C) System::TObject::FreeInstance
(00A273DA) TSessionData::~TSessionData
(00040403) USER32.dll
(000E80F6) TTerminalManager::ConnectActiveTerminalImpl
(004475BE) Vcl::Comctrls::TCustomListView::GetTopItem
(0053695A) Customdirview::TCustomDirView::SaveItemsState
(00536B30) Customdirview::TCustomDirView::SaveState
(000E8FA3) TTerminalManager::ReconnectActiveTerminal
(00103CB2) ShowExtendedExceptionEx
(0003B4D1) gdi32full.dll
(0002781B) USER32.dll
(000329D7) USER32.dll
(0007727A) ntdll.dll
(00079604) ntdll.dll
(000001EA) win32u.dll
(000290BB) USER32.dll
(
The problem happens rarely. I cannot reproduce it.