Subject: Re: Transcode and pthreads
To: Vincent <10.50@free.fr>
From: Andrew Doran <ad@netbsd.org>
List: current-users
Date: 03/04/2007 20:09:22
Hi,
> I've been trying to compile and use the multimedia/transcode package. It
> does not work, because it never exits: e.g "transcode -h" gives the help
> message and then stalls forever.
>
> A ktrace reveals this:
>
> 444 1 transcode RET write 40/0x28
> 444 1 transcode CALL write(1,0x80a3000,0x23)
> 444 1 transcode GIO fd 1 wrote 35 bytes
> " -v print version
> "
> 444 1 transcode RET write 35/0x23
> 444 1 transcode CALL write(1,0x80a3000,1)
> 444 1 transcode GIO fd 1 wrote 1 bytes
> "
> "
> 444 1 transcode RET write 1
> 444 1 transcode CALL _lwp_wakeup(2)
> 444 1 transcode RET _lwp_wakeup 0
> 444 2 transcode RET __sigtimedwait -1 errno 87 Operation
> Canceled
> 444 2 transcode CALL __sigtimedwait(0x8095ff0,0xbb7fff2c,0)
> 444 2 transcode RET __sigtimedwait -1 errno 87 Operation
> Canceled
> 444 2 transcode CALL __sigtimedwait(0x8095ff0,0xbb7fff2c,0)
> 444 1 transcode CALL _lwp_wait(2,0xbfbfd818)
> 444 2 transcode RET __sigtimedwait 0
> 444 2 transcode CALL write(2,0xbb7ff7e0,0x2a)
> 444 2 transcode GIO fd 2 wrote 42 bytes
> "
> [transcode] (sighandler) SIGINT received
> "
>
> It seems that _lwp_wakeup fails in some way therefore I was wondering if
> this has to do with the recent changes to libpthread.
Thanks for the problem report. This should be fixed by revision 1.14
of src/lib/libpthread/pthread_cancelstub.c.
Andrew