1

I'm trying to unzip a multipart zip file (that I had originally zipped in Windows using WinRAR). The file consists of 4 parts: me.zip and me.z01, me.z02, me.z03 and me.z04.

The command I'm using to do the unzip in Ubuntu is: zip -FF me.zip --out me-full.zip

When I run this command, it starts listing a bunch of files ... eventually failing with the following message:

copying: me/wpuqps psupthr/pswpuqps/tvpezps psbrpuy/pswdwqr wpsqupj
pspustphy.docx zip: malloc.c:2373: sysmalloc: Assertion `(old_top ==
(((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) -
__builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof
(struct malloc_chunk, fd_nextsize))+((2 *(sizeof(size_t))) - 1)) &
~((2 *(sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) &&
((unsigned long) old_end & pagemask) == 0)' failed.

zip error: Interrupted (aborting)

Can I make it skip this error and continue extracting the remainig files? How can I recover the operation and continue to salvage the other (presumably uncorrupted) files?

  • 1
    It's not caused by the zip file. If you can produce a similar file without your important data (yes, I mean only garbage) that triggers the same behavior, it will be a good idea to tell the Ubuntu guys about this bug. The Ubuntu guys will check if it's a Ubuntu libc malloc bug, a unzip bug or some mistakes they made making the unzip software package. – Arthur2e5 Oct 27 '15 at 19:46
  • 1
    For a workaround, try unpacking it with something else, e.g. bsdtar and p7zip stuffs. Or even wine WinRAR. – Arthur2e5 Oct 27 '15 at 19:47
  • Running it under gdb and getting a bt might be handy for debugging. – thrig Oct 27 '15 at 20:09
  • @thrig The problem is malloc found something wrong. Can be some writes to not yet allocated spaces (e.g. array index out-of-bound) in unzip, and clobbering some markers for block size left by malloc. Anyway he should write a bug report first… (unzip has done such before: debian.org/security/2015/dsa-3152) Additionally, Ubuntu often release binaries with debug symbols separated so gdb won't really give anything useful…… – Arthur2e5 Oct 28 '15 at 4:43
  • 1
    Please add information on your Ubuntu version and unzip version. If you find out that unzip is a version released before Feb 2015, you should definitely use apt stuffs to upgrade it and try. – Arthur2e5 Oct 28 '15 at 4:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.