Date: Sun, 6 Aug 2006 00:15:24 GMT From: Chad Fraleigh <chadf@bookcase.com> To: freebsd-gnats-submit@FreeBSD.org Subject: misc/101450: transcode/tcprobe broken for devfs Message-ID: <200608060015.k760FON1064486@www.freebsd.org> Resent-Message-ID: <200608060020.k760K8lk005617@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 101450 >Category: misc >Synopsis: transcode/tcprobe broken for devfs >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Aug 06 00:20:07 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Chad Fraleigh >Release: 6.1 >Organization: >Environment: FreeBSD anonymous.host.name 6.1-RELEASE FreeBSD 6.1-RELEASE #0: Fri Jul 28 18:51:04 EDT 2006 root@:/usr/src/sys/i386/compile/MYCONFIG i386 transcode-1.0.2_3 >Description: tcprobe fails on CD/DVD devices. The transcode 1.0.2_3 port uses device major numbers to determine how to use a device path. With devfs no longer using well known major device numbers, the function used to identify it thinks all devices are OSS (major 0). The broken code is in import/ioaux.c:probe_path(): # ifdef __FreeBSD__ case 4: /* acd */ return(TC_PROBE_PATH_ABSPATH); case 229: /* bktr */ return(TC_PROBE_PATH_BKTR); case 0: /* OSS */ return(TC_PROBE_PATH_OSS); # endif This causes an indirect error with tcprobe (which also effects the dvdrip port) when it attempts to do an SNDCTL_DSP_GETFMTS ioctl() [misreported in the error message as SNDCTL_DSP_SETFMT]. OpenBSD may also be affected if it has, or plans to, make simular device changes (in case any one cross project monitoring is reading this). >How-To-Repeat: % tcprobe -i /dev/acd0 [tcprobe] OSS audio device SNDCTL_DSP_SETFMT: Inappropriate ioctl for device [tcprobe] failed to probe source % tcprobe -i /dev/null [tcprobe] OSS audio device SNDCTL_DSP_SETFMT: Inappropriate ioctl for device [tcprobe] failed to probe source >Fix: Abstact: Determine reliable method to distinguish between CD/DVD, BKTR, OSS, and other devices and add approriete patch to the port and/or submit to original authors. Possibly even adding a warning message to the port during installation so that users know it is broken in this respect, until a real fix can be made. >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200608060015.k760FON1064486>