Bug 132479 - Crashes if no CD-R inserted
Summary: Crashes if no CD-R inserted
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: nautilus-cd-burner
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Alexander Larsson
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 131589
TreeView+ depends on / blocked
 
Reported: 2004-09-13 21:06 UTC by Tim Waugh
Modified: 2007-11-30 22:10 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-09-17 10:31:30 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
backtrace (4.45 KB, text/plain)
2004-09-13 21:07 UTC, Tim Waugh
no flags Details
Fixes the assertions (8.16 KB, patch)
2004-09-16 13:38 UTC, Alexander Larsson
no flags Details | Diff

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.


Note You need to log in before you can comment on or make changes to this bug.