Zandronum Chat @ irc.zandronum.com
#zandronum
Get the latest version: 3.0
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003545Doomseeker[All Projects] Bugpublic2018-10-08 04:002018-10-27 22:53
ReporterBlzut3 
Assigned ToZalewa 
PriorityhighSeveritymajorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version1.1 
Target Version1.2Fixed in Version1.2 
Summary0003545: Bzip2 IO device doesn't handle files with multiple streams
DescriptionApparently a bz2 file can contain multiple streams concatenated together. Wadseeker needs to reinitialize the decompressor at each boundary. Presumably this fact is utilized by programs that do multithreaded compression.
Steps To ReproduceHave Wadseeker extract this Zandronum testing release:https://zandronum.com/downloads/testing/3.1/ZandroDev3.1-180901-1533linux-x86_64.tar.bz2 [^]

Release version of Wadseeker will silently fail to extract the binary.
Attached Files

- Relationships

-  Notes
User avatar (0019997)
Blzut3 (administrator)
2018-10-08 04:16

Forgot to tag ticket number in commit message:https://bitbucket.org/Doomseeker/doomseeker/commits/9d64a42b9955e80c819c7da7f9cbb080ffb25866 [^]

This took me way longer than I want to admit to figure out. That said I can't find much documentation on the bz2 file format so I don't feel too bad about it. Somehow though all the archiving tools know about it, so at least I can confirm that multiple implementations (including most importantly the reference bzip2 program) do this by tracing through the source codes.
User avatar (0020001)
WubTheCaptain (developer)
2018-10-08 08:14

I'm not favoring the "multiple nested ifs" and "if-else" coding style, personally.
User avatar (0020007)
WubTheCaptain (developer)
2018-10-08 10:04

Zalewa, please review/test?
User avatar (0020027)
Zalewa (developer)
2018-10-08 20:51
edited on: 2018-10-08 20:52

Quote from WubTheCaptain

I'm not favoring the "multiple nested ifs" and "if-else" coding style, personally.


The `ZandronumClientExeFile::downloadTestingBinaries()` method does a lot of stuff if anything. I'd start the refactor from splitting it into smaller ones, but that should be done on occasion of some more important change as there are no major issues with it requiring dedicated or immediate work.

Testing will have to wait until I'm less tired. I also don't have any bz2 archives readily available for testing.

User avatar (0020077)
Zalewa (developer)
2018-10-11 17:48

I packed dwango5.wad into a 'tar.bz2' archive using 3 different methods and added 'tar.bz2' to the supported WAD archive extensions in Wadseeker just for testing purposes. I have then attempted to install each archive with a Doomseeker build from before the patch and then with a build with the patch.

The commands and WAD installation results are as listed:

Before patch:

tar -cjf dwango5.tar.bz2 dwango5.wad # -- OK
tar -cf dwango5.tar dwango5.wad && bzip2 dwango5.tar # -- OK
tar -cf dwango5.tar dwango5.wad && pbzip2 -p16 -m1 -b1 dwango5.tar # -- FAIL

After patch:

tar -cjf dwango5.tar.bz2 dwango5.wad # -- OK
tar -cf dwango5.tar dwango5.wad && bzip2 dwango5.tar # -- OK
tar -cf dwango5.tar dwango5.wad && pbzip2 -p16 -m1 -b1 dwango5.tar # -- OK


The files created by `tar` and `bzip2` are the same while `pbzip2` creates a file with a different size.

So I suppose this proves that the problem is fixed.
User avatar (0020078)
WubTheCaptain (developer)
2018-10-11 18:02

I'll hope you'll get into a habit of using pipes instead of temporary files and &&, tee hee.

Issue Community Support
This issue is already marked as resolved.
If you feel that is not the case, please reopen it and explain why.
Supporters: No one explicitly supports this issue yet.
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2018-10-08 04:00 Blzut3 New Issue
2018-10-08 04:00 Blzut3 Status new => assigned
2018-10-08 04:00 Blzut3 Assigned To => Blzut3
2018-10-08 04:16 Blzut3 Note Added: 0019997
2018-10-08 04:16 Blzut3 Status assigned => needs testing
2018-10-08 04:17 Blzut3 Fixed in Version => 1.2
2018-10-08 08:14 WubTheCaptain Note Added: 0020001
2018-10-08 10:04 WubTheCaptain Note Added: 0020007
2018-10-08 10:04 WubTheCaptain Assigned To Blzut3 => Zalewa
2018-10-08 10:04 WubTheCaptain Status needs testing => needs review
2018-10-08 20:51 Zalewa Note Added: 0020027
2018-10-08 20:52 Zalewa Note Edited: 0020027 View Revisions
2018-10-11 17:48 Zalewa Note Added: 0020077
2018-10-11 17:58 WubTheCaptain Status needs review => resolved
2018-10-11 17:58 WubTheCaptain Resolution open => fixed
2018-10-11 18:02 WubTheCaptain Note Added: 0020078
2018-10-27 22:53 WubTheCaptain Status resolved => closed






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker