Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 436382 - =app-arch/lbzip2-2.2: Assertion failure while compressing
Summary: =app-arch/lbzip2-2.2: Assertion failure while compressing
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Justin Lecher (RETIRED)
URL: https://github.com/kjn/lbzip2/issues/8
Whiteboard:
Keywords: UPSTREAM
Depends on:
Blocks:
 
Reported: 2012-09-27 07:41 UTC by Florian Philipp
Modified: 2013-01-12 19:45 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
The file causing the issue (hpwin.img,128.00 KB, application/octet-stream)
2012-09-27 07:43 UTC, Florian Philipp
Details
Proposed patch (fix_empty_range.patch,634 bytes, patch)
2012-09-27 15:01 UTC, Florian Philipp
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Philipp 2012-09-27 07:41:23 UTC
Something in a certain QEMU raw image seems to upset lbzip2-2.2. Other images are okay but I could not test another NTFS file system image. The error happens with a small part of the image so I will attach it.

Earlier versions of lbzip2 seem to be unaffected.

Reproducible: Always

Steps to Reproduce:
1. lbzip2 -c hpwin.img >/dev/null
Actual Results:  
lbzip2: /var/tmp/portage/app-arch/lbzip2-2.2/work/lbzip2-2.2/src/encode.c:794: generate_initial_trees: Assertion `a < b' failed.

Expected Results:  
No news are good news.

emerge --info

Portage 2.1.11.9 (default/linux/amd64/10.0, gcc-4.5.4, glibc-2.15-r2, 3.4.9-gentoo x86_64)
=================================================================
System uname: Linux-3.4.9-gentoo-x86_64-Intel-R-_Core-TM-_i5_CPU_M_450_@_2.40GHz-with-gentoo-2.1
Timestamp of tree: Sat, 22 Sep 2012 02:45:01 +0000
ccache version 3.1.7 [enabled]
app-shells/bash:          4.2_p37
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.3-r2, 3.2.3
dev-util/ccache:          3.1.7
dev-util/cmake:           2.8.8-r3
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.10.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.10.3, 1.11.6
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.4
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.4-r2 (virtual/os-headers)
sys-libs/glibc:           2.15-r2
Repositories: gentoo alexxy armagetron x-aross bangert benf betagarden bibletime chtekk-apps chutzpah dagger x-deathwing00 dertobi123 dirtyepic dotnet drizzt-overlay emacs eva eyolfson Falco flameeyes-overlay foo-overlay gamerlay-stable genstef gpe halcy0n hawking hwoarang iElectric java-overlay je_fro jmbsvicetto dev-jokey kerberos kolab kork kvm laurentb leio-personal x-lila-theme loki_val lordvan lorelei-overlay ogo-lu_zero maekke maggu2810-overlay matsuu Menelkir mrpouet-s-overlay neurogeek neuvoo nikai nuteater nx openrc pchrist pcsx2 pd-overlay piczu postgresql-testing proaudio purak ramereth raw rbu remi overlay-dev-robbat2 ruby scarabeus science x-seemant smithdanea sochotnicky sping steev swegener toolchain x-trapni vdr-testing voip webapp-experimental wirelay wish wrobel wschlich wschlich-testing xgr xhub x11 yporti DuPol voyageur games kde-sunset sunrise eatnumber1 tante multimedia roslin overlay-dev-blueness mv vmware Sysutils
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA Broadcom AdobeFlash-10.1 AdobeFlash-10.3 Intel-SDP"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe -floop-interchange -floop-strip-mine -floop-block"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=native -pipe -floop-interchange -floop-strip-mine -floop-block"
DISTDIR="/usr/src/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs ccache distlocks ebuild-locks fixlafiles news parallel-fetch parse-eapi-ebuild-head protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/"
LANG="en_US.UTF8"
LC_ALL="de_DE.UTF8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de en_US en"
MAKEOPTS="-j4"
PKGDIR="/usr/src/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/var/db/portage"
PORTDIR_OVERLAY="/var/db/layman/alexxy /var/db/layman/armagetron /var/db/layman/aross /var/db/layman/bangert /var/db/layman/benf /var/db/layman/betagarden /var/db/layman/bibletime /var/db/layman/chtekk-apps /var/db/layman/chutzpah /var/db/layman/dagger /var/db/layman/deathwing00 /var/db/layman/dertobi123 /var/db/layman/dirtyepic /var/db/layman/dotnet /var/db/layman/drizzt-overlay /var/db/layman/emacs /var/db/layman/eva /var/db/layman/eyolfson /var/db/layman/falco /var/db/layman/flameeyes-overlay /var/db/layman/foo-overlay /var/db/layman/gamerlay /var/db/layman/genstef /var/db/layman/gpe /var/db/layman/halcy0n /var/db/layman/hawking /var/db/layman/hwoarang /var/db/layman/iElectric /var/db/layman/java-overlay /var/db/layman/je_fro /var/db/layman/jmbsvicetto /var/db/layman/jokey /var/db/layman/kerberos /var/db/layman/kolab /var/db/layman/kork /var/db/layman/kvm /var/db/layman/laurentb /var/db/layman/leio /var/db/layman/lila-theme /var/db/layman/loki_val /var/db/layman/lordvan /var/db/layman/lorelei /var/db/layman/lu_zero /var/db/layman/maekke /var/db/layman/maggu2810-overlay /var/db/layman/matsuu /var/db/layman/menelkir /var/db/layman/mrpouet /var/db/layman/neurogeek /var/db/layman/neuvoo /var/db/layman/nikai /var/db/layman/nuteater /var/db/layman/nx /var/db/layman/openrc /var/db/layman/pchrist /var/db/layman/pcsx2 /var/db/layman/pd-overlay /var/db/layman/piczu /var/db/layman/postgresql-testing /var/db/layman/pro-audio /var/db/layman/purak /var/db/layman/ramereth /var/db/layman/raw /var/db/layman/rbu /var/db/layman/remi /var/db/layman/robbat2 /var/db/layman/ruby /var/db/layman/scarabeus /var/db/layman/science /var/db/layman/seemant /var/db/layman/smithdanea /var/db/layman/sochotnicky /var/db/layman/sping /var/db/layman/steev /var/db/layman/swegener /var/db/layman/toolchain /var/db/layman/trapni /var/db/layman/vdr-testing /var/db/layman/voip /var/db/layman/webapps-experimental /var/db/layman/wirelay /var/db/layman/wish /var/db/layman/wrobel /var/db/layman/wschlich /var/db/layman/wschlich-testing /var/db/layman/xgr /var/db/layman/xhub /var/db/layman/x11 /var/db/layman/yporti /var/db/layman/DuPol /var/db/layman/voyageur /var/db/layman/games /var/db/layman/kde-sunset /var/db/layman/sunrise /var/db/layman/eatnumber1 /var/db/layman/tante /var/db/layman/multimedia /var/db/layman/roslin /var/db/layman/blueness /var/db/layman/mv /var/db/layman/vmware /usr/local/portage"
SYNC="rsync://serv.vpn.binarywings.net/gentoo-portage"
USE="acl amd64 berkdb bzip2 cli cracklib crypt cups cxx djvu dri fortran gdbm gpm handbook iconv jemalloc mmx mmxext modules mudflap multilib ncurses nls nptl openmp pam pcre pppd readline semantic-desktop session sse sse2 sse3 ssl ssse3 tcpd unicode vaapi xinerama zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="authz_host autoindex cache deflate dir expires filter info log_config logio mem_cache mime mime_magic negotiation status unique_id vhost_alias" APACHE2_MPMS="prefork" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DVB_CARDS="usb-dib0700 dibusb-usb2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse synaptics wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de en_US en" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="vesa intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Florian Philipp 2012-09-27 07:43:47 UTC
Created attachment 325110 [details]
The file causing the issue

Generated from an NTFS raw image with dd skip=2048 count=256
Comment 2 Florian Philipp 2012-09-27 15:01:16 UTC
Created attachment 325132 [details, diff]
Proposed patch

The bug is caused when the body of a for-loop in a heuristic function is never executed. I don't understand the root cause but changing it to a do-while loop fixes the issue.

The patched version passes all of lbzip2's tests (`make check`) and I've also tested it for data corruption against several hundred randomly chosen files on my system (encode with lbzip2, decode with bzip2, cmp for checking). Decoding is not affected.
Comment 3 Justin Lecher (RETIRED) gentoo-dev 2012-10-07 11:30:12 UTC
Lets see what upstream tells us about this bug.
Comment 4 Mikolaj Izdebski 2012-10-07 13:42:45 UTC
Thank you for the report.

As upstream maintainer of lbzip2 I confirm this is a bug in the upstream code. I will fix it as soon as possible. The bug was introduced in version 2.2, so earlier versions shouldn't be affected.

Also be careful with the patch proposed in comment #2, it doesn't look correct and may cause other issues.
Comment 6 Justin Lecher (RETIRED) gentoo-dev 2013-01-12 19:45:58 UTC
+*lbzip2-2.2-r1 (12 Jan 2013)
+
+  12 Jan 2013; Justin Lecher <jlec@gentoo.org> +lbzip2-2.2-r1.ebuild,
+  +files/lbzip2-2.2-assertion.patch, metadata.xml:
+  Backport fix from upstream git for Assertion failure, #436382
+