[Pkg-libburnia-devel] Bug#617409: brasero: Brasero corrupts all blank CD-R when burning (was: additional info)

Thomas Schmitt scdbackup at gmx.net
Fri Jul 6 11:46:27 UTC 2012


i had a look at brasero build logs and have to drop the appealing theory
of sizeof(off_t) == 4.
The compiler gets a sufficient macro to avoid this: -D_FILE_OFFSET_BITS=64 

I now managed to build Brasero brasero-2.30.3-2 from the Debian sources.
It shows no differences to the previously installed one.

The installed libisofs and libburn are very old now.
Is there a way to test again with the current versions in Debian sid ?

Summary for now:

I am unable to reproduce the described problems about partially or completely
written CD or DVD which are unreadable afterwards.

If burning starts here, then it completes up to the moment when Brasero
should recognize that it successfully ejected the medium.

The resulting media are mountable and bear the correct content for all
files which are recorded.
Missing are only files of which the name begins by a dot ".".

Note well: George's patch is not yet applied.

Realtime recorded details of my brasero adventures:

So i continue trying to build brasero from source on my libburnia-upstream
infested system. It says libburn is installed. But brasero refuses to
link to it when built by dpkg-buildpackage.

So i do
  # rm /usr/local/lib/libburn.a
  # rm /usr/local/lib/libisofs.a
  # apt-get purge libburn4
(brasero and others get de-installed, too)
  # apt-get purge libisofs6
  # apt-get install libburn4
  # apt-get install libisofs6
  # apt-get install libburn-dev
  # apt-get install libisofs-dev

This has installed antique libburn-0.8.0 and libisofs-0.6.32.
Released in spring 2009 !

Now i get warnings about the failure to sign
  $ dpkg-buildpackage
  dpkg-buildpackage: binary and diff upload (original source NOT included)
  dpkg-buildpackage: warning: Failed to sign .dsc and .changes file
  $ echo $?

I continue with George's instructions:

> Remove any previous brasero package you might have:

  # apt-get --purge remove brasero
(seems to have been removed already when i removed libburn4)

> install yours:

  # ls -l brasero_2.30.3-2_amd64.deb
  -rw-r--r-- 1 thomas thomas  677008 Jul  6 11:49 ../brasero_2.30.3-2_amd64.deb

  # dpkg -i brasero_2.30.3-2_amd64.deb
  dpkg: dependency problems prevent configuration of brasero:
   brasero depends on libbrasero-media0 (= 2.30.3-2); however:
    Package libbrasero-media0 is not installed.
  dpkg: error processing brasero (--install):
   dependency problems - leaving unconfigured
  # apt-get install libbrasero-media0
  # dpkg -i brasero_2.30.3-2_amd64.deb
  $ brasero &

It starts. It remembers my data disc project and annoys me by popping up
with the usual protest about deep directories.

Loaded is a DVD+RW. (This type is reported to get spoiled and then needing
some kind of re-vitalization. I suspect that growisofs warns about an
existing ISO-9660 superblock. This could be silenced e.g. by overwriting
the first 64 kB of the medium with zeros.)
"Maximum speed", "Burn the image directly ..." ... "Burn".
It asks whether i want to blank the current disc. (That would probably be
such an overwrite with zeros.)
libisofs DEBUG messages appear ... 55 % ... 100 %.
I abort the integrity check in favor of my own means.
The media ejection is then as broken as was with the originally installed

Let's see what we got. Today the burner is /dev/sr0 :
  # mount /dev/sr0 /mnt

  $ diff -r libburn_dir /mnt/libburn_dir

yields complaints about missing .files. (Is that a bug or a feature ?)
No messages about differing file content.
The same positive result with
  $ xorriso -indev /dev/sr0 -compare_r libburn_dir /libburn_dir 2>&1 \
    | fgrep -v ' : st_' | fgrep -v 'annot find'

Well. For completeness the same with a CD-RW:

I get asked whether i want to blank the disc. I confirm. libisofs reports
about colliding dumb-ISO names (which is normal) ...
Oops ? The "Burning data DVD" window says "Ejecting Medium"
while libisofs says that it is still writing parts of the directory tree:
  brasero (libisofs)DEBUG : Writing ISO Path tables

After a timeout i get asked to eject manually. I confirm and get a
window "Error while burning. MEDIA: closed or not recordable,".
I take the opportunity to save the log.
  BraseroLibisofs called brasero_job_get_action
  BraseroLibisofs Finished track successfully
  BraseroLibisofs stopping
  BraseroLibburn called brasero_job_get_action
  BraseroLibburn creating input
  BraseroLibburn Precheck failed MEDIA: closed or not recordable,
  BraseroLibisofs stopping
  BraseroLibburn stopping
  BraseroLibburn closing connection for BraseroLibburn
  Session error : MEDIA: closed or not recordable,  (brasero_burn_record brasero-burn.c:2839)

This is reproducible again on a second try. It did work yesterday.
Regrettably not the problem i am hunting for.

  $ xorriso -outdev /dev/sr0 -blank fast
  ... 30 seconds of pacifier messages ...
  Media summary: 0 sessions, 0 data blocks, 0 data,  703m free

So now with a blank CD-RW ...
It asks again about blanking the medium.
I press "Cancel" and this time the program recognizes that it successfully
ejected the tray. It operates indeed on the burner, not on the DVD-ROM drive.

So what helped yesterday ?
End program and re-start.
Oh miracle ... it does not ask for blanking and libisofs reports 100%.
This time i let it check the files. Just to see whether it ejects properly.
The drive is terribly busy and the progress bar moves by a pixel every
5 seconds. Suddenly (after about 25 % of bar length) it switches to "Ejecting
medium" and again does not notice the physical ejection success.
I click "Cancel" and get a log file. It is full of comparison reports
of the particular files.

xorriso confirms that the image is as good as the others.


Have a nice day :)


More information about the Pkg-libburnia-devel mailing list