Project

General

Profile

Debug Assertion Failed (xutility, line 2225)

Added by Auke Nauta almost 10 years ago

Hi,

Using trunk 2652, I get this error on the attached jpeg, when I want to encode exifdata.
Here is a an excerpt of my code:

Image::AutoPtr srcimg=ImageFactory::open("SDC11037-0006.jpg");
srcimg->readMetadata();
ExifData &ed=srcimg->exifData();
Blob blob;
ExifParser::encode(blob, littleEndian, ed);

The actual error occurs in the file 'value.cpp', line 215 (DataValue::copy()):

long DataValue::copy(byte* buf, ByteOrder /*byteOrder*/) const
   {
// byteOrder not needed
return static_cast<long>(
std::copy(value_.begin(), value_.end(), buf) - buf);
}

When the error occurs, 'value_' is empty.
Perhaps a check should be inserted here (or in the calling code).

Thanks and greetings,
Auke Nauta

P.S.
I am using VC2010 Premium, Windows 7 64-bit.


Replies (1)

RE: Assertion failed (tiffcomposite.cpp, line 1032) - Added by Auke Nauta almost 10 years ago

Hi again,

In release compilation mode, an assertion error happens in tiffcomposite.cpp here:

uint32_t TiffMnEntry::doCount() const
    {
if (!mn_) {
return TiffEntryBase::doCount();
}
// Count of IFD makernote in tag Exif.Photo.MakerNote is the size of the
// Makernote in bytes
assert(tiffType() ttUndefined); // <== ERROR HERE
return mn_->size();
}

I guess this is the real error, the error(s) in debug mode may be related to a bug in VC2010...

Greetings,
Auke Nauta

    (1-1/1)