Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

Bug 82293

Summary: xcdroast crashes with a segmentation fault
Product: [Retired] Red Hat Public Beta Reporter: Dave Habben <dave.habben>
Component: xcdroastAssignee: Harald Hoyer <harald>
Status: CLOSED RAWHIDE QA Contact: Jay Turner <jturner>
Severity: high Docs Contact:
Priority: medium    
Version: phoebeCC: srevivo
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-01-22 17:43:45 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Dave Habben 2003-01-20 23:17:35 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030115

Description of problem:
This is on a clean install of Phoebe 8.0.93

Attempt to launch the default CD-Burner via:
System Tools -> CD Writer

A dialog appears:
Unknown Error [Close]

When trying to run it at a prompt it indicates:
# xcdroast
Segmentation fault

# strace xcdroast 
read(4, "Linux sg driver version: 3.1.24\n", 4096) = 32
read(4, "Cannot map \"(NULL POINTER)\" to a"..., 4096) = 47
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++


Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. run xcdroast
2. 
3.
    

Actual Results:  Segmentation Fault

Expected Results:  xcdroast should start properly


Additional info:

Phoebe 8.0.93
xcdroast-0.98a13-2.i386.rpm

Comment 1 Dave Habben 2003-01-21 01:16:46 UTC
I have gotten this to work, it seems the trouble is caused by a patch in the
cdrtools-2.0-2.src.rpm spec, specifically: 
cdrtools-2.0-O_EXCL.patch 

After commenting this patch out of the spec file, then rpmbuild'ing a new
cdrtools rpm this now seems to work without segfaulting. 

Notice the difference of:
"Cannot map "(NULL POINTER)" to a CDROM device."

With Red Hat's Patch:
=========================================================================
[root@localhost root]# cdrecord -scanbus
Cdrecord 2.0 (i686-pc-linux-gnu) Copyright (C) 1995-2002 J?rg Schilling
Linux sg driver version: 3.1.24
Cannot map "(NULL POINTER)" to a CDROM device.
Using libscg version 'schily-0.7'
scsibus0:
        0,0,0     0) 'SEAGATE ' 'ST318451LW      ' '0002' Disk
        0,1,0     1) *
        0,2,0     2) *
        0,3,0     3) *
        0,4,0     4) 'PLEXTOR ' 'CD-R   PX-R820T ' '1.08' Removable CD-ROM
        0,5,0     5) *
        0,6,0     6) *
        0,7,0     7) *
==========================================================================

Without:
==========================================================================
[root@localhost i386]# cdrecord -scanbus
Cdrecord 2.0 (i686-pc-linux-gnu) Copyright (C) 1995-2002 J?rg Schilling
Linux sg driver version: 3.1.24
Using libscg version 'schily-0.7'
scsibus0:
        0,0,0     0) 'SEAGATE ' 'ST318451LW      ' '0002' Disk
        0,1,0     1) *
        0,2,0     2) *
        0,3,0     3) *
        0,4,0     4) 'PLEXTOR ' 'CD-R   PX-R820T ' '1.08' Removable CD-ROM
        0,5,0     5) *
        0,6,0     6) *
        0,7,0     7) *
==========================================================================



Comment 2 Thomas Niederreiter 2003-01-21 10:20:08 UTC
Hello, 
I am the X-CD-Roast developer. Hard to keep up with all the special stuff
RedHat decides to patch into their packages. 

Anyway - here is a patch that corrects that issue:

----------
--- io.c.org    Tue Jan 21 11:02:27 2003
+++ io.c        Tue Jan 21 11:05:34 2003
@@ -282,7 +282,7 @@
 
        /* a line with device-info found (by checking for ")")*/
        p1 = index(line,')');
-       if (p1 != NULL) {
+       if (p1 != NULL && !strstr(line,")\"")) {
                strip_string(line); 
 
                /* get scsi-id */
------------



Comment 3 Harald Hoyer 2003-01-21 12:55:10 UTC
removed the special patch.. cdrtools-2.0-3

Comment 4 Dave Habben 2003-01-22 17:43:45 UTC
Confirmed as fixed in cdrtools-2.0-3