GNOME Bugzilla – Bug 509895
CD is not ejected after burn
Last modified: 2008-08-16 18:50:56 UTC
Please describe the problem: I maintain brasero for my distribution (zenwalk) and I have reports from some users that the CD cannot be ejected after burn at least when burning a data iso or creating a data CD. I had reports from 4 people so far. Steps to reproduce: 1. Burn an iso image or a data CD 2. CD does not eject after burn 3. An error message window appears with "Error while burning: the media in _DEVICENAMEHERE_ can't be ejected." Actual results: Expected results: Does this happen every time? It happens every time for some users, but I can't reproduce it in my PCs. Maybe it's device specific? Other information: One of the users reported that this happens only when brasero is ran from a non-privileged user account. If brasero is ran as root, the CD would be ejected. I'll attach a log that one of the users sent me.
Created attachment 102993 [details] CD cannot be ejected log
is any problem with wodim/cdrecord not being suid ? Can you check some users groups and previlegs for /usr/bin/wodim or cdrecord and for the devices too.
I found a PC that has the problem myself! with cdrtools, cdrecord is -rwsr-xr-x and belongs to root:root /dev/sr0 is brw-rw---- and belongs to root:cdrom Could it be that we're using the new libata system for all devices, pata and sata?
I've also tried cdrkit and it's still the same problem with brasero. and "cdrecord --eject" works anyway. And I have tried with gnomebaker and that doesn't have any problems ejecting the CD after burning...
I've found that the problem goes away if I disable both md5sum plugins. But that leads to this bug: http://bugzilla.gnome.org/show_bug.cgi?id=510461
ls -la /usr/bin/cdrecord lrwxrwxrwx 1 root root 5 2008-01-19 14:22 /usr/bin/cdrecord -> wodim ls -la /usr/bin/wodim -rwxr-xr-x 1 root root 394224 2008-01-16 12:48 /usr/bin/wodim ls -la /dev/scd1 brw-rw----+ 1 root cdrom 11, 1 2008-01-19 18:08 /dev/scd1 I guess we have the same so the problem shouldn't be from there now... can you attach a log from brasero debug ?
*** Bug 510461 has been marked as a duplicate of this bug. ***
Created attachment 112665 [details] debug log And here's the output of brasero -g with brasero 0.7.90 I burned a disk asking to be ejected after burning, it didn't, I selected eject from the menu, still nothing.
Created attachment 112742 [details] Session log with failed disc eject
Created attachment 112743 [details] Debug log with failed disc eject
I’m suffering the same problem here. Session and debug log are attached.
I have the same problem with brasero svn and spent a bit of time on it. The problem is that in burn-volume-obj.c:brasero_volume_eject() g_volume_get_drive() returns NULL, it returns NULL because (*iface->get_drive)(volume) is NULL. I don't know anything about GIO but i see that g_volume_can_eject (volume) works fine and since gdrive is used only for this purpose maybe that function can be used instead? With this bug brasero svn is completely unuseful for me since i've got only a drive :(
(In reply to comment #12) > I don't know anything about GIO but i see that g_volume_can_eject (volume) > works fine and since gdrive is used only for this purpose maybe that function > can be used instead? This isn't true, gdrive is necessary to eject the media.
I really wonder why it can't find a gdrive. I re-read the logs from George Vlahavas and he has the same problem, it can't get the drive from the volume. It seems to be a GIO problem. What version of glib have you got? What distro are you using?
(In reply to comment #14) > What version of glib have you got? 2.16.4 > What distro are you using? Debian Unstable here.
(In reply to comment #15) > (In reply to comment #14) > > What version of glib have you got? > > 2.16.4 > > > What distro are you using? > > Debian Unstable here. same here
I also committed some changes to try to fix that problem. Basically as you suggested Riccardo, we also check if we can use g_volume_eject ().
Same version of glib on my install. Now since gio is more than often a simple frontend for gvfs, it could be that the problem comes from gvfs instead. I have 0.2.5, what about guys? Btw please test the change I mentioned above to see if it improves things.
(In reply to comment #18) > Same version of glib on my install. > Now since gio is more than often a simple frontend for gvfs, it could be that > the problem comes from gvfs instead. I have 0.2.5, what about guys? I don't have gvfs, so this one is an issue of gio with (i suppose) the kernel backend? > Btw please test the change I mentioned above to see if it improves things. Latest svn trunk works fine, i see this so it is correctly ejected by the volume. (brasero:21408): GLib-GIO-CRITICAL **: g_drive_can_eject: assertion `G_IS_DRIVE (drive)' failed Thank you Philippe
@Ricardo, the fact that you didn't have gvfs installed was the problem. You'd better have it installed as a general rule since it adds some functionalities among which HAL that is really important (as you can imagine) when an app is dealing with devices. Anyway, I'm glad that change works. I'll wait for the other reporters' answers before closing this bug. I made another change to silence the remaining warning.
Closing this bug. If someone doesn't agree, please reopen the bug.