After a bit of digging into the lzma source, it turns out that this error is:
(unsigned int)E_FAIL) == -2147467259
The LZMAEncoder.cpp code contains:
"""
try
{
#endif
return CodeReal(inStream, outStream, inSize, outSize, progress);
#ifndef _NO_EXCEPTIONS
}
catch(const COutBufferException &e) { return e.ErrorCode; }
catch(...) { return E_FAIL; }
#endif
""""
So E_FAIL is any unhandled exception. I think we need to make this code more descriptive so that
we can figure out what is really failing. It might be that there are actually multiple different exceptions,
but because its a catch-all handler it will report them all with the same error code.
After a bit of digging into the lzma source, it turns out that this error is:
(unsigned int)E_FAIL) == -2147467259
The LZMAEncoder.cpp code contains:
"""
try
{
#endif
return CodeReal(inStream, outStream, inSize, outSize, progress);
#ifndef _NO_EXCEPTIONS
}
catch(const COutBufferException &e) { return e.ErrorCode; }
catch(...) { return E_FAIL; }
#endif
""""
So E_FAIL is any unhandled exception. I think we need to make this code more descriptive so that
we can figure out what is really failing. It might be that there are actually multiple different exceptions,
but because its a catch-all handler it will report them all with the same error code.