Bug#688229: Burning data DVD looks successful but mounting fails

2012-10-11 Thread Thomas Schmitt
Hi,

 I am also going to print out the sector size. (Or just use GDB.)

The loop condition (read_bytes == sector_size) suggests that
it must be 2048. Only this alignment is guaranteed for the
output of libisofs.

(Actually it would be a good reason for the 50 % bug if libisofs
 would not obey this alignment. But i am sure it does.)


 BraseroBurn: (at burn-libburn-common.c:218) BraseroLibburn Premature
 end of input encountered. Missing: 2048 bytes

This is a message of libburn.
Obviously the image size was pre-announced to libburn and it
noticed a shortage when the input stream ended.

Regrettably the number 2048 might not be an indication of the exact
missing amount.
It should be exact if libburn-1.2.4 is in use.
Earlier versions always reported 2048.

Fixed by http://libburnia-project.org/changeset/4762

Libburn version can be inquired by
  cdrskin -version
libburn-1.2.4 should be installed as
 libburn.so.4.77.0


 $ dd if=/tmp/my_emulated_drive bs=2048 skip=16 count=1 | od -c
000 377 330 377 340  \0 020   J   F   I   F  \0 001 001 001  \0 H

This looks like the data start of a JPEG file.
The data blocks of file content come after the trees.
So this time the burn seems to have skipped even more blocks than
with the original run.


 $ dd if=/tmp/my_emulated_drive bs=30720 count=1 | od -c
 004 002   C   D   0   0   1 001  \0  \0  \0  \0  \0 

This is the Joliet Volume Descriptor.
It should sit at block 17.

So it looks like we lose 17 blocks at start.
If the image does not contain only very few files, then we
seem to lose further blocks inbetween.


Have a nice day :)

Thomas


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#688229: Burning data DVD looks successful but mounting fails

2012-10-11 Thread Thomas Schmitt
Hi,

i have to correct myself:

   004 002   C   D   0   0   1 001  \0  \0  \0  \0  \0 

i wrote:
 It should sit at block 17.
 So it looks like we lose 17 blocks at start.

Well, it sits now at block 8.
So we lost 9 blocks before it.


Have a nice day :)

Thomas


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#688229: Burning data DVD looks successful but mounting fails

2012-10-11 Thread Thomas Schmitt
Hi,

staring at lines 201, 202, and 216 of
  http://git.gnome.org/browse/brasero/tree/plugins/libburnia/burn-libisofs.c

i realize that this loop drops every second block !


  read_bytes = priv-libburn_src-read_xt (priv-libburn_src, buf, sector_size);
  while (priv-libburn_src-read_xt (priv-libburn_src, buf, sector_size) == 
sector_size) {

 ... process block that was read by while() statement ...

 read_bytes = priv-libburn_src-read_xt (priv-libburn_src, buf, 
sector_size);
  }


This would well explain why block 17 ends up at block 8.


It is tempting to also claim victory over the 50 % bug, but i
cannot yet make up a plausible explanation. With the 50% bug
  https://bugs.launchpad.net/ubuntu/+source/brasero/+bug/780117
it is libisofs which reports 50 % progress, when loop or libburn
close the shop.

The many CD complaints in this Ubuntu bug could well be caused
by above killer loop, though.


Have a nice day :)

Thomas


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#688229: Burning data DVD looks successful but mounting fails

2012-10-11 Thread Paul Menzel
Dear Thomas,


Am Donnerstag, den 11.10.2012, 11:40 +0200 schrieb Thomas Schmitt:

 staring at lines 201, 202, and 216 of
   http://git.gnome.org/browse/brasero/tree/plugins/libburnia/burn-libisofs.c
 
 i realize that this loop drops every second block !
 
 
   read_bytes = priv-libburn_src-read_xt (priv-libburn_src, buf, 
 sector_size);
   while (priv-libburn_src-read_xt (priv-libburn_src, buf, sector_size) == 
 sector_size) {
 
  ... process block that was read by while() statement ...
 
  read_bytes = priv-libburn_src-read_xt (priv-libburn_src, buf, 
 sector_size);
   }
 
 
 This would well explain why block 17 ends up at block 8.
 
 
 It is tempting to also claim victory over the 50 % bug, but i
 cannot yet make up a plausible explanation. With the 50% bug
   https://bugs.launchpad.net/ubuntu/+source/brasero/+bug/780117
 it is libisofs which reports 50 % progress, when loop or libburn
 close the shop.
 
 The many CD complaints in this Ubuntu bug could well be caused
 by above killer loop, though.

As already spoilered in my reply to #690207 [1], with the libburn output
patch attached it confirms that half of the bytes are missing.

BraseroBurn: (at burn-libburn-common.c:218) BraseroLibburn Premature 
end of input encountered. Missing: 48709632 bytes

These are around 47 MB and indeed comparing the sizes yields the
following.

$ du -sh folder
94M /home/joey/folder
$ du -sh /tmp/my_emulated_drive 
47M /tmp/my_emulated_drive

So all the bugs seem to be the same and Brasero just displays the error
differently or it is not noticeable with smaller amounts that the
progress bar stopped earlier.

I will try to cook up a patch for fixing the loop now.


Thanks,

Paul


[1] http://bugs.debian.org/690207


signature.asc
Description: This is a digitally signed message part


Bug#688229: Burning data DVD looks successful but mounting fails

2012-10-11 Thread Paul Menzel
Dear Thomas,


Am Donnerstag, den 11.10.2012, 13:19 +0200 schrieb Paul Menzel:

 Am Donnerstag, den 11.10.2012, 11:40 +0200 schrieb Thomas Schmitt:
 
  staring at lines 201, 202, and 216 of
http://git.gnome.org/browse/brasero/tree/plugins/libburnia/burn-libisofs.c
  
  i realize that this loop drops every second block !
  
  
read_bytes = priv-libburn_src-read_xt (priv-libburn_src, buf, 
  sector_size);
while (priv-libburn_src-read_xt (priv-libburn_src, buf, sector_size) 
  == sector_size) {
  
   ... process block that was read by while() statement ...
  
   read_bytes = priv-libburn_src-read_xt (priv-libburn_src, buf, 
  sector_size);
}
  
  
  This would well explain why block 17 ends up at block 8.
  
  
  It is tempting to also claim victory over the 50 % bug, but i
  cannot yet make up a plausible explanation. With the 50% bug
https://bugs.launchpad.net/ubuntu/+source/brasero/+bug/780117
  it is libisofs which reports 50 % progress, when loop or libburn
  close the shop.
  
  The many CD complaints in this Ubuntu bug could well be caused
  by above killer loop, though.
 
 As already spoilered in my reply to #690207 [1], with the libburn output
 patch attached it confirms that half of the bytes are missing.
 
 BraseroBurn: (at burn-libburn-common.c:218) BraseroLibburn Premature 
 end of input encountered. Missing: 48709632 bytes
 
 These are around 47 MB and indeed comparing the sizes yields the
 following.
 
 $ du -sh folder
 94M   /home/joey/folder
 $ du -sh /tmp/my_emulated_drive 
 47M   /tmp/my_emulated_drive
 
 So all the bugs seem to be the same and Brasero just displays the error
 differently or it is not noticeable with smaller amounts that the
 progress bar stopped earlier.
 
 I will try to cook up a patch for fixing the loop now.

It looks like it is as simple as the following.

diff --git a/plugins/libburnia/burn-libisofs.c 
b/plugins/libburnia/burn-libisofs.c
index 3c25224..3919281 100644
--- a/plugins/libburnia/burn-libisofs.c
+++ b/plugins/libburnia/burn-libisofs.c
@@ -199,7 +199,7 @@ brasero_libisofs_write_image_to_fd_thread (BraseroLibisofs 
*self)
 
