lzma: Encoder error: -2147467259 is too vague and causes unhelpful apport-package reports
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lzma (Ubuntu) |
Triaged
|
Medium
|
Unassigned | ||
Natty |
Invalid
|
Medium
|
Unassigned | ||
udev (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned | ||
Natty |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: udev
upgrading a memory stick of lubuntu 10.10
ProblemType: Package
DistroRelease: Ubuntu 10.10
Package: udev 162-2.1
ProcVersionSign
Uname: Linux 2.6.35-22-generic i686
Architecture: i386
Date: Sun Dec 19 07:23:35 2010
ErrorMessage: subprocess installed post-installation script returned error exit status 1
LiveMediaBuild: Lubuntu 10.10 "Maverick Meerkat" - i386 (20101010)
MachineType: Dell Inc. MM061
ProcCmdLine: noprompt cdrom-detect/
SourcePackage: udev
Title: package udev 162-2.1 failed to install/upgrade: subprocess installed post-installation script returned error exit status 1
dmi.bios.date: 06/13/2007
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A17
dmi.board.name: 0XD720
dmi.board.vendor: Dell Inc.
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.
dmi.product.name: MM061
dmi.sys.vendor: Dell Inc.
Changed in lzma (Ubuntu): | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in udev (Ubuntu): | |
status: | New → Won't Fix |
summary: |
- package udev 162-2.1 failed to install/upgrade: subprocess installed - post-installation script returned error exit status 1 + lzma: Encoder error: -2147467259 is too vague and causes unhelpful + apport-package reports |
Changed in lzma (Ubuntu Natty): | |
status: | Triaged → Invalid |
tags: | removed: maverick |
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.