[Bug 1758949] Re: brasero exited on a libisofs error
Thomas Schmitt
scdbackup at gmx.net
Tue Mar 27 07:58:21 UTC 2018
Hi,
i am the develpoper of libisofs. But without any clue it is hard to
guess what might gone wrong. JournalErrors.txt does not contain any
information about libisofs or the error.
In summary, i believe that Brasero truncated two different directory
names to the same shorter name and then got told by libisofs that
two different directories may not have the same path in the ISO filesystem.
So what happens if you say "No" to the offer to modify path names for
being "compatible with windows" ?
(I assume it means the name length restrictions of Joliet which in its
vanilla form can store only 64 characters per file name. libisofs will
be well able to truncate them to unique names which do not collide.
But Brasero seems to try doing this truncation itself and fails to do it
correctly.)
----------------------------------------------------------------------
Deeper reasoning:
The only visible peculiarity is "URI = (null)" in
BraseroLibisofs Adding graft disc path = /Dropbox/Li/CVS/CVS pharmacy
- Online Pharmacy - Transfer Prescription or Refil2/, URI = (null)
whereas earlier messages tell file paths with "URI". Like
BraseroLibisofs Adding graft disc path = /Dropbox/Li/CVS/CVS pharmacy
- Online Pharmacy - Transfer Prescription or Refil2, URI =
/home/lee/Dropbox/Li/CVS/CVS pharmacy - Online Pharmacy - Transfer
Prescription or Refill Prescription Online.html
Hard to say whether this is significant. But the NULL pointer seems not to
be sent down to libisofs:
The message:
"libisofs reported an error while creating directory ..."
stems from
brasero/plugins/libburnia/burn-libisofs.c
where one can see two occasions where it is emitted:
result = iso_tree_add_new_dir (ISO_DIR (parent), path_name, &directory);
if (result < 0) {
BRASERO_JOB_LOG (self,
"ERROR %s %x",
path_name,
result);
priv->error = g_error_new (BRASERO_BURN_ERROR,
BRASERO_BURN_ERROR_GENERAL,
_("libisofs reported an error while creating directory \"%s\""),
graft->path);
and
else if (iso_tree_add_new_dir (ISO_DIR (parent), path_name, NULL) < 0) {
priv->error = g_error_new (BRASERO_BURN_ERROR,
BRASERO_BURN_ERROR_GENERAL,
_("libisofs reported an error while creating directory \"%s\""),
graft->path);
(The NULL parameter in the second call of iso_tree_add_new_dir() is ok.)
According to libisofs.h, the call can emit these errors:
* ISO_NULL_POINTER, if parent or name are NULL
* ISO_NODE_NAME_NOT_UNIQUE, a node with same name already exists
* ISO_OUT_OF_MEM
ISO_NULL_POINTER is unlikely, because Brasero reported "Found parent" and
the error messages contains a non-NULL path text.
ISO_OUT_OF_MEM would be possible. But then other parts of the computer
system should show memory shortage symptoms, too.
So the leaves ISO_NODE_NAME_NOT_UNIQUE, for which i see a possible reason
in these two lines of Brasero:
Adding graft disc path = /Dropbox/Li/CVS/CVS pharmacy - Online
Pharmacy - Transfer Prescription or Refil2,
and
Adding graft disc path = /Dropbox/Li/CVS/CVS pharmacy - Online
Pharmacy - Transfer Prescription or Refil2/,
The two paths differ only by the trailing "/", which is not significant
to distinguish them.
----------------------------------------------------------------------
Have a nice day :)
Thomas
--
You received this bug notification because you are a member of Ubuntu
Burning Team, which is subscribed to brasero in Ubuntu.
https://bugs.launchpad.net/bugs/1758949
Title:
brasero exited on a libisofs error
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/brasero/+bug/1758949/+subscriptions
More information about the Ubuntu-burning
mailing list