BRASERO_JOB_LOG (self, Writing to pipe with sector size %i bytes, 
sector_size);
read_bytes = priv-libburn_src-read_xt (priv-libburn_src, buf, 
sector_size);
-   while (priv-libburn_src-read_xt (priv-libburn_src, buf, sector_size) 
== sector_size) {
+   while (read_bytes == sector_size) {
if (priv-cancel)
break;

I am building it right now.


Thanks,

Paul


 [1] http://bugs.debian.org/690207


signature.asc
Description: This is a digitally signed message part


Bug#688229: Burning data DVD looks successful but mounting fails

2012-10-11 Thread Thomas Schmitt
Hi,

 -   while (priv-libburn_src-read_xt (priv-libburn_src, buf, 
 sector_size) == sector_size) {
 +   while (read_bytes == sector_size) {
 I am building it right now.


Crossing fingers ...


Have a nice day :)

Thomas


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#688229: Burning data DVD looks successful but mounting fails

2012-10-11 Thread Paul Menzel
Dear Thomas,


Am Donnerstag, den 11.10.2012, 15:06 +0200 schrieb Thomas Schmitt:

  -   while (priv-libburn_src-read_xt (priv-libburn_src, buf, 
  sector_size) == sector_size) {
  +   while (read_bytes == sector_size) {
  I am building it right now.
 
 Crossing fingers ...

That helped. After taking some time to figure out that I had not
actually installed the build patched packages, it *worked* indeed!
Brasero even plays a sound on success.

Mounting the image works and just for completeness here is the ISO9660
header(?).

$ dd if=/tmp/my_emulated_drive bs=2048 skip=16 count=1 | od -c
1+0 Datensätze ein
1+0 Datensätze aus
2048 Bytes (2,0 kB) kopiert, 0,000105318 s, 19,4 MB/s
000 001   C   D   0   0   1 001  \0
020
040   D   a   t   e   n   -   C   D
060   /   D   V   D   (   1   1   O   k   t   1   2   )
100  \0  \0  \0  \0  \0  \0  \0  \0
120 317 271  \0  \0  \0  \0 271 317  \0  \0  \0  \0  \0  \0  \0  \0
140  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
160  \0  \0  \0  \0  \0  \0  \0  \0 001  \0  \0 001 001  \0  \0 001
200  \0  \b  \b  \0 030  \0  \0  \0  \0  \0  \0 030 030  \0  \0  \0
220  \0  \0  \0  \0  \0  \0  \0 031  \0  \0  \0  \0 \0 023  \0
240  \0  \0  \0  \0  \0 023  \0  \b  \0  \0  \0  \0  \b  \0   p  \n
260  \v  \r 032   /  \0 002  \0  \0 001  \0  \0 001 001  \0   D   a
300   t   e   n   -   C   D   /   D   V   D   (   1   1   O
320   k   t   1   2   )
340
*
460   B   R
500   A   S   E   R   O   -   3   .   4   .   1
520
*
660   P   A
700   U   L   M   E   N   Z   E   L
720
*
0001440   2   0   1
0001460   2   1   0   1   1   1   3   2   6   4   7   0   0  \0   2   0
0001500   1   2   1   0   1   1   1   3   2   6   4   7   0   0  \0  \0
0001520  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
*
0001560  \0 001  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
0001600  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
*
0004000

Hmm, it encodes the name in there. To all whistle blowers out there: Do
not use Brasero without configuring beforehand. ;-)

Thomas, I am going to write the commit message now.


Thanks,

Paul


PS: Thomas, reading the libburnia start page [1], I see you take
donations. If some users, benefiting from this patch want to donate
something, I would like the libburnia project to have it. So it would be
great if you could give me the necessary instructions.


[1] http://libburnia-project.org/


signature.asc
Description: This is a digitally signed message part


Bug#688229: Burning data DVD looks successful but mounting fails

2012-10-11 Thread Thomas Schmitt
Hi,

 000 001   C   D   0   0   1 001  \0 

Yes. That is the start of a Primary Volume Descriptor block.

Please mount the medium and use diff to compare the files in
the image with their originals on hard disk. Just to be sure.
(Mounting does not check all blocks in the image for sanity.)


 Hmm, it encodes the name in there. To all whistle blowers out there: Do
 not use Brasero without configuring beforehand. ;-)

(Who told your computer your full name on the first hand ?)

ECMA-119 says about that field in the PVD:

8.4.21 Data Preparer Identifier (BP 447 to 574)
 This field shall specify an identification of the person or other
 entity which controls the preparation of the data to be recorded
 on the Volume Group of which the volume is a member.

I would rather use it to identify the image generating program.
(I do so in xorriso. E.g.:
  XORRISO-1.2.5 2012.09.15.170346, LIBISOBURN-1.2.5, LIBISOFS-1.2.5, 
LIBBURN-1.2.5
)

Brasero mentions itself as:
8.4.20 Publisher Identifier (BP 319 to 446)
 This field shall specify an identification of the user who specified
 what shall be recorded on the Volume Group of which the volume is a
 member.

I would deem this field more appropriate to rat out Paul Menzel. :))

mkisofs has a third opinion on that. It advertises itself in:
8.4.22 Application Identifier (BP 575 to 702)
 This field shall specify an identification of the specification of
 how the data are recorded on the Volume Group of which the volume
 is a member.



 PS: Thomas, reading the libburnia start page [1], I see you take
 donations. If some users, benefiting from this patch want to donate
 something, I would like the libburnia project to have it. So it would be
 great if you could give me the necessary instructions.

If you would like to donate, please mail us:
 mario.danic [at] gmail [dot] com, Cc: scdbackup [at] gmx [dot] net.

I personally can accept donations only by my german bank account.
Possibly this is feasible within the EU even with smaller
amounts. 
Our project founder Mario Danic has a paypal account, afaik.
I understand he has to pay money for the web hoster.


Have a nice day :)

Thomas


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#688229: Burning data DVD looks successful but mounting fails

2012-10-11 Thread Paul Menzel
Control: forwarded -1 https://bugzilla.gnome.org/show_bug.cgi?id=655601
Control: tags -1 patch
Control: found -1 2.91.93-1
Control: affects -1 brasero


