List Info

Thread: patch: Fix for a jack freebob driver segv at shutdown




patch: Fix for a jack freebob driver segv at shutdown
user name
2006-11-15 10:31:22
Apparently when shutting down JACK never calls driver->;detach (or nt_detach), so the freebob driver never calls freebob_streaming_finish() and leaks some slists.  This leaves the freebob streaming lib's messagebuffer thread running while it's memory gets freed out from under it.  If that thread ever wakes up at the wrong time (to check the cond it's waiting on) it will SEGV.

Also, while fixing this I discovered that the freebob_driver_detach() function will SEGV if it's ever called because the _attach() function adds NULL data nodes (see comments in freebob_driver_attach()) to the end of the port lists and passing a NULL port to jack_unregister_port() SEGVs.

This patch just calls freebob_driver_detach() at driver_finish() time, which should clean things up properly.

Jamie
patch: Fix for a jack freebob driver segv at shutdown
user name
2006-11-15 15:41:34
On 11/15/06, Jamie Gennis <jgennisgmail.com> wrote:
> Apparently when shutting down JACK never calls
driver->detach (or
> nt_detach), so the freebob driver never calls
freebob_streaming_finish() and
> leaks some slists.  This leaves the freebob streaming
lib's messagebuffer
> thread running while it's memory gets freed out from
under it.  If that
> thread ever wakes up at the wrong time (to check the
cond it's waiting on)
> it will SEGV.
>
>  Also, while fixing this I discovered that the
freebob_driver_detach()
> function will SEGV if it's ever called because the
_attach() function adds
> NULL data nodes (see comments in
freebob_driver_attach()) to the end of the
> port lists and passing a NULL port to
jack_unregister_port() SEGVs.
>
> This patch just calls freebob_driver_detach() at
driver_finish() time, which
> should clean things up properly.

Thanks for the patch.

Have the FreeBob developers reviewed it already?

I had thought the f_d_detach() fix was already included. 
Was that
some other version of freebob?
-- 
 joq

------------------------------------------------------------
-------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the
chance to share your
opinions on IT & business topics through brief surveys -
and earn cash
http://www.techsay.com/default.
php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Jackit-devel mailing list
Jackit-devellists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jackit-dev
el
patch: Fix for a jack freebob driver segv at shutdown
user name
2006-11-15 16:33:08
No, the freebob devs haven't seen this yet.  I was hoping the right people would be watching the jack list too, but I'm cc'ing the freebob mailing list just in case.

This patch was made against the latest jack trunk.&nbsp; I'm not sure what other versions it might have gotten in to

Thanks,
Jamie

On 11/15/06, Jack O'Quin < jack.oquingmail.com">jack.oquingmail.com> wrote:
On 11/15/06, Jamie Gennis < jgennisgmail.com">jgennisgmail.com> wrote:
>; Apparently when shutting down JACK never calls driver->;detach (or
> nt_detach), so the freebob driver never calls freebob_streaming_finish() and
> leaks some slists.&nbsp; This leaves the freebob streaming lib's messagebuffer
> thread running while it's memory gets freed out from under it. &nbsp;If that
> thread ever wakes up at the wrong time (to check the cond it's waiting on)
> it will SEGV.
>
 Also, while fixing this I discovered that the freebob_driver_detach()
> function will SEGV if it's ever called because the _attach() function adds
> NULL data nodes (see comments in freebob_driver_attach()) to the end of the
> port lists and passing a NULL port to jack_unregister_port() SEGVs.
>;
> This patch just calls freebob_driver_detach() at driver_finish() time, which
> should clean things up properly.

Thanks for the patch.

Have the FreeBob developers reviewed it already?

I had thought the f_d_detach() fix was already included.&nbsp; Was that
some other version of freebob?
--
joq

[1-3]

about | contact  Other archives ( Real Estate discussion Medical topics )