[Libburn-hackers] libburn failure

Philippe Rouquier bonfire-app at wanadoo.fr
Sat Oct 3 08:36:44 CDT 2009


Hi,

working on brasero I noticed a bug in libburn. If you tried to burn
several tracks to an audio disc with TAO and dummy option on, the burn
will fail when starting to burn the second track. As far as I understand
the problem is related to the fact that after the first track is burnt,
libburn asks the drive for the next writable address which in dummy mode
returns the same as for the first track that is 0 since nothing was
written...
To check my assumptions I installed cdrskin that shows the same problem:
with /usr/local/bin/cdrskin dev=/dev/sr0 -vvv -audio -tao -swab -dummy
AUDIO TRACKS
you get this 
cdrskin 0.6.8 : limited cdrecord compatibility wrapper for libburn
cdrskin: DEBUG : burn_drive_convert_fs_adr( /dev/sr0 )
cdrskin: DEBUG : burn_drive_is_enumerable_adr( /dev/sr0 ) is true
cdrskin: NOTE : greying out all drives besides given dev='/dev/sr0'
cdrskin: scanning for devices ...
cdrskin: ... scanning for devices done
cdrskin: track 1 data source : '/home/ykw/Test/caetano'
cdrskin: track 2 data source : '/home/ykw/Test/caetano.biw'
cdrskin: installed hard abort handler.
cdrskin: active drive number : 0  '/dev/sr0'
cdrskin: establishing fifo of 4194304 bytes
cdrskin_debug: checking track source for identity with drive
cdrskin: DEBUG : burn_drive_convert_fs_adr( /home/ykw/Test/caetano )
cdrskin: DEBUG : Nothing found for /home/ykw/Test/caetano
cdrskin_debug: track 1 fifo replaced source_address
'/home/ykw/Test/caetano' by '#5'
cdrskin_debug: attaching track 2 to fifo
cdrskin_debug: checking track source for identity with drive
cdrskin: DEBUG : burn_drive_convert_fs_adr( /home/ykw/Test/caetano.biw )
cdrskin: DEBUG : Nothing found for /home/ykw/Test/caetano.biw
cdrskin_debug: track 2 fifo replaced source_address
'/home/ykw/Test/caetano.biw' by '#8'
cdrskin: called as :  /usr/local/bin/cdrskin
cdrskin: beginning to burn disc
cdrskin: DEBUG : Async waiting after START UNIT (+ LOAD) succeeded after
0.1 seconds
cdrskin: DEBUG : Async START UNIT succeeded after 0.1 seconds
cdrskin: status 1 burn_disc_blank "The drive holds a blank disc"
Current: CD-RW
cdrskin_debug: track 1 telling burn_track_define_data() to pad up last
sector
cdrskin_debug: enforcing -pad on last -audio track
cdrskin_debug: track 2 telling burn_track_define_data() to pad up last
sector
cdrskin: NOTE : -dummy mode will prevent actual writing
cdrskin: Write type : TAO
Track 01: audio   38 MB        
Track 02: audio   38 MB        
Total size:       77 MB (08:50.40) = 34509 sectors
Lout start:       77 MB (08:52/40) = 34509 sectors
cdrskin_debug: k_speed= 0
Starting to write CD/DVD at speed MAX in dummy TAO mode for single
session.
Last chance to quit, starting real write in   0 seconds. Operation
starts.
Waiting for reader process to fill input buffer ... input buffer ready.
Starting new track at sector: 0
cdrskin: DEBUG : cd Profile= 0Ah , obs= 32768 , obs_pad= 0
cdrskin: DEBUG : TAO pre-track 01 : get_nwa(0)=1, d=0 ,
demand=35338240 , cap=736966656

Track 01:   38 of   38 MB written (fifo 100%) [buf 100%]  10.1x.cdrskin:
DEBUG : syncing cache
cdrskin: DEBUG : Async SYNCHRONIZE CACHE succeeded after 2.8 seconds
cdrskin: DEBUG : Closing track 01

cdrskin: working post-track (burning since 28 seconds)        cdrskin:
DEBUG : Async CLOSE TRACK SESSION succeeded after 0.1 seconds
cdrskin: DEBUG : TAO pre-track 02 : get_nwa(0)=1, d=17255 ,
demand=35338240 , cap=736966656


Track 01: Total bytes read/written: 40581452/40583760 (17255 sectors).
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17255,13): [5 21 02]  Invalid
address
cdrskin: NOTE : Padding up track to minimum size (+ 300 sectors)
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17255,16): [5 21 02]  Invalid
address
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17271,16): [5 21 02]  Invalid
address
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17287,16): [5 21 02]  Invalid
address
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17303,16): [5 21 02]  Invalid
address
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17319,16): [5 21 02]  Invalid
address
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17335,16): [5 21 02]  Invalid
address
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17351,16): [5 21 02]  Invalid
address
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17367,16): [5 21 02]  Invalid
address
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17383,16): [5 21 02]  Invalid
address
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17399,16): [5 21 02]  Invalid
address
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17415,16): [5 21 02]  Invalid
address
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17431,16): [5 21 02]  Invalid
address
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17447,16): [5 21 02]  Invalid
address
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17463,16): [5 21 02]  Invalid
address
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17479,16): [5 21 02]  Invalid
address
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17495,16): [5 21 02]  Invalid
address
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17511,16): [5 21 02]  Invalid
address
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17527,16): [5 21 02]  Invalid
address
cdrskin: DEBUG : SCSI error condition on command 2Ah WRITE(10): [5 21
02]  Invalid address
cdrskin: FATAL : SCSI error on write(17543,12): [5 21 02]  Invalid
address
cdrskin: DEBUG : syncing cache
cdrskin: DEBUG : Async SYNCHRONIZE CACHE succeeded after 0.1 seconds
cdrskin: DEBUG : Closing track 02
cdrskin: DEBUG : Async CLOSE TRACK SESSION succeeded after 0.1 seconds
cdrskin: DEBUG : Closing session