Am Donnerstag, den 11.10.2012, 15:44 +0200 schrieb Paul Menzel:

 Am Donnerstag, den 11.10.2012, 15:06 +0200 schrieb Thomas Schmitt:
 
   -   while (priv-libburn_src-read_xt (priv-libburn_src, buf, 
   sector_size) == sector_size) {
   +   while (read_bytes == sector_size) {
   I am building it right now.
  
  Crossing fingers ...

[…]

 Thomas, I am going to write the commit message now.

Please find the patch attached.

[…]


Thanks,

Paul
From 17ad074e2ad8e3881afae148594a770f3dd7f228 Mon Sep 17 00:00:00 2001
From: Paul Menzel paulepan...@users.sourceforge.net
Date: Thu, 11 Oct 2012 14:40:06 +0200
Subject: [PATCH] Libburnia plugin: Fix while loop in `brasero_libisofs_write_image_to_fd_thread()` (#655601)

In commit 1b8397ee [1]

commit 1b8397ee252df2d554682ca2d694d5937fbf6e39
Author: Philippe Rouquier bonfire-...@wanadoo.fr
Date:   Tue Oct 5 10:10:17 2010 +0200

Fix for #630651 [2] - Basero creating incomplete image (.ISO) files

distributed since Brasero 2.91.1

$ git tag --contains 1b8397ee252df2d554682ca2d694d5937fbf6e39 | sort | head -n 1
BRASERO_2_91_1

a small bug was introduced by forgetting to substitude a command with a newly introduced variable in the loop condition. This broke the loop reading out the data to be written to the disc.

This small error had a huge impacted as writing images on the fly always failed, because only half of the image was written to the disc. Several bug reports exist for this problem and are most likely due to this problem [3][4][5].

Substituting this command with the variable fixes the problem reported in GNOME Bugzilla bug 655601.

Creating this patch would not have been possible without the invaluable and quick observations and explanations of Thomas Schmitt from the libburnia project [7]. In the end Michael Biebl from the Debian project stepped up to look into this problem and bisected this problem to the above commit. Thomas Schmitt pointed out the error afterward. A big thanks to both of them and everybody else reporting errors and providing logs!

[1] http://git.gnome.org/browse/brasero/commit/?id=1b8397ee252df2d554682ca2d694d5937fbf6e39
[2] https://bugzilla.gnome.org/show_bug.cgi?id=630651
[3] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=688229
[4] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=594753
[5] https://bugs.launchpad.net/ubuntu/+source/brasero/+bug/780117
[6] https://bugzilla.gnome.org/show_bug.cgi?id=655601
[7] http://libburnia-project.org/
---
 plugins/libburnia/burn-libisofs.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/plugins/libburnia/burn-libisofs.c b/plugins/libburnia/burn-libisofs.c
index 22cb75e..841468a 100644
--- a/plugins/libburnia/burn-libisofs.c
+++ b/plugins/libburnia/burn-libisofs.c
@@ -199,7 +199,7 @@ brasero_libisofs_write_image_to_fd_thread (BraseroLibisofs *self)
 
 	BRASERO_JOB_LOG (self, Writing to pipe);
 	read_bytes = priv-libburn_src-read_xt (priv-libburn_src, buf, sector_size);
-	while (priv-libburn_src-read_xt (priv-libburn_src, buf, sector_size) == sector_size) {
+	while (read_bytes == sector_size) {
 		if (priv-cancel)
 			break;
 
-- 
1.7.10.4



signature.asc
Description: This is a digitally signed message part


Bug#688229: Burning data DVD looks successful but mounting fails

2012-10-11 Thread Thomas Schmitt
Hi,

Paul Menzel wrote in his patch:
 Substituting this command with the variable fixes the problem reported in
 GNOME Bugzilla bug 655601.

I have to stress that the found bug does _not_ explain the
original report of
  https://bugzilla.gnome.org/show_bug.cgi?id=655601
(which is what i call the 50 % bug).

I would explain several of the follow-up comments in this
bug report.
Especially it would explain
  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=617409


Have a nice day :)

Thomas


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#688229: Burning data DVD looks successful but mounting fails

2012-10-11 Thread Paul Menzel
Dear Thomas,


Am Donnerstag, den 11.10.2012, 17:08 +0200 schrieb Thomas Schmitt:

 Paul Menzel wrote in his patch:
  Substituting this command with the variable fixes the problem reported in
  GNOME Bugzilla bug 655601.
 
 I have to stress that the found bug does _not_ explain the
 original report of
   https://bugzilla.gnome.org/show_bug.cgi?id=655601
 (which is what i call the 50 % bug).

you seem right. The log shows some Growisofs message and not the one I
have. Although, could it be that it is dependent on the libburn version?
Since when does libburn return if all data was written or not?

 I would explain several of the follow-up comments in this
 bug report.
 Especially it would explain
   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=617409

I am not so sure on this one anymore as it is reported against 2.30.3-2
which does not have the offending patch. I can imaging that it is caused
by the problem the faulty patch wanted to fix [1]. But thinking about
this the original reporter wrote, that his medium could be mounted.


Thanks,

Paul


[1] https://bugzilla.gnome.org/show_bug.cgi?id=655601


signature.asc
Description: This is a digitally signed message part


Bug#688229: Burning data DVD looks successful but mounting fails

2012-10-11 Thread Paul Menzel
Control: forwarded -1 https://bugzilla.gnome.org/show_bug.cgi?id=685983


Dear Thomas,


Am Donnerstag, den 11.10.2012, 17:26 +0200 schrieb Paul Menzel:

 Am Donnerstag, den 11.10.2012, 17:08 +0200 schrieb Thomas Schmitt:
 
  Paul Menzel wrote in his patch:
   Substituting this command with the variable fixes the problem reported in
   GNOME Bugzilla bug 655601.
  
  I have to stress that the found bug does _not_ explain the
  original report of
https://bugzilla.gnome.org/show_bug.cgi?id=655601
  (which is what i call the 50 % bug).
 
 you seem right. The log shows some Growisofs message and not the one I
 have. Although, could it be that it is dependent on the libburn version?
 Since when does libburn return if all data was written or not?

To be sure and keep a little sanity I created a new report upstream [2].

  I would explain several of the follow-up comments in this
  bug report.
  Especially it would explain
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=617409
 
 I am not so sure on this one anymore as it is reported against 2.30.3-2
 which does not have the offending patch. I can imaging that it is caused
 by the problem the faulty patch wanted to fix [1]. But thinking about
 this the original reporter wrote, that his medium could be mounted.

Of course I meant GNOME BTS issue #630651.


Thanks,

Paul


 [1] https://bugzilla.gnome.org/show_bug.cgi?id=655601
[2] https://bugzilla.gnome.org/show_bug.cgi?id=685983
[3] https://bugzilla.gnome.org/show_bug.cgi?id=630651


signature.asc
Description: This is a digitally signed message part


Bug#688229: Burning data DVD looks successful but mounting fails

2012-10-11 Thread Paul Menzel
Dear Thomas,


Am Donnerstag, den 11.10.2012, 16:59 +0200 schrieb Thomas Schmitt:

  000 001   C   D   0   0   1 001  \0 
 
 Yes. That is the start of a Primary Volume Descriptor block.
 
 Please mount the medium and use diff to compare the files in
 the image with their originals on hard disk. Just to be sure.
 (Mounting does not check all blocks in the image for sanity.)

`diff folder/ /mnt/folder` does not return any error the burning worked.

  Hmm, it encodes the name in there. To all whistle blowers out there: Do
  not use Brasero without configuring beforehand. ;-)
 
 (Who told your computer your full name on the first hand ?)
 
 ECMA-119 says about that field in the PVD:
 
 8.4.21 Data Preparer Identifier (BP 447 to 574)
  This field shall specify an identification of the person or other
  entity which controls the preparation of the data to be recorded
  on the Volume Group of which the volume is a member.
 
 I would rather use it to identify the image generating program.
 (I do so in xorriso. E.g.:
   XORRISO-1.2.5 2012.09.15.170346, LIBISOBURN-1.2.5, LIBISOFS-1.2.5, 
 LIBBURN-1.2.5
 )

Another bug found. :/

 Brasero mentions itself as:
 8.4.20 Publisher Identifier (BP 319 to 446)
  This field shall specify an identification of the user who specified
  what shall be recorded on the Volume Group of which the volume is a
  member.
 
 I would deem this field more appropriate to rat out Paul Menzel. :))

Very much more appropriate. ;-) Are you doing that in xorriso?

 mkisofs has a third opinion on that. It advertises itself in:
 8.4.22 Application Identifier (BP 575 to 702)
  This field shall specify an identification of the specification of
  how the data are recorded on the Volume Group of which the volume
  is a member.
 

Interesting. Though I know of no such specifications.

  PS: Thomas, reading the libburnia start page [1], I see you take
  donations. If some users, benefiting from this patch want to donate
  something, I would like the libburnia project to have it. So it would be
  great if you could give me the necessary instructions.
 
 If you would like to donate, please mail us:
  mario.danic [at] gmail [dot] com, Cc: scdbackup [at] gmx [dot] net.
 
 I personally can accept donations only by my german bank account.
 Possibly this is feasible within the EU even with smaller
 amounts. 
 Our project founder Mario Danic has a paypal account, afaik.
 I understand he has to pay money for the web hoster.

