openexr-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Openexr-devel] Windows Dr.Memory and OpenEXR


From: Gonzalo Garramuño
Subject: [Openexr-devel] Windows Dr.Memory and OpenEXR
Date: Sun, 26 Feb 2017 18:38:01 -0300
User-agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0


I am trying to debug my program (or any openexr demo program like exrstdattr) under Windows Dr.Memory (a multiplatform memory tool like valgrind), and when the code executes it raises the following exceptions before crashing:

Dr. Memory version 1.11.0 build 2 built on Aug 29 2016 02:41:18
Dr. Memory results for pid 4544: "exrstdattr.exe"
Application cmdline: "exrstdattr.exe d:/movies/openexr-images/ScanLines/StillLife.exr test.exr" Recorded 115 suppression(s) from default c:\Program Files (x86)\Dr. Memory\bin64\suppress-default.txt

Error #1: UNADDRESSABLE ACCESS beyond heap bounds: reading 0x0000008835a0d098-0x0000008835a0d0a0 8 byte(s) # 0 std::_String_val<>::_Myptr [c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring:521] # 1 std::_String_alloc<>::_Myptr [c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring:583] # 2 std::basic_string<>::compare [c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring:2121] # 3 std::operator==<> [c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring:2460] # 4 main [d:\code\applications\mrviewer\dependencies\openexr\exrstdattr\main.cpp:871]
Note: @0:00:03.157 in thread 4600
Note: refers to 0 byte(s) beyond last valid byte in prior malloc
Note: prev lower malloc: 0x0000008835a0d070-0x0000008835a0d098
Note: allocated here:
Note: # 0 replace_malloc [d:\drmemory_package\common\alloc_replace.c:2576]
Note: # 1 IlmImf-2_2.dll!Imf_2_2::CpuId::CpuId +0x634 (0x00007ffa2275c7f5 <IlmImf-2_2.dll+0x8c7f5>) Note: # 2 IlmImf-2_2.dll!Imf_2_2::Slice::`default constructor closure' +0x12b0 (0x00007ffa226d7db1 <IlmImf-2_2.dll+0x7db1>) Note: # 3 IlmImf-2_2.dll!Imf_2_2::TypedAttribute<>::writeValueTo +0x610 (0x00007ffa226d5281 <IlmImf-2_2.dll+0x5281>) Note: # 4 IlmImf-2_2.dll!Imf_2_2::Header::insert +0x1ea (0x00007ffa226e316b <IlmImf-2_2.dll+0x1316b>) Note: # 5 IlmImf-2_2.dll!Imf_2_2::Slice::`default constructor closure' +0x6ea (0x00007ffa226d71eb <IlmImf-2_2.dll+0x71eb>) Note: # 6 IlmImf-2_2.dll!Imf_2_2::CpuId::CpuId +0x634 (0x00007ffa2275c7f5 <IlmImf-2_2.dll+0x8c7f5>) Note: # 7 IlmImf-2_2.dll!Imf_2_2::PreviewRgba::`default constructor closure'+0x67b (0x00007ffa226e0d2c <IlmImf-2_2.dll+0x10d2c>) Note: # 8 IlmImf-2_2.dll!Imf_2_2::FrameBuffer::insert +0x8ca (0x00007ffa226de88b <IlmImf-2_2.dll+0xe88b>) Note: # 9 IlmImf-2_2.dll!Imf_2_2::FrameBuffer::insert +0x36a (0x00007ffa226de32b <IlmImf-2_2.dll+0xe32b>) Note: #10 IlmImf-2_2.dll!Imf_2_2::Slice::`default constructor closure' +0x1340 (0x00007ffa226d7e41 <IlmImf-2_2.dll+0x7e41>) Note: #11 IlmImf-2_2.dll!Imf_2_2::FrameBuffer::insert +0xdc5 (0x00007ffa226ded86 <IlmImf-2_2.dll+0xed86>)
Note: instruction: cmp    0x20(%rax) $0x0000000000000010

Error #2: UNADDRESSABLE ACCESS: reading 0x0000006567616d69-0x0000006567616d6a 1 byte(s)
# 0 replace_memcmp [d:\drmemory_package\drmemory\replace.c:817]
# 1 std::char_traits<>::compare [c:\program files (x86)\microsoft visual studio 14.0\vc\include\iosfwd:517] # 2 std::basic_string<>::_Traits_compare [c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring:2096] # 3 std::basic_string<>::compare [c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring:2121] # 4 std::operator==<> [c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring:2460] # 5 main [d:\code\applications\mrviewer\dependencies\openexr\exrstdattr\main.cpp:871]
Note: @0:00:03.204 in thread 4600
Note: instruction: movzx  (%rax) -> %eax

I am wondering if all is fine and whether Dr.Memory is getting confused and what can be done to work around the confusion.


--
Gonzalo Garramuño




reply via email to

[Prev in Thread] Current Thread [Next in Thread]