Bug 48126 - transcode -M2 doesn't properly work for DVD->SVCD conversion
Summary: transcode -M2 doesn't properly work for DVD->SVCD conversion
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-02-10 00:50 UTC by Andriy Gapon
Modified: 2003-04-05 21:32 UTC (History)
0 users

See Also:


Attachments
patch-pipe-io-new (1.30 KB, text/plain)
2003-02-10 00:50 UTC, Andriy Gapon
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andriy Gapon 2003-02-10 00:50:21 UTC
due to specifics of FreeBSD pthreads implementation transcode doesn't work
properly with -M 2 (and probably higher) option. The problems manifest
themselves as either (a) transcode "hang" (no work, no CPU utilization) or
(b) transcode exits and "completes work" too early.

Fix: symptome (a) is caused by the way libc_r handles file descriptors at execve(),
basically after forking a new process the whole parent process would block
and read()/write() instead of just a single thread. See
http://www.freebsd.org/cgi/query-pr.cgi?pr=standards/43335
for details. clone.c part of the patch below should help those who have
lib/libc_r/uthread/uthread_execve.c version  1.11.2.6 for 4.X or 1.16 for 5.X
it will not make any difference for those who have earlier libc_r

symptome (b) results from delivery of a signal to a process for thread context
switch. In this situation read()/write() operation on a fifo may return EINTR,
normally opeartion should be retried in this situation, but transcode would
treat it as an error. ioaux.c part of patch should help with that.

How-To-Repeat: try to transcode a long DVD movie to mpeg2 (svcd) using -M 2 option
Comment 1 Tilman Keskinoz freebsd_committer freebsd_triage 2003-04-05 21:31:37 UTC
State Changed
From-To: open->closed

Superseded by 50377