Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Mar 2012 19:36:09 GMT
From:      "C. P. Ghost" <cpghost@cordula.ws>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/165787: port/dvdisaster dumps core on RELENG_9/amd64
Message-ID:  <201203061936.q26Ja9Nd031487@red.freebsd.org>
Resent-Message-ID: <201203061940.q26JeE1l055488@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         165787
>Category:       ports
>Synopsis:       port/dvdisaster dumps core on RELENG_9/amd64
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Mar 06 19:40:14 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     C. P. Ghost
>Release:        FreeBSD 9.0-STABLE/amd64
>Organization:
Cordula's Web
>Environment:
FreeBSD phenom.cordula.ws 9.0-STABLE FreeBSD 9.0-STABLE #0 r232305: Wed Feb 29 17:52:38 CET 2012     root@phenom.cordula.ws:/usr/obj/usr/src/sys/GENERIC  amd64
>Description:
The port sysutils/dvdisaster dumps core on RELENG_9 (it didn't on RELENG_8).
>How-To-Repeat:
Run dvdisaster without options, and watch it crash immediately before
even showing the GUI.
>Fix:
Attached is a patch that temporarily disables the code which causes the coredump.
Use at your own risk: I don't know what ramifications this would have in
practice. With this kludge, dvdisaster works again on my system.

Maybe the patch should be conditioned on the FreeBSD version, so that it
only works on RELENG_9 (and later)? I suspect changes in the CAM layer
API/ABI to be responsible for the breakage.

This is only a temporary workaround, until upstream fixes the problem.

Put the attached patch file in /usr/ports/sysutils/dvdisaster/files
and rebuild/reinstall the port.

Patch attached with submission follows:

--- scsi-freebsd.c.orig	2012-03-06 20:08:13.000000000 +0100
+++ scsi-freebsd.c	2012-03-06 20:10:52.000000000 +0100
@@ -194,7 +194,14 @@
 
    /* Extract sense data */
 
+   /*
+    * The following memcpy() smashes the stack of scsi-layer:InquireDevice()
+    * when called on FreeBSD amd64 RELENG_9.  Commenting it out, until the
+    * real reason has been found.  -- cpghost@cordula.ws
+    */
+#if 0
    memcpy(sense, &(ccb->csio.sense_data), sizeof(struct scsi_sense_data));
+#endif
 
    if((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP)
      return 0;


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203061936.q26Ja9Nd031487>