Azure / vld

Visual Leak Detector for Visual C++ 2008-2015
https://kinddragon.github.io/vld/
GNU Lesser General Public License v2.1
42 stars 25 forks source link

Memory leak reported but without a stack trace #25

Open perdrix52 opened 1 year ago

perdrix52 commented 1 year ago

VLD is reporting a new memory leak in my application, but it's not printing a stack trace:

---------- Block 10036 at 0x000000000A504E50: 128 bytes ----------
  Leak Hash: 0x24C6814E, Count: 1, Total 128 bytes
  Call Stack (TID 26508):
  Data:
    D0 6E 57 0A    00 00 00 00    F0 F4 6E 0A    00 00 00 00     .nW..... ..n.....
    B0 76 57 0A    00 00 00 00    B0 68 57 0A    00 00 00 00     .vW..... .hW.....
    30 FD 6E 0A    00 00 00 00    40 76 57 0A    00 00 00 00     0.n..... @vW.....
    20 69 57 0A    00 00 00 00    50 79 57 0A    00 00 00 00     .iW..... PyW.....
    50 FE 6E 0A    00 00 00 00    E0 78 57 0A    00 00 00 00     P.n..... .xW.....
    A0 6C 57 0A    00 00 00 00    80 7B 57 0A    00 00 00 00     .lW..... .{W.....
    F0 FA 6E 0A    00 00 00 00    F0 66 57 0A    00 00 00 00     ..n..... .fW.....
    C0 80 57 0A    00 00 00 00    40 6F 57 0A    00 00 00 00     ..W..... @oW.....

Is there anything I can to do the get a stack trace for this block, or find out where it was allocated without one?

Thanks, David

perdrix52 commented 1 year ago

I changed the ini file to log using unicode instead of ascii and to write the log to a file rather than the debugger and got:

---------- Block 2897 at 0x0000000008D17D20: 128 bytes ----------
  Leak Hash: 0x3784D214, Count: 1, Total 128 bytes
  Call Stack (TID 26916):
    mfc140ud.dll!0x00007FFDC3FB31E0()
    C:\Users\amonra\Documents\GitHub\DSS\DeepSkyStacker\QtProgressDlg.cpp (24): DeepSkyStacker.exe!DSS::ProgressDlg::ProgressDlg() + 0xA bytes
    C:\Users\amonra\Documents\GitHub\DSS\DeepSkyStacker\StackingDlg.cpp (2091): DeepSkyStacker.exe!DSS::StackingDlg::registerCheckedImages() + 0xF bytes
    C:\Users\amonra\Documents\GitHub\DSS\DeepSkyStacker\GeneratedFiles\moc_StackingDlg.cpp (578): DeepSkyStacker.exe!DSS::StackingDlg::qt_static_metacall() + 0xA bytes
    C:\Users\qt\work\qt\qtbase\src\corelib\kernel\qobject.cpp (4007): Qt6Cored.dll!doActivate<0>()
    C:\Users\qt\work\qt\qtbase\src\corelib\kernel\qobject.cpp (4053): Qt6Cored.dll!QMetaObject::activate()
    C:\Users\amonra\Documents\GitHub\DSS\DeepSkyStacker\GeneratedFiles\moc_ExplorerBar.cpp (622): DeepSkyStacker.exe!ExplorerBar::registerCheckedImages()
    C:\Users\amonra\Documents\GitHub\DSS\DeepSkyStacker\ExplorerBar.cpp (220): DeepSkyStacker.exe!ExplorerBar::onRegisterChecked()
    C:\Users\amonra\Documents\GitHub\DSS\DeepSkyStacker\GeneratedFiles\moc_ExplorerBar.cpp (444): DeepSkyStacker.exe!ExplorerBar::qt_static_metacall() + 0xA bytes
    C:\Users\qt\work\qt\qtbase\src\corelib\kernel\qobject.cpp (4007): Qt6Cored.dll!doActivate<0>()
    C:\Users\qt\work\qt\qtbase\src\corelib\kernel\qobject.cpp (4053): Qt6Cored.dll!QMetaObject::activate()
    C:\Users\qt\work\qt\qtbase_build\src\widgets\Widgets_autogen\include_Debug\moc_qlabel.cpp (445): Qt6Widgetsd.dll!QLabel::linkActivated()
    C:\Users\qt\work\qt\qtbase_build\src\widgets\Widgets_autogen\include_Debug\moc_qlabel.cpp (333): Qt6Widgetsd.dll!QLabel::qt_static_metacall() + 0x1F bytes
    C:\Users\qt\work\qt\qtbase\src\corelib\kernel\qobject.cpp (4007): Qt6Cored.dll!doActivate<0>()
    C:\Users\qt\work\qt\qtbase\src\corelib\kernel\qobject.cpp (4053): Qt6Cored.dll!QMetaObject::activate()
    C:\Users\qt\work\qt\qtbase_build\src\widgets\Widgets_autogen\include_Debug\moc_qwidgettextcontrol_p.cpp (841): Qt6Widgetsd.dll!QWidgetTextControl::linkActivated()
    C:\Users\qt\work\qt\qtbase\src\widgets\widgets\qwidgettextcontrol.cpp (2962): Qt6Widgetsd.dll!QWidgetTextControlPrivate::activateLinkUnderCursor()
    C:\Users\qt\work\qt\qtbase\src\widgets\widgets\qwidgettextcontrol.cpp (1854): Qt6Widgetsd.dll!QWidgetTextControlPrivate::mouseReleaseEvent()
    C:\Users\qt\work\qt\qtbase\src\widgets\widgets\qwidgettextcontrol.cpp (1039): Qt6Widgetsd.dll!QWidgetTextControl::processEvent()
    C:\Users\qt\work\qt\qtbase\src\widgets\widgets\qwidgettextcontrol.cpp (984): Qt6Widgetsd.dll!QWidgetTextControl::processEvent()
    C:\Users\qt\work\qt\qtbase\src\widgets\widgets\qlabel.cpp (1602): Qt6Widgetsd.dll!QLabelPrivate::sendControlEvent()
    C:\Users\qt\work\qt\qtbase\src\widgets\widgets\qlabel.cpp (879): Qt6Widgetsd.dll!QLabel::mouseReleaseEvent()
    C:\Users\qt\work\qt\qtbase\src\widgets\kernel\qwidget.cpp (8938): Qt6Widgetsd.dll!QWidget::event()
    C:\Users\qt\work\qt\qtbase\src\widgets\widgets\qframe.cpp (515): Qt6Widgetsd.dll!QFrame::event() + 0xF bytes
    C:\Users\qt\work\qt\qtbase\src\widgets\widgets\qlabel.cpp (997): Qt6Widgetsd.dll!QLabel::event()
    C:\Users\qt\work\qt\qtbase\src\widgets\kernel\qapplication.cpp (3287): Qt6Widgetsd.dll!QApplicationPrivate::notify_helper() + 0x1F bytes
    C:\Users\qt\work\qt\qtbase\src\widgets\kernel\qapplication.cpp (2774): Qt6Widgetsd.dll!QApplication::notify() + 0x4E bytes
    C:\Users\qt\work\qt\qtbase\src\corelib\kernel\qcoreapplication.cpp (1115): Qt6Cored.dll!QCoreApplication::notifyInternal2() + 0x34 bytes
    C:\Users\qt\work\qt\qtbase\src\corelib\kernel\qcoreapplication.cpp (1548): Qt6Cored.dll!QCoreApplication::sendSpontaneousEvent()
    C:\Users\qt\work\qt\qtbase\src\widgets\kernel\qapplication.cpp (2358): Qt6Widgetsd.dll!QApplicationPrivate::sendMouseEvent() + 0x16 bytes
    C:\Users\qt\work\qt\qtbase\src\widgets\kernel\qwidgetwindow.cpp (625): Qt6Widgetsd.dll!QWidgetWindow::handleMouseEvent()
    C:\Users\qt\work\qt\qtbase\src\widgets\kernel\qwidgetwindow.cpp (242): Qt6Widgetsd.dll!QWidgetWindow::event()
    C:\Users\qt\work\qt\qtbase\src\widgets\kernel\qapplication.cpp (3287): Qt6Widgetsd.dll!QApplicationPrivate::notify_helper() + 0x1F bytes
    C:\Users\qt\work\qt\qtbase\src\widgets\kernel\qapplication.cpp (3238): Qt6Widgetsd.dll!QApplication::notify() + 0x1A bytes
    C:\Users\qt\work\qt\qtbase\src\corelib\kernel\qcoreapplication.cpp (1115): Qt6Cored.dll!QCoreApplication::notifyInternal2() + 0x34 bytes
    C:\Users\qt\work\qt\qtbase\src\corelib\kernel\qcoreapplication.cpp (1548): Qt6Cored.dll!QCoreApplication::sendSpontaneousEvent()
    C:\Users\qt\work\qt\qtbase\src\gui\kernel\qguiapplication.cpp (2286): Qt6Guid.dll!QGuiApplicationPrivate::processMouseEvent()
    C:\Users\qt\work\qt\qtbase\src\gui\kernel\qguiapplication.cpp (2035): Qt6Guid.dll!QGuiApplicationPrivate::processWindowSystemEvent()
    C:\Users\qt\work\qt\qtbase\src\gui\kernel\qwindowsysteminterface.cpp (1100): Qt6Guid.dll!QWindowSystemInterface::sendWindowSystemEvents()
    C:\Users\qt\work\qt\qtbase\src\gui\platform\windows\qwindowsguieventdispatcher.cpp (45): Qt6Guid.dll!QWindowsGuiEventDispatcher::sendPostedEvents()
    C:\Users\qt\work\qt\qtbase\src\corelib\kernel\qeventdispatcher_win.cpp (464): Qt6Cored.dll!QEventDispatcherWin32::processEvents()
    C:\Users\qt\work\qt\qtbase\src\gui\platform\windows\qwindowsguieventdispatcher.cpp (36): Qt6Guid.dll!QWindowsGuiEventDispatcher::processEvents() + 0xF bytes
    C:\Users\qt\work\qt\qtbase\src\corelib\kernel\qeventloop.cpp (101): Qt6Cored.dll!QEventLoop::processEvents()
    C:\Users\qt\work\qt\qtbase\src\corelib\kernel\qeventloop.cpp (182): Qt6Cored.dll!QEventLoop::exec() + 0x4D bytes
    C:\Users\qt\work\qt\qtbase\src\corelib\kernel\qcoreapplication.cpp (1436): Qt6Cored.dll!QCoreApplication::exec() + 0x2E bytes
    C:\Users\qt\work\qt\qtbase\src\gui\kernel\qguiapplication.cpp (1895): Qt6Guid.dll!QGuiApplication::exec()
    C:\Users\qt\work\qt\qtbase\src\widgets\kernel\qapplication.cpp (2567): Qt6Widgetsd.dll!QApplication::exec()
    C:\Users\amonra\Documents\GitHub\DSS\DeepSkyStacker\DeepSkyStacker.cpp (1065): DeepSkyStacker.exe!main() + 0x6 bytes
    C:\Users\qt\work\qt\qtbase\src\entrypoint\qtentrypoint_win.cpp (50): DeepSkyStacker.exe!qtEntryPoint() + 0xE bytes
    C:\Users\qt\work\qt\qtbase\src\entrypoint\qtentrypoint_win.cpp (60): DeepSkyStacker.exe!WinMain()
    D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl (107): DeepSkyStacker.exe!invoke_main()
    D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl (288): DeepSkyStacker.exe!__scrt_common_main_seh() + 0x5 bytes
    D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl (331): DeepSkyStacker.exe!__scrt_common_main()
    D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_winmain.cpp (17): DeepSkyStacker.exe!WinMainCRTStartup()
    KERNEL32.DLL!BaseThreadInitThunk() + 0x1D bytes
    ntdll.dll!RtlUserThreadStart() + 0x28 bytes
  Data:
    40 DA 95 06    00 00 00 00    50 4C CF 08    00 00 00 00     ..䱐࣏..
    20 DB 95 06    00 00 00 00    30 DE 95 06    00 00 00 00     ..�ڕ..
    90 45 CF 08    00 00 00 00    70 C7 95 06    00 00 00 00     䖐࣏..읰ڕ..
    F0 DF 95 06    00 00 00 00    E0 C7 95 06    00 00 00 00     �ڕ..쟠ڕ..
    B0 4C CF 08    00 00 00 00    50 CF 95 06    00 00 00 00     䲰࣏..콐ڕ..
    50 C8 95 06    00 00 00 00    F0 2C 6E 06    00 00 00 00     졐ڕ..⳰ٮ..
    B0 52 CF 08    00 00 00 00    D0 2D 6E 06    00 00 00 00     劰࣏..ⷐٮ..
    30 32 6E 06    00 00 00 00    10 33 6E 06    00 00 00 00     ㈰ٮ..㌐ٮ..

I'm not clear why that should have worked given that there don't appear to be any unicode chars in the stack trace.

perdrix52 commented 1 year ago

Bump ...

perdrix52 commented 1 year ago

Bump again ... anyone home

perdrix52 commented 1 year ago

I'm sure this is a bug (not reporting the call stack). Please could someone take a look

Neustradamus commented 3 months ago

@mattdurak: Have you seen this ticket?

Neustradamus commented 3 months ago

@mattdurak, @dcristoloveanu: Can you check this @perdrix52 ticket? There is a fix?