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

|
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 |

|
2006-11-15 15:41:34 |
On 11/15/06, Jamie Gennis <jgennis gmail.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-devel lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jackit-dev
el
|
|
| patch: Fix for a jack freebob driver
segv at shutdown |

|
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. I'm not sure what other versions it might have gotten in to
Thanks, Jamie
On 11/15/06, Jack O'Quin < jack.oquin gmail.com">jack.oquin gmail.com> wrote:
On 11/15/06, Jamie Gennis < jgennis gmail.com">jgennis gmail.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
|
[1-3]
|
|
|
about | contact Other archives ( Real Estate discussion Medical topics )
|