I see. Though I guess it should be made easy for people to donate.
Entering an amount and clicking a button would be the best. Though I
will tell them to mail you. (They could also sent you some stuff which
they can pay easily in an online shop.)


Thanks,

Paul


signature.asc
Description: This is a digitally signed message part


Bug#688229: Burning data DVD looks successful but mounting fails

2012-10-11 Thread Thomas Schmitt
Hi,

 The log shows some Growisofs message and not the one I have.
 Although, could it be that it is dependent on the libburn version?

The libburn plugin was not used. Only the libisofs one.

A run with growisofs as burn engine would also suffer from the bug
we found in the libisofs plugin.
But the found bug would not cause libisofs or growisofs to abort
after libisofs generated about 50 percent of the image.

GNOME bug 655061 is the same initial bug report as Ubuntu 780117.
Both took a long tail of me-toos which mostly match our found bug.
There we find the hints about direct burning (which fails) and
burning of previously stored ISO images (which succeeds).


 Since when does libburn return if all data was written or not?

Quite some while.
But it depends on whether the size of the track was announced
by the application. I understand Brasero creates its own
struct burn_source implementation. So it depends on whether
  burn-libburn.c:brasero_libburn_src_get_size()
returns non-zero.

Whether this changed in the past is a matter of Brasero history.
It might have been a libburn provided burn_source object in
the past which would have been created by libburn call
  struct burn_source *burn_fd_source_new(int datafd, int subfd, off_t size);
Here it would matter whether size is non-zero, resp. on the
result of fstat(datafd, ...).


 I am not so sure on this one anymore as it is reported against 2.30.3-2
 which does not have the offending patch. I can imaging that it is caused
 by the problem the faulty patch wanted to fix [1]. But thinking about
 this the original reporter wrote, that his medium could be mounted.

I see.
But the follow-up by Simon Wenner was with a higher Brasero
version.


  I would deem this field more appropriate to rat out Paul Menzel. :))

 Very much more appropriate. ;-) Are you doing that in xorriso?

I do not even know how to get your full name from your computer.
You would have to rat out yourself by xorriso command
  -publisher 'Paul Menzel'


 Interesting. Though I know of no such specifications.

ECMA-119 is the freely available form of ISO 9660 specs.
  http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-119.pdf
The contract between image producers and image readers.
It describes on byte level how an ISO image has to look like.

 
Have a nice day :)

Thomas


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#688229: Burning data DVD looks successful but mounting fails with ISOFS: Unable to identify CD-ROM format.

2012-10-10 Thread Paul Menzel
Dear Thomas,


Am Sonntag, den 23.09.2012, 16:40 +0200 schrieb Paul Menzel:

 Am Sonntag, den 23.09.2012, 13:03 +0200 schrieb Thomas Schmitt:

[…]

  Another way to exercise DVD-R is to use DVD-RW. They need to get
  blanked before re-use. E.g. by
xorriso -outdev /dev/sr1 -blank deformat -eject all
  This lasts as long as writing the full capacity of 4.7 GB.
  (Fast blanking is possible but the DVD-RW would afterwards refuse
   to perform the write type Incremental which is used by Brasero.)
  
  
  Some numbers from your reports are against my theory of a missing
  start piece:
  
  libisofs reported:
  brasero (libisofs)DEBUG : Processed 2119108 of 2119108 KB (100 %)
  
  dvd+rw-mediainfo and xorriso -toc report a track size of
  1059568*2KB
  
  The overall sizeis of image and track would match.
  2 * 1059568 - 2119108 = 28
  The track size is aligned to a DVD ECC block of 32 KiB.
  
  The track was written by write type Incremental. I.e. it
  is supposed to bear only the bytes which were actually written,
  rounded up to the next multiple of 16 blocks (= 32 KiB).
  
  If a start piece of the image would be missing, then the track
  would have to be shorter.
  
  Gr.
 
 That really is strange.

[…]

   Everything worked fine with `xorriso`.
  
   $ xorriso -md5 on -outdev /dev/sr1 -map ~/test /
  
  Well ... Yay and G at the same time.
  Yay for xorriso and the drive, Grrr for my inability to explain what
  went wrong with the Brsaero DVD-R.
 
 Grrr³ from my side to not understanding anything. ;-)

Thanks to Michael Biebl stepping up and looking into it, in
#debian-gnome he wrote to have bisected this issue to commit upstream
commit 5ff86b48 [1] which supposedly fixes GNOME bug 630651 [2]. Though,
judging from this, it looks like the ISO image creation problem then. As
this is done on the fly the created ISO image cannot be checked, right?

He uploaded packages for testing with one more patch applied [3][4].

I am going to try those as soon as possible.


Thanks,

Paul


[1] http://git.gnome.org/browse/brasero/commit/?id=5ff86b48
[2] https://bugzilla.gnome.org/show_bug.cgi?id=630651
[3] http://people.debian.org/~biebl/brasero/amd64/
[4] http://people.debian.org/~biebl/brasero/i386/


signature.asc
Description: This is a digitally signed message part


Bug#688229: Burning data DVD looks successful but mounting fails

2012-10-10 Thread Thomas Schmitt
Hi,

i think i can spot a byte eating problem in
  http://git.gnome.org/browse/brasero/commit/?id=5ff86b48
resp. the master-branch commit
  
http://git.gnome.org/browse/brasero/commit/?id=1b8397ee252df2d554682ca2d694d5937fbf6e39

-
  @@ -200,6 +198,7 @@ brasero_libisofs_write_image_to_fd_thread 
