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.

Thanks,
Ron


      
_______________________________________________
Freeswitch-dev mailing list
Freeswitch-dev@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.freeswitch.org

Reply via email to