[Freeswitch-dev] FreeSWITCH Windows Crash due to Detached Threads (and solution)
Michael Jerris
mike at jerris.com
Sun Feb 15 09:27:54 PST 2009
On Feb 15, 2009, at 9:49 AM, Ron Avriel wrote:
> Hi,
>
> Under Windows, FreeSWITCH consistently crashes with all default
> install setting after issuing the ‘shutdown’
> command from console immediately after startup, without a single
> call handled.
> Note that on my servers, this only happens in ‘Release’ version, not
> in ‘Debug’.
>
> The problem is due to “problematic” Windows thread handling.
> I noticed that all FS threads are ‘detachable’ and not ‘joinable’.
> When an application with active detached threads terminates, a race
> condition can lead to the application crash, as shown in the sample
> application
> at http://pastebin.freeswitch.org/7225 .
>
> This is exactly what causes FS to crash as a result of the
> mod_event_socket detached runtime thread.
>
> A temporary workaround is to change in switch_loadable_module_exec()
> the call to
> switch_yield(1000000) with switch_thread_exit(thread, 0).
>
> In my case it solved the crash, but theoretically it does not always
> solve the problem, because there is no
> guarantee that it will get called before the main thread reaches its
> termination code.
>
> I think the only safe solution is to use ‘joinable’ threads. Is
> there a good reason they’re not used?
>
> Note – this problem was reported to jira about a month ago http://jira.freeswitch.org/browse/MODEVENT-37
> but it seems it was ignored.
>
The issue has not been ignored, it just has not been resolved yet.
Please put these details on that bug, I'll take a look.
Mike
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20090215/33694184/attachment.html
More information about the Freeswitch-dev
mailing list