Fixating...
cdrskin: working post-track (burning since 29 seconds)        cdrskin:
DEBUG : Async CLOSE TRACK SESSION succeeded after 0.1 seconds
cdrskin: DEBUG : syncing cache
cdrskin: DEBUG : Async SYNCHRONIZE CACHE succeeded after 0.1 seconds
cdrskin: FATAL : Burn run failed

Track 02: Total bytes read/written: 30576/705600 (300 sectors).
Writing  time:  29.373s
Cdrskin: fifo had 21909 puts and 19861 gets.
Cdrskin: fifo was 0 times empty and 2856 times full, min fill was 99%.
Min drive buffer fill was 76%
cdrskin: burning failed
cdrskin: FATAL : burning failed.
cdrskin_debug: do_eject= 0
cdrskin_debug: demands_cdrecord_caps= 0 , demands_cdrskin_caps= 0

NOTICE the "cdrskin: DEBUG : TAO pre-track 02 : get_nwa(0)=1, d=17255 ,
demand=35338240 , cap=736966656"

with /usr/local/bin/cdrskin dev=/dev/sr0 -vvv -audio -tao
-swab /home/ykw/Test/caetan*
you get this
cdrskin 0.6.8 : limited cdrecord compatibility wrapper for libburn
cdrskin: DEBUG : burn_drive_convert_fs_adr( /dev/sr0 )
cdrskin: DEBUG : burn_drive_is_enumerable_adr( /dev/sr0 ) is true
cdrskin: NOTE : greying out all drives besides given dev='/dev/sr0'
cdrskin: scanning for devices ...
cdrskin: ... scanning for devices done
cdrskin: track 1 data source : '/home/ykw/Test/caetano'
cdrskin: track 2 data source : '/home/ykw/Test/caetano.biw'
cdrskin: installed hard abort handler.
cdrskin: active drive number : 0  '/dev/sr0'
cdrskin: establishing fifo of 4194304 bytes
cdrskin_debug: checking track source for identity with drive
cdrskin: DEBUG : burn_drive_convert_fs_adr( /home/ykw/Test/caetano )
cdrskin: DEBUG : Nothing found for /home/ykw/Test/caetano
cdrskin_debug: track 1 fifo replaced source_address
'/home/ykw/Test/caetano' by '#5'
cdrskin_debug: attaching track 2 to fifo
cdrskin_debug: checking track source for identity with drive
cdrskin: DEBUG : burn_drive_convert_fs_adr( /home/ykw/Test/caetano.biw )
cdrskin: DEBUG : Nothing found for /home/ykw/Test/caetano.biw
cdrskin_debug: track 2 fifo replaced source_address
'/home/ykw/Test/caetano.biw' by '#8'
cdrskin: called as :  /usr/local/bin/cdrskin
cdrskin: beginning to burn disc
cdrskin: DEBUG : Async waiting after START UNIT (+ LOAD) succeeded after
0.1 seconds
cdrskin: DEBUG : Async START UNIT succeeded after 0.1 seconds
cdrskin: status 1 burn_disc_blank "The drive holds a blank disc"
Current: CD-RW
cdrskin_debug: track 1 telling burn_track_define_data() to pad up last
sector
cdrskin_debug: enforcing -pad on last -audio track
cdrskin_debug: track 2 telling burn_track_define_data() to pad up last
sector
cdrskin: Write type : TAO
Track 01: audio   38 MB        
Track 02: audio   38 MB        
Total size:       77 MB (08:50.40) = 34509 sectors
Lout start:       77 MB (08:52/40) = 34509 sectors
cdrskin_debug: k_speed= 0
Starting to write CD/DVD at speed MAX in real TAO mode for single
session.
Last chance to quit, starting real write in   0 seconds. Operation
starts.
Waiting for reader process to fill input buffer ... input buffer ready.
Starting new track at sector: 0
cdrskin: DEBUG : cd Profile= 0Ah , obs= 32768 , obs_pad= 0
cdrskin: DEBUG : TAO pre-track 01 : get_nwa(0)=1, d=0 ,
demand=35338240 , cap=736966656

Track 01:   38 of   38 MB written (fifo 100%) [buf 100%]  10.1x.cdrskin:
DEBUG : syncing cache
cdrskin: DEBUG : Async SYNCHRONIZE CACHE succeeded after 1.7 seconds
cdrskin: DEBUG : Closing track 01

cdrskin: working post-track (burning since 26 seconds)        cdrskin:
DEBUG : Async CLOSE TRACK SESSION succeeded after 0.1 seconds
cdrskin: DEBUG : TAO pre-track 02 : get_nwa(17407)=1, d=17255 ,
demand=35338240 , cap=701317120


Track 01: Total bytes read/written: 40581452/40583760 (17255 sectors).

(I cut the log)

NOTICE the cdrskin: DEBUG : TAO pre-track 02 : get_nwa(17407)=1,
d=17255 , demand=35338240 , cap=701317120 which indicate the right
address this time.

Hope this helps

Philippe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman-mail1.python-hosting.com/pipermail/libburn-hackers/attachments/20091003/2bac439f/attachment.htm


More information about the Libburn-hackers mailing list