Access violation crash on pause
Closed this issue · 1 comments
ulex commented
Steps to reproduce:
Run DebugViewPP for application with heavy DebugOutputString (1MB per second is enough).
Looks like race condition in LogSources.GetLines.
0:000> .lastevent
Last event: 500.1c10: Access violation - code c0000005 (!!! second chance !!!)
debugger time: Thu Sep 27 18:08:26.044 2018 (UTC + 2:00)
DebugView__!fusion::debugviewpp::LogSources::GetLines+0x16e [z:\debugviewpp\debugview++lib\logsources.cpp @ 314]
for (auto& inputLine : m_linebuffer.GetLines())
{
// let the logsource decide how to create processname
if (inputLine.pLogSource)
{
> inputLine.pLogSource->PreProcess(inputLine);
}
I was trying to fix this issue, but stuck in threading model. Looks like some synchronization point is required, but I'm not sure where it should be.
janwilmans commented
wow, thanks for reporting, I will investigate!!