(BraseroLibisofs *self)
brasero_job_get_fd_out (BRASERO_JOB (self), fd);
BRASERO_JOB_LOG (self, Writing to pipe);
  + read_bytes = priv-libburn_src-read_xt (priv-libburn_src, buf, 
sector_size);
while (priv-libburn_src-read_xt (priv-libburn_src, buf, sector_size) == 
sector_size) {
if (priv-cancel)
break;
-

Variable read_bytes is set by a call of libisofs' resp. libburn's
burn_source.read_xt() which consumes data (one sector ?) into buf.
The call in the while() statement consumes another sector and thus
overwrites the previously read buffer without having done anything else
with that first buffer content.

Further down i see a similar change that looks more plausible
to me:
-
@@ -254,7 +261,8 @@ brasero_libisofs_write_image_to_file_thread 
(BraseroLibisofs *self)
priv = BRASERO_LIBISOFS_PRIVATE (self);
brasero_job_start_progress (BRASERO_JOB (self), FALSE);
  - while (priv-libburn_src-read_xt (priv-libburn_src, buf, sector_size) == 
sector_size) {
  + read_bytes = priv-libburn_src-read_xt (priv-libburn_src, buf, 
sector_size);
  + while (read_bytes == sector_size) {
if (priv-cancel)
break;
-

It appears to me that this information is not yet known in
  https://bugzilla.gnome.org/show_bug.cgi?id=630651
Feel free to add my technical opinion to that bug report.
I will try to contact Philippe Rouquier directly on this issue.


Swallowing the first sector is enough to make the image not mountable.

But regrettably a single lost sector does not yet explain the fact
that we find Joliet data at block 16.
The normal layout of an ISO 9660 image with Joliet (and no
El Torito boot equipment) would be
  Block 16: ISO (660/ECMA-119 Primary Volume Descriptor
  Block 17: Joliet Volume Descriptor (which would not contain
names of payload files like IMG_2428.JPG)
  Block 18: Volume Descriptor Set Terminator
libisofs will then pad up to 64 KB and first write the
ISO 9660 + Rock Ridge tree. Several blocks to be expected.

Only then comes the Joliet directory tree with those entries
which we found at block 16.

So we look for a byte eater that swallows at least a few dozen
sectors and not only the first one.


Nevertheless, the code pieces, where above change was made,
look much like the place where the emerging damage of an
ISO 9660 image can be watched ... if it is not caused there.
A very good starting point for debugging, i'd say.

Telling from the function names, i would say the change which
i deem bad is in charge for writing to optical media, whereas
the good one is in charge for writing image to a file in hard
disk.
An according difference in success can be found in several
Brasero bug reports of the last years.


Have a nice day :)

Thomas


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#688229: Burning data DVD looks successful but mounting fails

2012-10-10 Thread Paul Menzel
Dear Thomas,


Am Mittwoch, den 10.10.2012, 11:42 +0200 schrieb Thomas Schmitt:

 i think i can spot a byte eating problem in
   http://git.gnome.org/browse/brasero/commit/?id=5ff86b48
 resp. the master-branch commit
   
 http://git.gnome.org/browse/brasero/commit/?id=1b8397ee252df2d554682ca2d694d5937fbf6e39
 
 -
   @@ -200,6 +198,7 @@ brasero_libisofs_write_image_to_fd_thread 
 (BraseroLibisofs *self)
 brasero_job_get_fd_out (BRASERO_JOB (self), fd);
 BRASERO_JOB_LOG (self, Writing to pipe);
   + read_bytes = priv-libburn_src-read_xt (priv-libburn_src, buf, 
 sector_size);
 while (priv-libburn_src-read_xt (priv-libburn_src, buf, sector_size) 
 == sector_size) {
 if (priv-cancel)
 break;
 -
 
 Variable read_bytes is set by a call of libisofs' resp. libburn's
 burn_source.read_xt() which consumes data (one sector ?) into buf.
 The call in the while() statement consumes another sector and thus
 overwrites the previously read buffer without having done anything else
 with that first buffer content.
 
 Further down i see a similar change that looks more plausible
 to me:
 -
 @@ -254,7 +261,8 @@ brasero_libisofs_write_image_to_file_thread 
 (BraseroLibisofs *self)
 priv = BRASERO_LIBISOFS_PRIVATE (self);
 brasero_job_start_progress (BRASERO_JOB (self), FALSE);
   - while (priv-libburn_src-read_xt (priv-libburn_src, buf, sector_size) 
 == sector_size) {
   + read_bytes = priv-libburn_src-read_xt (priv-libburn_src, buf, 
 sector_size);
   + while (read_bytes == sector_size) {
 if (priv-cancel)
 break;
 -

I will try to make that adaptation tomorrow.

 It appears to me that this information is not yet known in
   https://bugzilla.gnome.org/show_bug.cgi?id=630651
 Feel free to add my technical opinion to that bug report.

I did so right after reading your reply in the morning.

 I will try to contact Philippe Rouquier directly on this issue.

We can just CC him and I am doing so now. Sorry Philippe.

 Swallowing the first sector is enough to make the image not mountable.
 
 But regrettably a single lost sector does not yet explain the fact
 that we find Joliet data at block 16.
 The normal layout of an ISO 9660 image with Joliet (and no
 El Torito boot equipment) would be
   Block 16: ISO (660/ECMA-119 Primary Volume Descriptor
   Block 17: Joliet Volume Descriptor (which would not contain
 names of payload files like IMG_2428.JPG)
   Block 18: Volume Descriptor Set Terminator
 libisofs will then pad up to 64 KB and first write the
 ISO 9660 + Rock Ridge tree. Several blocks to be expected.
 
 Only then comes the Joliet directory tree with those entries
 which we found at block 16.
 
 So we look for a byte eater that swallows at least a few dozen
 sectors and not only the first one.

I am also going to print out the sector size. (Or just use GDB.)

 Nevertheless, the code pieces, where above change was made,
 look much like the place where the emerging damage of an
 ISO 9660 image can be watched ... if it is not caused there.
 A very good starting point for debugging, i'd say.
 
 Telling from the function names, i would say the change which
 i deem bad is in charge for writing to optical media, whereas
 the good one is in charge for writing image to a file in hard
 disk.
 An according difference in success can be found in several
 Brasero bug reports of the last years.

Thanks for the terrific analysis. I think we can be optimistic for
tomorrow. I know also got a case where even an error is reported and the
image (with the burner hack) is not mountable.

BraseroBurn: (at burn-job.c:1858) BraseroLibburn called 
brasero_job_set_current_action
BraseroBurn: (at burn-libisofs.c:312) BraseroLibisofs Getting out thread
BraseroBurn: (at burn-job.c:1309) BraseroLibisofs called 
brasero_job_get_fd_out
BraseroBurn: (at burn-job.c:1071) BraseroLibisofs Finished track 
successfully
BraseroBurn: (at burn-task-ctx.c:354) No next track to process
BraseroBurn: (at burn-job.c:862) BraseroLibisofs disconnecting 
BraseroLibisofs from BraseroChecksumImage
BraseroBurn: (at burn-job.c:258) BraseroLibisofs deactivating
BraseroBurn: (at burn-job.c:1267) BraseroChecksumImage called 
brasero_job_get_current_track
BraseroBurn: (at burn-checksum-image.c:531) BraseroChecksumImage 
Setting new checksum (type = 2) 75f26d2175cb8d2a6d3370a2b7aa0164 
(file:///tmp/brasero_tmp_JL20LW.md5 before)
BraseroBurn: (at burn-job.c:1071) BraseroChecksumImage Finished track 
successfully
BraseroBurn: (at burn-task-ctx.c:354) No next track to process
BraseroBurn: (at burn-job.c:862) BraseroChecksumImage 

Bug#688229: Burning data DVD looks successful but mounting fails with ISOFS: Unable to identify CD-ROM format.

2012-09-23 Thread Paul Menzel
Dear Thomas,


thank you again for your fast reply. Could you please CC me, since I am
not subscribed and need to import your message from the BTS every time.


Am Samstag, den 22.09.2012, 12:04 +0200 schrieb Thomas Schmitt:

 Paul Menzel wrote:
  $ dd if=/dev/sr1 bs=2048 skip=16 count=1 | od -c
  ...
  000 \0   0 034 001  \0  \0 001 034   0   F 034   +  \0  \0   +
  020 034   F   p  \t 023 022   1   !  \0  \0  \0  \0 001  \0  \0 001
  040 034  \0   I  \0   M  \0   G  \0   _  \0   2  \0   4  \0   2  \0
  060   8  \0   .  \0   J  \0   P  \0   G  \0   ;  \0   1  \0 \0
  100 224   ! 001  \0  \0 001   ! 224   @ 276   +  \0  \0   + 276   @
  120   p  \t 023 022   1   !  \0  \0  \0  \0 001  \0  \0 001 034  \0
  140   I  \0   M  \0   G  \0   _  \0   2  \0   4  \0   2  \0   9  \0
  160   .  \0   J  \0   P  \0   G  \0   ;  \0   1  \0 \0  \f   '
 
 This does not look like an ISO 9660 Primary Volume Descriptor but
 rather like a snippet from a Joliet directory tree. Read as 16 bit
 characters one can recognize IMG_2428.JPG and IMG_2429.JPG.
 They are announced to start at blocks 72752 (decimal) and 74132
 (decimal). Sizes are 2825286 and 2866752 bytes.
 ... if i decoded these little endian 32-bit numbers correctly:
0 034 001  \0   IMG_2428.JPG, Location of Extent
F 034   +  \0   IMG_2428.JPG, Data Length
  224   ! 001  \0   IMG_2429.JPG, Location of Extent
@ 276   +  \0   IMG_2429.JPG, Data Length
 (The layout of directory records is documented in ECMA-119, 9.1.
  Joliet deviates from this layout mainly by using 16-bit characters
  for File Identifier.)

Nice find!

 I really wonder how this could get to block 16 of the medium.
 Brasero did order libisofs to produce a Joliet tree. But it should
 be stored several blocks after block 16. Before Joliet there
 should be volume descriptors and the ISO 9660 + Rock Ridge tree.
 
 It is clear that no reader software wants to accept this as ISO 9660
 filesystem.
 
 Guessing from this single block content, i would expect that a
 few hundred kilobytes of the image start have not been written
 onto the medium. Most simple explanation for this would be that they
 were not transmitted from libisofs to libburn. But i riddle how
 this could be possible.

Is there some way to simulate a burner to find out what happened?

[…]

  $ dvd+rw-mediainfo /dev/sr1
 
 The output looks totally normal. Medium is ok.
 
 
  I think I forgot to add that the burner and the same DVD medium were
  used successfully with for example K3b and I also think xorriso.
 
 We have no special indication of any malfunction of burner or medium.
 There are just not the right bytes stored at the right block addresses.
 
 A further test with xorriso would be welcome. Just to be sure.

Everything worked fine with `xorriso`.

$ xorriso -md5 on -outdev /dev/sr1 -map ~/test /
xorriso 1.2.2 : RockRidge filesystem manipulator, libburnia project.

Drive current: -outdev '/dev/sr1'
Media current: DVD-R sequential recording
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 4489m free
xorriso : UPDATE : 123 files added in 1 seconds
Added to ISO image: directory '/'='/home/joe/test'
xorriso : UPDATE : Writing: 16s0.0%   fifo 100%  buf   0%
xorriso : UPDATE : Writing: 16s0.0%   fifo 100%  buf   0%   
 0.0xD 
xorriso : UPDATE : Writing: 16s0.0%   fifo 100%  buf   0%   
 0.0xD 
xorriso : UPDATE : Writing: 16s0.0%   fifo 100%  buf   0%   
 0.0xD 
xorriso : UPDATE : Writing: 16s0.0%   fifo 100%  buf   0%   
 0.0xD 
xorriso : UPDATE : Writing: 16s0.0%   fifo 100%  buf   0%   
 0.0xD 
xorriso : UPDATE : Writing: 16s0.0%   fifo 100%  buf   0%   
 0.0xD 
xorriso : UPDATE : Writing: 16s0.0%   fifo 100%  buf   0%   
 0.0xD 
xorriso : UPDATE : Writing: 16s0.0%   fifo 100%  buf   0%   
 0.0xD 
xorriso : UPDATE : Writing: 16s0.0%   fifo 100%  buf   0%   
 0.0xD 
xorriso : UPDATE : Writing: 16s0.0%   fifo 100%  buf   0%   
 0.0xD 
xorriso : UPDATE : Writing: 16s0.0%   fifo 100%  buf   0%   
 0.0xD 
xorriso : UPDATE : Writing: 16s0.0%   fifo 100%  buf   0%   
 0.0xD 
xorriso : UPDATE : Writing: 16s0.0%   fifo 100%  buf   0%   
 0.0xD 
xorriso : UPDATE : Writing: 16s0.0%   fifo 100%  buf   0%   
 0.0xD 
xorriso : UPDATE : Writing: 16s0.0%   fifo 100%  buf   0%   
 0.0xD 
xorriso : UPDATE : Writing: 16s0.0%   fifo 100%  buf   0%   
 0.0xD 
xorriso : UPDATE : Writing: 16s0.0%   fifo 100%  buf   0%   
 0.0xD 
xorriso : UPDATE : Writing: 16s0.0%   fifo 100%  buf   0%   
 0.0xD 
xorriso : UPDATE : Writing: 16s 

Bug#688229: Burning data DVD looks successful but mounting fails with ISOFS: Unable to identify CD-ROM format.

2012-09-23 Thread Thomas Schmitt
Hi,

 Could you please CC me

I will try to remember. :)
But maybe you better subscribe by a mail to
  688229-subscr...@bugs.debian.org


 Is there some way to simulate a burner to find out what happened?

libburn would accept burner addresses like
  stdio:/tmp/my_emulated_drive
which would behave like DVD-RAM or DVD+RW. I.e. quite different
from DVD-R or DVD+R. Nevertheless such an emulated drive would
allow to exercise the communications between libisofs and libburn,
as done by Brasero.

I do not know how to make Brasero use such a drive address.
Probably one would have to hack its source.

Another way to exercise DVD-R is to use DVD-RW. They need to get
blanked before re-use. E.g. by
  xorriso -outdev /dev/sr1 -blank deformat -eject all
This lasts as long as writing the full capacity of 4.7 GB.
(Fast blanking is possible but the DVD-RW would afterwards refuse
 to perform the write type Incremental which is used by Brasero.)


Some numbers from your reports are against my theory of a missing
start piece:

libisofs reported:
brasero (libisofs)DEBUG : Processed 2119108 of 2119108 KB (100 %)

dvd+rw-mediainfo and xorriso -toc report a track size of
1059568*2KB

The overall sizeis of image and track would match.
2 * 1059568 - 2119108 = 28
The track size is aligned to a DVD ECC block of 32 KiB.

The track was written by write type Incremental. I.e. it
is supposed to bear only the bytes which were actually written,
rounded up to the next multiple of 16 blocks (= 32 KiB).

If a start piece of the image would be missing, then the track
would have to be shorter.

Gr.

I assume you too live in Germany. If so:
Would the images on the DVD be non-private enough and would
you want to invest 1.45 Euro into a mail stamp in order to send
me that DVD-R for closer inspection ?
Or do you have 2 GB of internet storage from where i could
download a copy of the medium made by
  dd if=/dev/sr1 bs=2048 of=/tmp/copy_of_dev_sr1
?


 Everything worked fine with `xorriso`.

 $ xorriso -md5 on -outdev /dev/sr1 -map ~/test /

Well ... Yay and G at the same time.
Yay for xorriso and the drive, Grrr for my inability to explain what
went wrong with the Brsaero DVD-R.


 The only thing I noticed, that another DVD drive, the Toshiba DVD-ROM
 SD-M1712, needed more than 25 seconds to recognize the disc.

This might be due to the fact that the medium is still appendable,
unlike the one from Brasero. I.e. you could add more files by xorriso
or growisofs.

How is recognition time with the burner ?

In order to get a closed DVD-R, you would have to use command
  -close on
E.g. with the now appendable DVD-R medium
  $ mkdir ~/test2
  $ cp ...a...few...files... ~/test2
  $ xorriso -md5 on -dev /dev/sr1 -map ~/test2 /test2 -close on

(Note that this run uses command -dev rather than -outdev in order
 to load the existing directory tree of the image and to merge it
 with the newly added file tree.)

Maybe it will then be recognized faster by the DVD-ROM.


Have a nice day :)

Thomas


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#688229: Burning data DVD looks successful but mounting fails with ISOFS: Unable to identify CD-ROM format.

2012-09-23 Thread Paul Menzel
Dear Thomas,


Am Sonntag, den 23.09.2012, 13:03 +0200 schrieb Thomas Schmitt:

  Could you please CC me
 
 I will try to remember. :)
 But maybe you better subscribe by a mail to
   688229-subscr...@bugs.debian.org

I would like to avoid that, because it also requires confirmation and I
think »Reply to all« is easier. But I will do so next time, it happens.

  Is there some way to simulate a burner to find out what happened?
 
 libburn would accept burner addresses like
   stdio:/tmp/my_emulated_drive
 which would behave like DVD-RAM or DVD+RW. I.e. quite different
 from DVD-R or DVD+R. Nevertheless such an emulated drive would
 allow to exercise the communications between libisofs and libburn,
 as done by Brasero.
 
 I do not know how to make Brasero use such a drive address.
 Probably one would have to hack its source.

I will take a look.

 Another way to exercise DVD-R is to use DVD-RW. They need to get
 blanked before re-use. E.g. by
   xorriso -outdev /dev/sr1 -blank deformat -eject all
 This lasts as long as writing the full capacity of 4.7 GB.
 (Fast blanking is possible but the DVD-RW would afterwards refuse
  to perform the write type Incremental which is used by Brasero.)
 
 
 Some numbers from your reports are against my theory of a missing
 start piece:
 
 libisofs reported:
 brasero (libisofs)DEBUG : Processed 2119108 of 2119108 KB (100 %)
 
 dvd+rw-mediainfo and xorriso -toc report a track size of
 1059568*2KB
 
 The overall sizeis of image and track would match.
 2 * 1059568 - 2119108 = 28
 The track size is aligned to a DVD ECC block of 32 KiB.
 
 The track was written by write type Incremental. I.e. it
 is supposed to bear only the bytes which were actually written,
 rounded up to the next multiple of 16 blocks (= 32 KiB).
 
 If a start piece of the image would be missing, then the track
 would have to be shorter.
 
 Gr.

That really is strange.

 I assume you too live in Germany. If so:
 Would the images on the DVD be non-private enough and would
 you want to invest 1.45 Euro into a mail stamp in order to send
 me that DVD-R for closer inspection ?
 Or do you have 2 GB of internet storage from where i could
 download a copy of the medium made by
   dd if=/dev/sr1 bs=2048 of=/tmp/copy_of_dev_sr1
 ?

I will try to and will contact you again next week.

  Everything worked fine with `xorriso`.
 
  $ xorriso -md5 on -outdev /dev/sr1 -map ~/test /
 
 Well ... Yay and G at the same time.
 Yay for xorriso and the drive, Grrr for my inability to explain what
 went wrong with the Brsaero DVD-R.

Grrr³ from my side to not understanding anything. ;-)

  The only thing I noticed, that another DVD drive, the Toshiba DVD-ROM
  SD-M1712, needed more than 25 seconds to recognize the disc.
 
 This might be due to the fact that the medium is still appendable,
 unlike the one from Brasero. I.e. you could add more files by xorriso
 or growisofs.
 
 How is recognition time with the burner ?
 
 In order to get a closed DVD-R, you would have to use command
   -close on
 E.g. with the now appendable DVD-R medium
   $ mkdir ~/test2
   $ cp ...a...few...files... ~/test2
   $ xorriso -md5 on -dev /dev/sr1 -map ~/test2 /test2 -close on
 
 (Note that this run uses command -dev rather than -outdev in order
  to load the existing directory tree of the image and to merge it
  with the newly added file tree.)
 
 Maybe it will then be recognized faster by the DVD-ROM.

Thank you for the detailed explanation. I already gave the DVD away.
Maybe I have a chance to look into it again.


Thanks,

Paul


signature.asc
Description: This is a digitally signed message part


Bug#688229: Burning data DVD looks successful but mounting fails with ISOFS: Unable to identify CD-ROM format.

2012-09-22 Thread Paul Menzel
Dear Thomas,


I am sorry for my late reply.

Also I am CCing just to be sure. If you get the message twice because
you subscribed to the report, please tell me.


Am Donnerstag, den 20.09.2012, 22:51 +0200 schrieb Thomas Schmitt:

  brasero (libisofs)DEBUG : Processed 2119108 of 2119108 KB (100 %)
 
 It went well, at least as far as libisofs was involved.
 
 So this is not the problem with premature end after 50 %.
 And it is not the riddling CD problem, where Brasero CDs are
 unreadable, whereas xorriso burned CDs are ok.

Great!

  BraseroLibburn Async SYNCHRONIZE CACHE succeeded after 0.8 seconds
  ...
  BraseroLibburn Closing track 01  (absolute track number 1)
  BraseroLibburn Async CLOSE TRACK SESSION succeeded after 0.4 seconds
  BraseroLibburn Closing session
  BraseroLibburn Async CLOSE TRACK SESSION succeeded after 5.3 seconds
 
 These messages stem from libburn.
 They indicate that it saw no severe error message from the drive
 and that it finished the burn run.
 I cannot tell, though, how many data were passed through libburn.
 
 
  [ 9103.816252] ISOFS: Unable to identify CD-ROM format.
 
 What do you get from
 
   dd if=/dev/sr1 bs=2048 skip=16 count=1 | od -c
 
 With a valid ISO image, the output should begin by
 
   000 001   C   D   0   0   1
 
 and consist of up to 128 lines of text.

$ dd if=/dev/sr1 bs=2048 skip=16 count=1 | od -c
1+0 Datensätze ein
1+0 Datensätze aus
2048 Bytes (2,0 kB) kopiert, 0,00199071 s, 1,0 MB/s
000 \0   0 034 001  \0  \0 001 034   0   F 034   +  \0  \0   +
020 034   F   p  \t 023 022   1   !  \0  \0  \0  \0 001  \0  \0 001
040 034  \0   I  \0   M  \0   G  \0   _  \0   2  \0   4  \0   2  \0
060   8  \0   .  \0   J  \0   P  \0   G  \0   ;  \0   1  \0 \0
100 224   ! 001  \0  \0 001   ! 224   @ 276   +  \0  \0   + 276   @
120   p  \t 023 022   1   !  \0  \0  \0  \0 001  \0  \0 001 034  \0
140   I  \0   M  \0   G  \0   _  \0   2  \0   4  \0   2  \0   9  \0
160   .  \0   J  \0   P  \0   G  \0   ;  \0   1  \0 \0  \f   '
200 001  \0  \0 001   '  \f   u   S   -  \0  \0   -   S   u   p  \t
220 023 022   1   !  \0  \0  \0  \0 001  \0  \0 001 034  \0   I  \0
240   M  \0   G  \0   _  \0   2  \0   4  \0   3  \0   0  \0   .  \0
260   J  \0   P  \0   G  \0   ;  \0   1  \0 \0 267   , 001  \0
300  \0 001   , 267 016   y 037  \0  \0 037   y 016   p  \t 023 022
320   1   !  \0  \0  \0  \0 001  \0  \0 001 034  \0   I  \0   M  \0
340   G  \0   _  \0   2  \0   4  \0   3  \0   2  \0   .  \0   J  \0
360   P  \0   G  \0   ;  \0   1  \0 \0 247   0 001  \0  \0 001
400   0 247 340   I \0  \0  I 340   p  \t 023 022   1   !
420  \0  \0  \0  \0 001  \0  \0 001 034  \0   I  \0   M  \0   G  \0
440   _  \0   2  \0   4  \0   3  \0   3  \0   .  \0   J  \0   P  \0
460   G  \0   ;  \0   1  \0 \0 361   4 001  \0  \0 001   4 361
500 005   G  \0  \0   G 005   p  \t 023 022   1   !  \0  \0
520  \0  \0 001  \0  \0 001 034  \0   I  \0   M  \0   G  \0   _  \0
540   2  \0   4  \0   3  \0   4  \0   .  \0   J  \0   P  \0   G  \0
560   ;  \0   1  \0 \0 372   8 001  \0  \0 001   8 372 252 020
600   !  \0  \0   ! 020 252   p  \t 023 022   1   !  \0  \0  \0  \0
620 001  \0  \0 001 034  \0   I  \0   M  \0   G  \0   _  \0   2  \0
640   4  \0   3  \0   5  \0   .  \0   J  \0   P  \0   G  \0   ;  \0
660   1  \0 \0 035   = 001  \0  \0 001   = 035 252 261 035  \0
700  \0 035 261 252   p  \t 023 022   1   !  \0  \0  \0  \0 001  \0
720  \0 001 034  \0   I  \0   M  \0   G  \0   _  \0   2  \0   4  \0
740   3  \0   7  \0   .  \0   J  \0   P  \0   G  \0   ;  \0   1  \0
760 \0 324   @ 001  \0  \0 001   @ 324   ; 206   %  \0  \0   %
0001000 206   ;   p  \t 023 022   1   !  \0  \0  \0  \0 001  \0  \0 001
0001020 034  \0   I  \0   M  \0   G  \0   _  \0   2  \0   4  \0   3  \0
0001040   8  \0   .  \0   J  \0   P  \0   G  \0   ;  \0   1  \0 \0
0001060 205   E 001  \0  \0 001   E 205   M 255 \0  \0255   M
0001100   p  \t 023 022   1   !  \0  \0  \0  \0 001  \0  \0 001 034  \0
0001120   I  \0   M  \0   G  \0   _  \0   2  \0   4  \0   3  \0   9  \0
0001140   .  \0   J  \0   P  \0   G  \0   ;  \0   1  \0 \0   [   J
0001160 001  \0  \0 001   J   [ 250   P \0  \0  P 250   p  \t
0001200 023 022   1   !  \0  \0  \0  \0 001  \0  \0 001 034  \0   I  \0
0001220   M  \0   G  \0   _  \0   2  \0   4  \0   4  \0   0  \0   .  \0
0001240   J  \0   P  \0   G  \0   ;  \0   1  \0 \0 246   N 001  \0
0001260  \0 001   N 246   q   K \0  \0  K   q   p  \t 023 022
0001300   1   !  \0  \0  \0  \0 001  \0  \0 001 034  \0   I  \0   M  \0
0001320   G  \0   _  \0   2  \0   4  \0   4  \0   1  \0   .  \0   J  \0
0001340   P  \0   G  \0   ;  \0   1  \0 \0   p   S 001  \0  \0 001
0001360   S   p 340 034   $  \0  \0   $ 034 340   p  \t 023 022   1   !
0001400  \0  \0  \0  \0 001  \0  \0 001 034  \0   I  \0   M  \0   G  \0
0001420 

Bug#688229: Burning data DVD looks successful but mounting fails with ISOFS: Unable to identify CD-ROM format.

2012-09-22 Thread Thomas Schmitt
Hi,

Paul Menzel wrote:
 $ dd if=/dev/sr1 bs=2048 skip=16 count=1 | od -c
 ...
 000 \0   0 034 001  \0  \0 001 034   0   F 034   +  \0  \0   +
 020 034   F   p  \t 023 022   1   !  \0  \0  \0  \0 001  \0  \0 001
 040 034  \0   I  \0   M  \0   G  \0   _  \0   2  \0   4  \0   2  \0
 060   8  \0   .  \0   J  \0   P  \0   G  \0   ;  \0   1  \0 \0
 100 224   ! 001  \0  \0 001   ! 224   @ 276   +  \0  \0   + 276   @
 120   p  \t 023 022   1   !  \0  \0  \0  \0 001  \0  \0 001 034  \0
 140   I  \0   M  \0   G  \0   _  \0   2  \0   4  \0   2  \0   9  \0
 160   .  \0   J  \0   P  \0   G  \0   ;  \0   1  \0 \0  \f   '

This does not look like an ISO 9660 Primary Volume Descriptor but
rather like a snippet from a Joliet directory tree. Read as 16 bit
characters one can recognize IMG_2428.JPG and IMG_2429.JPG.
They are announced to start at blocks 72752 (decimal) and 74132
(decimal). Sizes are 2825286 and 2866752 bytes.
... if i decoded these little endian 32-bit numbers correctly:
   0 034 001  \0   IMG_2428.JPG, Location of Extent
   F 034   +  \0   IMG_2428.JPG, Data Length
 224   ! 001  \0   IMG_2429.JPG, Location of Extent
   @ 276   +  \0   IMG_2429.JPG, Data Length
(The layout of directory records is documented in ECMA-119, 9.1.
 Joliet deviates from this layout mainly by using 16-bit characters
 for File Identifier.)

I really wonder how this could get to block 16 of the medium.
Brasero did order libisofs to produce a Joliet tree. But it should
be stored several blocks after block 16. Before Joliet there
should be volume descriptors and the ISO 9660 + Rock Ridge tree.

It is clear that no reader software wants to accept this as ISO 9660
filesystem.

Guessing from this single block content, i would expect that a
few hundred kilobytes of the image start have not been written
onto the medium. Most simple explanation for this would be that they
were not transmitted from libisofs to libburn. But i riddle how
this could be possible.


 PS: Is there any way to rescue the broken media, that means to correctly
 finish the burning process?

The medium is irreversibly closed.
The problem seems to be in lost data blocks.
(One could try to retrieve the JPEGs. If the loss is only about
 data at the image start, then it should be possible to guess names
 from the remaining part of the Joliet tree.)


 $ dvd+rw-mediainfo /dev/sr1

The output looks totally normal. Medium is ok.


 I think I forgot to add that the burner and the same DVD medium were
 used successfully with for example K3b and I also think xorriso.

We have no special indication of any malfunction of burner or medium.
There are just not the right bytes stored at the right block addresses.

A further test with xorriso would be welcome. Just to be sure.


Have a nice day :)

Thomas


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#688229: Burning data DVD looks successful but mounting fails with ISOFS: Unable to identify CD-ROM format.

2012-09-20 Thread Thomas Schmitt
Hi,

 brasero (libisofs)DEBUG : Processed 2119108 of 2119108 KB (100 %)

It went well, at least as far as libisofs was involved.

So this is not the problem with premature end after 50 %.
And it is not the riddling CD problem, where Brasero CDs are
unreadable, whereas xorriso burned CDs are ok.


 BraseroLibburn Async SYNCHRONIZE CACHE succeeded after 0.8 seconds
 ...
 BraseroLibburn Closing track 01  (absolute track number 1)
 BraseroLibburn Async CLOSE TRACK SESSION succeeded after 0.4 seconds
 BraseroLibburn Closing session
 BraseroLibburn Async CLOSE TRACK SESSION succeeded after 5.3 seconds

These messages stem from libburn.
They indicate that it saw no severe error message from the drive
and that it finished the burn run.
I cannot tell, though, how many data were passed through libburn.


 [ 9103.816252] ISOFS: Unable to identify CD-ROM format.

What do you get from

  dd if=/dev/sr1 bs=2048 skip=16 count=1 | od -c

With a valid ISO image, the output should begin by

  000 001   C   D   0   0   1

and consist of up to 128 lines of text.


What do you get from
  dvd+rw-mediainfo /dev/sr1

(Have medium and tray already loaded. It will not pull in the tray.)


 $ xorriso -outdev /dev/sr1 -check_media what=disc use=outdev
 ...
 Media current: DVD-ROM  
 Media status : is written , is closed
 A
 Media summary: 1 session, 1059568 data blocks, 2069m data, 0 free
 ...
 xorriso : UPDATE : 1059568 of 1059568 blocks read in 265 s = 5.9xD
 Media checks :lba ,   size , quality
 Media region :  0 ,192 , + good
 Media region :192 , 16 , + slow
 Media region :208 ,1059360 , + good

This xorriso command did not judge whether the medium bears an ISO 9660
filesystem. It only inspected the medium state.

The medium is reported by the drive as DVD-ROM, which is permissible
if it is closed. (Is it a DVD-R ?)
Further the drive did not report any errors when reading the
data blocks. The average reading speed of 5.9x is not overly high
but does not yet indicate a large number of re-tries. No long pauses
were perceived while reading, except the small speed glitch at block 192
which is quite normal.


The following xorriso run would tell more about the recognizability of
ISO 9660 content on the medium:

  xorriso -outdev /dev/sr1 -toc

This run would try to load the directory tree of the ISO image
and issue error messages if there is no proper ISO 9660 on the medium:

  xorriso -indev /dev/sr1

It has to be feared that it will bail out similarly to the mount attempts.


Have a nice day :)

Thomas
 


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org