Bug 132479

Summary: Crashes if no CD-R inserted
Product: [Fedora] Fedora Reporter: Tim Waugh <twaugh>
Component: nautilus-cd-burnerAssignee: Alexander Larsson <alexl>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: bnocera
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-09-17 10:31:30 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 131589    
Attachments:
Description Flags
backtrace
none
Fixes the assertions none

Description Tim Waugh 2004-09-13 21:06:50 UTC
Description of problem:
nautilus-cd-burner crashes if you try to burn a CD but forget to
insert it first.

Version-Release number of selected component (if applicable):
nautilus-cd-burner-2.7.6-1

How reproducible:
100%

Comment 1 Tim Waugh 2004-09-13 21:07:13 UTC
Created attachment 103802 [details]
backtrace

Comment 2 Alexander Larsson 2004-09-14 12:04:45 UTC
Bastien, this is due to you change to cd-recorder.c version 1.42:

@@ -270,10 +278,7 @@ cdrecord_stdout_read (GIOChannel   *sour
                  percent);
        } else if (g_str_has_prefix (line, "Re-load disk and hit <CR>") ||
             g_str_has_prefix (line, "send SIGUSR1 to continue")) {
-         g_signal_emit (G_OBJECT (cdrecorder),
-                 cd_recorder_table_signals[INSERT_CD_REQUEST], 0,
-                 TRUE);
-         cdrecorder->priv->send_return = (*line == 'R');
+         g_assert_not_reached ();
        } else if (g_str_has_prefix (line, "Fixating...")) {
          g_signal_emit (G_OBJECT (cdrecorder),
                  cd_recorder_table_signals[ACTION_CHANGED], 0,

It just asserts if it gets the re-load request.


Comment 3 Alexander Larsson 2004-09-14 12:06:12 UTC
Bastien: Do you know why this change was made?


Comment 4 Bastien Nocera 2004-09-16 12:58:28 UTC
This change was made because the codepath before this forces a medium
to be present in the drive. It seems that there is a bug in that part
of the code...

See upstream:
http://bugzilla.gnome.org/show_bug.cgi?id=151986

Comment 5 Alexander Larsson 2004-09-16 13:37:06 UTC
The new codepath doesn't work on my box at least (see bug 132645), so
I've made a patch that makes the old way work too. This should be
safe, and allow this to work on these machines too.

I'll attach the patch i have so far, which fixes this and some other
small details.


Comment 6 Alexander Larsson 2004-09-16 13:38:27 UTC
Created attachment 103906 [details]
Fixes the assertions

Comment 7 Bastien Nocera 2004-09-16 23:37:12 UTC
I already fixed this (properly) in nautilus-cd-burner 2.8.1.

Comment 8 Alexander Larsson 2004-09-17 06:14:16 UTC
I'm sure your proper fix helped some people, but it still crashes on
my machine in the exact same assert.

Comment 9 Alexander Larsson 2004-09-17 06:19:03 UTC
What about the obviously correct parts of the patch? (the fixing of
the signal return value and the is_reaload part in the insert cd handler)
They should probably go upstream immediately.

Comment 10 Alexander Larsson 2004-09-17 10:31:30 UTC
The patch is in nautilus-cd-record 2.8.1-1 in rawhide soon. It will
fix the crashes, but bug 132645 is still there.