From: Rob McCool <robm@netscape.com>
Newsgroups: netscape.devs-nsapi
Subject: a warning about UNIX 2.0 NSAPI thread calls
Date: Mon, 29 Jul 1996 21:44:25 -0700

Satish recently pointed out a serious problem in the 2.0 threading implementation (the systhread_*() calls esp. systhread_start) which can cause server crashes.

The basic problem is that if you create a thread using systhread_start(), and that thread goes back into NSAPI and ends up in the networking code, then the worker process will crash. Under IRIX this causes deadlocks and everywhere else it causes loss of service.

The only available workaround is to avoid using a networking call from a user-spawned thread. This means no calls to net_*, and if DNS is turned on then you must avoid passing the Session parameter to log_error.

This will be addressed in a patch, but I thought I'd let everyone know so that they don't have to discover it for themselves.

--
Rob McCool, robm@netscape.com http://home.netscape.com/people/robm/
Stunt Programmer, Netscape Communications Corporation
It was working ten minutes ago, I swear...
Reproduced by permission of the author.