stack corruption in the webservice code

Lubomir I. Ivanov neolit123 at gmail.com
Tue Dec 10 08:39:38 UTC 2013


On 10 December 2013 18:24, Lubomir I. Ivanov <neolit123 at gmail.com> wrote:
> the strange part is why we never had a crash thus far?
> also, i don't think i ever saw memory debuggers complain about that.
>

but i do get these two on win32 (see attached txt file).

the first one looks like
the second one is actually a corrupted value reaching
subsurfacewebservices.cpp:551, because i saw some glyphs instead of
the correct path.

http://www.drmemory.org/docs/page_unaddr.html

lubomir
--
-------------- next part --------------
Dr. Memory version 1.6.0 build 2 built on Sep  7 2013 03:37:07
Dr. Memory results for pid 4768: "subsurface.exe"
Application cmdline: "subsurface.exe"
Recorded 97 suppression(s) from default c:\bin\drmemory\bin\suppress-default.txt

Error #1: UNADDRESSABLE ACCESS: reading 0x44e9e859-0x44e9e85a 1 byte(s)
# 0 msvcrt.dll!_stat32   
# 1 QtCored4.dll!qFree()                                         [global/qmalloc.cpp:60]
# 2 libzip-2.dll!zip_open                                        [../mingw/dllcrt1.c:192]
# 3 prepare_dives_for_divelogs()                                 [qt-ui/subsurfacewebservices.cpp:119]
# 4 DivelogsDeWebServices::prepareDivesForUpload()               [qt-ui/subsurfacewebservices.cpp:549]
# 5 DiveListView::uploadToDivelogsDE()                           [qt-ui/divelistview.cpp:790]
# 6 DiveListView::qt_static_metacall()                           [.moc/moc_divelistview.cpp:96]
# 7 QtCored4.dll!QMetaObject::activate()                         [kernel/qobject.cpp:3547]
# 8 QtGuid4.dll!QAction::triggered()                             [tmp/moc/debug_shared/moc_qaction.cpp:276]
# 9 QtGuid4.dll!QAction::activate()                              [kernel/qaction.cpp:1257]
#10 QtGuid4.dll!QMenuPrivate::activateCausedStack()              [widgets/qmenu.cpp:1038]
#11 QtGuid4.dll!QMenuPrivate::activateAction()                   [widgets/qmenu.cpp:1130]
Note: @0:00:07.627 in thread 4216
Note: 0x44e9e859-0x44e9e85a overlaps memory 0x44e9e848-0x44e9e880 that was freed
Note: instruction: cmp    0x01(%edi) $0x3a

Error #2: UNADDRESSABLE ACCESS: reading 0x44ea2f80-0x44ea2f81 1 byte(s)
# 0 QtCored4.dll!QString::fromAscii_helper()                     [tools/qstring.cpp:3874]
# 1 QString::QString()                                           [../../bin/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qstring.h:419]
# 2 DivelogsDeWebServices::prepareDivesForUpload()               [qt-ui/subsurfacewebservices.cpp:551]
# 3 DiveListView::uploadToDivelogsDE()                           [qt-ui/divelistview.cpp:790]
# 4 DiveListView::qt_static_metacall()                           [.moc/moc_divelistview.cpp:96]
# 5 QtCored4.dll!QMetaObject::activate()                         [kernel/qobject.cpp:3547]
# 6 QtGuid4.dll!QAction::triggered()                             [tmp/moc/debug_shared/moc_qaction.cpp:276]
# 7 QtGuid4.dll!QAction::activate()                              [kernel/qaction.cpp:1257]
# 8 QtGuid4.dll!QMenuPrivate::activateCausedStack()              [widgets/qmenu.cpp:1038]
# 9 QtGuid4.dll!QMenuPrivate::activateAction()                   [widgets/qmenu.cpp:1130]
#10 QtGuid4.dll!QMenu::mouseReleaseEvent()                       [widgets/qmenu.cpp:2372]
#11 QtGuid4.dll!QWidget::event()                                 [kernel/qwidget.cpp:8376]
Note: @0:00:07.820 in thread 4216
Note: 0x44ea2f80-0x44ea2f81 overlaps memory 0x44ea2f70-0x44ea2fa8 that was freed
Note: instruction: mov    (%eax) -> %al

===========================================================================
FINAL SUMMARY:

DUPLICATE ERROR COUNTS:

SUPPRESSIONS USED:

ERRORS FOUND:
      2 unique,     2 total unaddressable access(es)
      0 unique,     0 total invalid heap argument(s)
      0 unique,     0 total GDI usage error(s)
      0 unique,     0 total warning(s)
ERRORS IGNORED:
      1 potential error(s) (suspected false positives)
         (details: c:\bin\drmemory\drmemory\logs\DrMemory-subsurface.exe.4768.000\potential_errors.txt)
Details: c:\bin\drmemory\drmemory\logs\DrMemory-subsurface.exe.4768.000\results.txt


More information about the subsurface mailing list