Skip to content

Applying BCFs does not work #601

@BeermotorWB

Description

@BeermotorWB

Quick bug report for v309.1/v310-202106071005 (nightly) concerning BCFs.

Applying BCF files in 309.1 produced a utf8 decode bugcheck. Identical bugcheck produced by 310-20210607.

Reproduction steps

(All tests on Python source. Specific component versions in dump log below, but I ran pip against the requirements file fairly recently)

  1. Acquired SSE mod More to Say.
  2. Reorganized folders to standard structure.
  3. Rewrote FOMOD XML to reflect corrected structure.
  4. Created BCF in BAIN
  5. Hid donor.
  6. From installer tab, right click original mod
  7. Apply BCF -> select BCF
  8. Exception raised on apply.

Bugcheck for quick reading:

Traceback (most recent call last):
  File "bash\balt.py", line 1773, in __Execute
    self.Execute()
  File "bash\balt.py", line 825, in _conversation_wrapper
    return func(*args, **kwargs)
  File "bash\basher\installer_links.py", line 1271, in Execute
    position=new_archive_order, crc_installer=crc_installer)
  File "bash\bosh\bain.py", line 1940, in apply_converter
    embedded=installer.crc if installer else 0)
  File "bash\bosh\converters.py", line 338, in apply
    self.load(True)
  File "bash\bosh\converters.py", line 321, in load
    u'\nLoading %s:\nBCF extraction failed.' % self.fullPath)
  File "bash\archives.py", line 114, in wrapPopenOut
    wrapper(out)
  File "bash\bosh\converters.py", line 309, in translate
    for a, v in izip(self.persistBCF, pickle.load(translator)):
  File "bash\bosh\converters.py", line 301, in read
    return self._translate(self._stream.read(numBytes))
  File "bash\bosh\converters.py", line 307, in _translate
    s.decode(u'utf-8'), flags=re.U)
  File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 0: invalid start byte

Bug dump

Beermotor-20210618-BashBugDump.log

Relevant BCF file (change extension back to .7z. Thanks Github)

More to Say-FOBAIN-22622-8-0-1-1623006972-BCF.zip

SHA256 checksum of BCF:

Name: More to Say-FOBAIN-22622-8-0-1-1623006972-BCF.7z
Size: 2446 bytes (2 KiB)
SHA256: 04537B47919FEA3D3CBEA57C3786D1F59576A7764C8BC2655CE8CC5E0DA391BA

Version information and SHA256 checksum of original mod:

Name: More to Say-22622-8-0-1-1623006972.7z
Size: 101068041 bytes (96 MiB)
SHA256: 8B926EDC7E67CE98E0944B11C8EC9CC9FE4E33672AF6EBA112D784F507BF4C02

Comments

I don't always test BCFs, but when I do I test BCFs for poorly packaged mods.

Similar to #155 but I cannot comment on whether or not this is a new bug or regression since I haven't really tested this functionality since the FOMOD installer was added.

If this isn't an easy fix then I don't think it is a massive priority as I've never seen a BCF in the wild that I didn't create.

Metadata

Metadata

Assignees

Labels

A-bcfsArea: BCFs (Bain Conversion Files; bosh/converters.py)C-bugCategory: Bug, an acknowledged defect in the programM-relnotesMisc: Issue should be listed in the version history for its milestone

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions