Bug 429584

Summary: growisofs crashes @ 99%
Product: [Applications] k3b Reporter: Ian Proudler <i.proudler>
Component: Burning/HardwareAssignee: k3b developers <k3b>
Status: REPORTED ---    
Severity: crash CC: gordoneki, michalm, scdbackup, trueg, zhaixiang
Priority: NOR    
Version: 19.12   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Ian Proudler 2020-11-24 09:47:02 UTC
SUMMARY

Burning .iso file to DVD-R fails when growisofs reaches 99% independent of file size, media and hardware. Windows 10 virtual machine with same hardware OK. Writing to a DVD-RW is OK.

STEPS TO REPRODUCE
1. Insert blank DVD-R into optical drive.
2. Use K3b to burn .iso file.

OBSERVED RESULT
K3b raises an error. Debug information shows:
growisofs: 7.1
Executing 'builtin_dd if=/dev/fd/0 of=/dev/sr0 obs=32k seek=0'
/dev/sr0: engaging DVD-R DAO upon user request...
/dev/sr0: reserving 1938739 blocks
/dev/sr0: "Current Write Speed" is 8.2x1352KBps.
..................
4511236096/4546260992 (99.2%) @11.9x, remaining 0:03 RBU 100.0% UBU  99.6%
:-[ WRITE@LBA=21df40h failed with SK=5h/ASC=21h/ACQ=04h]: Invalid argument
:-( write failed: Invalid argument
/dev/sr0: flushing cache

EXPECTED RESULT
.iso file copied to DVD-R

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 
Ubuntu 20.04.1 LTS
Linux 5.4.0-54-generic #60-Ubuntu SMP Fri Nov 6 10:37:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

KDE Plasma Version: 5.18.5
KDE Frameworks Version:  5.68.0
Qt Version:  5.12.8

growisofs: 7.1

ADDITIONAL INFORMATION

I have two PCs both running Kubuntu 20.04.1. Both are the result of an upgrade from Kubuntu 18.04. They have different motherboards and slightly different optical drives: Samsung SH-S223F & SH-S223B.

I generated a .iso file. 4.511 GB.

Burning the same .iso file to Verbatim 16x DVD-R disks fails on both machines.

On the machine with the SH-S223Bdrive:

Burning the same .iso file to a 4x Philips DVE-RW works.

Burning the same .iso file to an Imation 8x DVD-R disks fails.

This PC has VirtualBox installed and a Windows 10 virtual machine. Burning the .iso file to a Verbatim 16x DVD-R disk works.

NB. I manually set the writing speed since K3b detected the wrong speed on the Verbatim disks. They are 16x and K3b initially tried to use 21x. I tried 12x and 8x with the Verbatim disks without success. I used 8x for the Imation disk.

The 4.511 GB .iso file nearly fills the DVD-r (4.7 GB) so I generated a smaller .iso file: 3.927 GB.

This also failed:
growisofs
…………………..
 3927834624/3970537472 (98.9%) @8.0x, remaining 0:04 RBU 100.0% UBU  99.7%
:-[ WRITE@LBA=1d9530h failed with SK=5h/ASC=21h/ACQ=04h]: Invalid argument
:-( write failed: Invalid argument
/dev/sr0: flushing cache

The dmesg output was:
[21592.617939] ata6.00: exception Emask 0x10 SAct 0x0 SErr 0x400100 action 0x6 frozen
[21592.617946] ata6.00: irq_stat 0x08000000, interface fatal error
[21592.617952] ata6: SError: { UnrecovData Handshk }
[21592.617969] ata6.00: cmd a0/01:00:00:00:80/00:00:00:00:00/a0 tag 31 dma 32768 out
                        Write(10) 2a 00 00 1d 95 30 00 00 03 00res 50/00:03:00:00:80/00:00:00:00:00/a0 Emask 0x10 (ATA bus error)
[21592.617973] ata6.00: status: { DRDY }
[21592.617979] ata6: hard resetting link
[21592.932935] ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[21592.933932] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.SAT0.SPT5._GTF.DSSP], AE_NOT_FOUND (20190816/psargs-330)
[21592.933948] No Local Variables are initialized for Method [_GTF]
[21592.933950] No Arguments are initialized for method [_GTF]
[21592.933954] ACPI Error: Aborting method \_SB.PCI0.SAT0.SPT5._GTF due to previous error (AE_NOT_FOUND) (20190816/psparse-529)
[21592.934768] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.SAT0.SPT5._GTF.DSSP], AE_NOT_FOUND (20190816/psargs-330)
[21592.934782] No Local Variables are initialized for Method [_GTF]
[21592.934784] No Arguments are initialized for method [_GTF]
[21592.934787] ACPI Error: Aborting method \_SB.PCI0.SAT0.SPT5._GTF due to previous error (AE_NOT_FOUND) (20190816/psparse-529)
[21592.934803] ata6.00: configured for UDMA/100
[21592.935080] ata6: EH complete
Comment 1 Ian Proudler 2020-11-26 16:33:55 UTC
I bought some TDK 16x DVD+R disks. More or less the same issue but started to have issues around 89%:

growisofs: 7.1

growisofs
-----------------------
Executing 'builtin_dd if=/dev/fd/0 of=/dev/sr0 obs=32k seek=0'
/dev/sr0: "Current Write Speed" is 16.4x1352KBps.
          0/4535754752 ( 0.0%) @0x, remaining ??:?? RBU 100.0% UBU   0.0%
=== last message repeated 2 times. ===
     360448/4535754752 ( 0.0%) @0.1x, remaining 2726:14 RBU 100.0% UBU  76.7%
...................
4030693376/4535754752 (88.9%) @0.0x, remaining 0:36 RBU 100.0% UBU 100.0%
=== last message repeated 2 times. ===
 4030693376/4535754752 (88.9%) @0.0x, remaining 0:37 RBU 100.0% UBU 100.0%
=== last message repeated 3 times. ===
 4030693376/4535754752 (88.9%) @0.0x, remaining 0:38 RBU 100.0% UBU 100.0%
=== last message repeated 2 times. ===
 4088266752/4535754752 (90.1%) @12.5x, remaining 0:34 RBU 100.0% UBU  99.6%
 4088266752/4535754752 (90.1%) @0.0x, remaining 0:34 RBU 100.0% UBU 100.0%
 4088266752/4535754752 (90.1%) @0.0x, remaining 0:35 RBU 100.0% UBU 100.0%
=== last message repeated 3 times. ===
 4088266752/4535754752 (90.1%) @0.0x, remaining 0:36 RBU 100.0% UBU 100.0%
=== last message repeated 3 times. ===
 4088266752/4535754752 (90.1%) @0.0x, remaining 0:37 RBU 100.0% UBU 100.0%
:-[ WRITE@LBA=1e75c0h failed with SK=3h/WRITE ERROR]: Input/output error
:-( write failed: Input/output error
/dev/sr0: flushing cache
/dev/sr0: closing track
/dev/sr0: closing disc
Comment 2 Ian Proudler 2020-12-05 10:19:13 UTC
For completeness I thought I'd better try burning a new TDK DVR+R using the Windows VM just to confirm that route worked for them as well as the Verbatim ones. It did not. The error message led me to a set of posts that suggested the problem could be out-of-date firmware of the optical drive. 

The Samsung drive is circa 2009 but I could not find a support page for it so I'm struck with the firmware I have. I decided to buy a new drive (ASUS). Now I can successfully burn both the new TDK disks and the old Verbatim ones. 

I'm now not sure if this issue should be classed as a bug or not.
Comment 3 Justin Zobel 2022-11-06 23:48:20 UTC
Thank you for reporting this issue in KDE software. As it has been a while since this issue was reported, can we please ask you to see if you can reproduce the issue with a recent software version?

If you can reproduce the issue, please change the status to "REPORTED" when replying. Thank you!
Comment 4 Ian Proudler 2022-11-09 09:58:49 UTC
As requested, I tried burning a DVD-R again. The processes failed again (see below).
Note that this time I asked k3b to only simulate the burning process (I was curious to see what it did in this mode and possibly avoid destroying a DVD-R). I am happy to try to burn a DVD-R for real if requested.


The software on my system has been updated since my last post but the hardware is the same:
Operating System: Kubuntu 22.04
KDE Plasma Version: 5.24.6
KDE Frameworks Version: 5.92.0
Qt Version: 5.15.3
Kernel Version: 5.15.0-52-generic (64-bit)
Graphics Platform: X11
Processors: 4 × Intel® Core™2 Quad CPU Q8200 @ 2.33GHz
Memory: 3.8 GiB of RAM
Graphics Processor: Mesa Intel® G41
Optical Drive: TSSTcorp CDDVDW SH-S223F

k3B Error Message:

Burned media
-----------------------
DVD-R Sequential

Devices
-----------------------
TSSTcorp CDDVDW SH-S223F SB00 (/dev/sr0, CD-R, CD-RW, CD-ROM, DVD-ROM, DVD-R, DVD-RW, DVD-R DL, DVD+R, DVD+RW, DVD+R DL) [DVD-ROM, DVD-R Sequential, DVD-R Dual Layer Sequential, DVD-R Dual Layer Jump, DVD-RAM, DVD-RW Restricted Overwrite, DVD-RW Sequential, DVD+RW, DVD+R, DVD+R Dual Layer, CD-ROM, CD-R, CD-RW] [SAO, TAO, RAW, SAO/R96P, SAO/R96R, RAW/R16, RAW/R96P, RAW/R96R, Restricted Overwrite, Layer Jump] [%7]

System
-----------------------
K3b Version: 21.12.3
KDE Version: 5.91.0
Qt Version:  5.15.3
Kernel:      5.15.0-52-generic

Used versions
-----------------------
growisofs: 7.1

growisofs
-----------------------
Executing 'builtin_dd if=/dev/fd/0 of=/dev/sr0 obs=32k seek=0'
/dev/sr0: engaging DVD-R DAO upon user request...
/dev/sr0: reserving 1358065 blocks
/dev/sr0: "Current Write Speed" is 18.4x1352KBps.
     655360/2781317120 ( 0.0%) @0.0x, remaining 424:17 RBU 100.0% UBU   4.8%
     655360/2781317120 ( 0.0%) @0.0x, remaining 707:09 RBU 100.0% UBU 100.0%
     655360/2781317120 ( 0.0%) @0.0x, remaining 919:18 RBU 100.0% UBU 100.0%
     655360/2781317120 ( 0.0%) @0.0x, remaining 1131:27 RBU 100.0% UBU 100.0%
..........
2547220480/2781317120 (91.6%) @12.6x, remaining 0:17 RBU 100.0% UBU  96.4%
 2613772288/2781317120 (94.0%) @14.4x, remaining 0:12 RBU  97.5% UBU  97.9%
 2680979456/2781317120 (96.4%) @14.6x, remaining 0:07 RBU 100.0% UBU  97.6%
:-[ WRITE@LBA=14b8f0h failed with SK=5h/ASC=21h/ACQ=04h]: Invalid argument
:-( write failed: Invalid argument
/dev/sr0: flushing cache

growisofs command:
-----------------------
/usr/bin/growisofs -Z /dev/sr0=/dev/fd/0 -use-the-force-luke=notray -use-the-force-luke=tty -use-the-force-luke=4gms -use-the-force-luke=tracksize:1358065 -use-the-force-luke=dummy -use-the-force-luke=dao:1358065 -dvd-compat -speed=18 -use-the-force-luke=bufsize:32m
Comment 5 Gordon 2024-02-25 22:25:59 UTC
"independent of file size" - Which file sizes have you tried?

If the file size is around the maximum capacity of the disc, some miscalculation such as the size difference between GB (gigabytes) and GiB (gibibytes) might have caused the ISO file to overshoot the capacity of the disc.

1 GiB = 1,073,741,824 bytes 
1 GB = 1,000,000,000 bytes
Comment 6 Ian Proudler 2024-02-26 15:53:23 UTC
Re. "independent of file size" - Which file sizes have you tried?

I'm sorry it's been a long time since I first raised this issue and I don't remember what sizes I tried. I imagine I made sure that the file would fit.  I've just tried to burn a 2.5GiB .iso (in simulate mode) and it failed (see below).

Note I have been using k3b with my 'new' optical drive without any trouble for the past three years so it seems to be an issue with the drive itself. It is an old drive and I don't use it to write any more so I wonder if we should just close this issue. If you want more information I'm happy to help. 

Note my system has changed since the last time I tried using the 'old' drive.

---------------------------------------------
Operating System: Kubuntu 22.04
KDE Plasma Version: 5.24.7
KDE Frameworks Version: 5.92.0
Qt Version: 5.15.3
Kernel Version: 5.15.0-97-generic (64-bit)
Graphics Platform: X11
Processor: 1 × Intel® Core™ i7-4770 CPU @ 3.40GHz
Memory: 7.6 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 4600
---------------------------------------------------
Burned media
-----------------------
DVD-R Sequential

Devices
-----------------------
TSSTcorp CDDVDW SH-S223F SB00 (/dev/sr0, CD-R, CD-RW, CD-ROM, DVD-ROM, DVD-R, DVD-RW, DVD-R DL, DVD+R, DVD+RW, DVD+R DL) [DVD-ROM, DVD-R Sequential, DVD-R Dual Layer Sequential, DVD-R Dual Layer Jump, DVD-RAM, DVD-RW Restricted Overwrite, DVD-RW Sequential, DVD+RW, DVD+R, DVD+R Dual Layer, CD-ROM, CD-R, CD-RW] [SAO, TAO, RAW, SAO/R96P, SAO/R96R, RAW/R16, RAW/R96P, RAW/R96R, Restricted Overwrite, Layer Jump] [%7]

System
-----------------------
K3b Version: 21.12.3
KDE Version: 5.91.0
Qt Version:  5.15.3
Kernel:      5.15.0-97-generic

Used versions
-----------------------
growisofs: 7.1

growisofs
-----------------------
Executing 'builtin_dd if=/dev/fd/0 of=/dev/sr0 obs=32k seek=0'
/dev/sr0: engaging DVD-R DAO upon user request...
/dev/sr0: reserving 1289054 blocks
/dev/sr0: "Current Write Speed" is 8.2x1352KBps.
     655360/2639982592 ( 0.0%) @0.0x, remaining 469:51 RBU 100.0% UBU   4.8%
     655360/2639982592 ( 0.0%) @0.0x, remaining 671:12 RBU 100.0% UBU 100.0%
     655360/2639982592 ( 0.0%) @0.0x, remaining 872:34 RBU 100.0% UBU 100.0%
     655360/2639982592 ( 0.0%) @0.0x, remaining 1141:03 RBU 100.0% UBU 100.0%
     655360/2639982592 ( 0.0%) @0.0x, remaining 1342:25 RBU 100.0% UBU 100.0%
     655360/2639982592 ( 0.0%) @0.0x, remaining 1543:47 RBU 100.0% UBU 100.0%
    8749056/2639982592 ( 0.3%) @1.8x, remaining 135:20 RBU 100.0% UBU 100.0%
   36503552/2639982592 ( 1.4%) @6.0x, remaining 35:39 RBU 100.0% UBU 100.0%
   64258048/2639982592 ( 2.4%) @6.0x, remaining 22:02 RBU 100.0% UBU 100.0%
   85098496/2639982592 ( 3.2%) @4.5x, remaining 18:30 RBU 100.0% UBU 100.0%
   
   ...............................
   
 2448588800/2639982592 (92.8%) @8.0x, remaining 0:24 RBU 100.0% UBU  99.9%
 2484469760/2639982592 (94.1%) @7.8x, remaining 0:19 RBU 100.0% UBU  99.9%
 2513338368/2639982592 (95.2%) @6.3x, remaining 0:15 RBU 100.0% UBU  99.9%
 2550366208/2639982592 (96.6%) @8.0x, remaining 0:11 RBU  12.1% UBU  99.9%
 2556788736/2639982592 (96.8%) @1.4x, remaining 0:10 RBU 100.0% UBU  99.9%
 2593783808/2639982592 (98.3%) @8.0x, remaining 0:05 RBU 100.0% UBU  99.9%
:-[ WRITE@LBA=13ab50h failed with SK=5h/ASC=21h/ACQ=04h]: Invalid argument
:-( write failed: Invalid argument
/dev/sr0: flushing cache

growisofs command:
-----------------------
/usr/bin/growisofs -Z /dev/sr0=/dev/fd/0 -use-the-force-luke=notray -use-the-force-luke=tty -use-the-force-luke=4gms -use-the-force-luke=tracksize:1289054 -use-the-force-luke=dummy -use-the-force-luke=dao:1289054 -dvd-compat -speed=8 -use-the-force-luke=bufsize:32m
Comment 7 Thomas Schmitt 2024-02-27 07:30:15 UTC
Hi,

medium type DVD-R, write type DAO, not aligned to full 16 blocks,
and failure within the last 16 blocks of the run.

This matches
  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=794868
  "dvd+rw-tools: Burn failure of growisofs on DVD-R[W] with write type DAO"

Consider to check whether a patch like this is applied:
-------------------------------------------------------------------
--- growisofs_mmc-7.1-11.cpp    2015-08-07 13:07:52.000000000 +0200
+++ growisofs_mmc.cpp   2015-08-07 14:06:31.375597960 +0200
@@ -540,7 +540,7 @@ ssize_t poor_mans_pwrite64 (int fd,const
        // own higher HZ value and disrespects the user-land one.
        // Sending them down as milliseconds is just safer...
        //
-       if (!(errcode=cmd.transport (WRITE,(void *)buff,size)))
+       if (!(errcode=cmd.transport (WRITE,(void *)buff,nbl*2048)))
            break;

        //--- WRITE failed ---//
-------------------------------------------------------------------

(The write error with DVD+R indicates a bad relationship between drive
and medium.)

Have a nice day :)

Thomas
Comment 8 Leslie Zhai 2024-03-30 06:39:46 UTC
Hi Thomas,

I miss you so much!

Loooooooong time no see :)

Miss you,
Leslie Zhai
Comment 9 Thomas Schmitt 2024-03-30 10:25:09 UTC
Hi,

Leslie Zhai wrote:
> Loooooooong time no see :)

Hehe. I'm still around, trying to uphold ISO 9660 and burning on free
operating systems. (Just no talent for working on GUIs.)

Stay well and ...

Have a nice day :)

Thomas