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>