From owner-freebsd-ports-bugs@FreeBSD.ORG Tue Mar 6 19:40:15 2012 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E6FB21065670 for ; Tue, 6 Mar 2012 19:40:14 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id C4BC28FC16 for ; Tue, 6 Mar 2012 19:40:14 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q26JeEXI055489 for ; Tue, 6 Mar 2012 19:40:14 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q26JeE1l055488; Tue, 6 Mar 2012 19:40:14 GMT (envelope-from gnats) Resent-Date: Tue, 6 Mar 2012 19:40:14 GMT Resent-Message-Id: <201203061940.q26JeE1l055488@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, "C. P. Ghost" Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 98639106564A for ; Tue, 6 Mar 2012 19:36:09 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22]) by mx1.freebsd.org (Postfix) with ESMTP id 88AFD8FC16 for ; Tue, 6 Mar 2012 19:36:09 +0000 (UTC) Received: from red.freebsd.org (localhost [127.0.0.1]) by red.freebsd.org (8.14.4/8.14.4) with ESMTP id q26Ja9Mj031488 for ; Tue, 6 Mar 2012 19:36:09 GMT (envelope-from nobody@red.freebsd.org) Received: (from nobody@localhost) by red.freebsd.org (8.14.4/8.14.4/Submit) id q26Ja9Nd031487; Tue, 6 Mar 2012 19:36:09 GMT (envelope-from nobody) Message-Id: <201203061936.q26Ja9Nd031487@red.freebsd.org> Date: Tue, 6 Mar 2012 19:36:09 GMT From: "C. P. Ghost" To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: ports/165787: port/dvdisaster dumps core on RELENG_9/amd64 X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Mar 2012 19:40:15 -0000 >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: