Subject: Re: Transcode and pthreads
To: Vincent <10.50@free.fr>
From: Andrew Doran <ad@netbsd.org>
List: tech-pkg
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