[omniORB] Multithreaded server crashes when >1 client requests are pending

Jimmy Hui jimmy.hui@objectvalley.com
Sun, 3 Sep 2000 18:59:47 +0800


This is a multi-part message in MIME format.

------=_NextPart_000_0004_01C015D9.20EA81E0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit


Hi all,

I've written a multi-threaded corba server.  It works fine at most of the
time, but it crashes when there are more than 1 client requests pending at
the same time.  I've checked the core, and it crashes before it enters the
application code.  That is, the server is not thread-safe.

The following are the configuration, and I wonder if I've missed anything:

. Omniorb 2.80
. Solaris 2.6
. gcc 2.95.2

And the following is the pre-compiler configuration:
OMNI_LDLIB = -lomniDynamic2 -lomnithread -lomniORB2 -ltcpwrapGK
C++FLAGS = $(C++OPTS) -fexceptions -Wno-unused -D__sunos__ -D__sparc__ \
        -D__OSVERSION__=5 -D__cplusplus -D_REENTRANT -D_THREAD_SAFE

Thanks a lot.

Regards,
Jimmy






------=_NextPart_000_0004_01C015D9.20EA81E0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 5.50.4134.600" name=3DGENERATOR></HEAD>
<BODY>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial size=3D2>Hi=20
all,</FONT></SPAN></DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial size=3D2>I've =
written a=20
multi-threaded corba server.&nbsp; It works fine at most of the time, =
but it=20
crashes when there are more than 1 client requests pending at the same=20
time.&nbsp; I've checked the core, and it crashes before it enters the=20
application code.&nbsp; That is, the server is not=20
thread-safe.</FONT></SPAN></DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial size=3D2>The =
following are=20
the configuration, and I wonder if I've missed =
anything:</FONT></SPAN></DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial size=3D2>. =
Omniorb=20
2.80</FONT></SPAN></DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial size=3D2>. =
Solaris=20
2.6</FONT></SPAN></DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial size=3D2>. gcc=20
2.95.2</FONT></SPAN></DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial size=3D2>And =
the following is=20
the pre-compiler configuration:<BR>OMNI_LDLIB =3D -lomniDynamic2 =
-lomnithread=20
-lomniORB2 -ltcpwrapGK</FONT></SPAN></DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial =
size=3D2>C++FLAGS =3D=20
$(C++OPTS) -fexceptions -Wno-unused -D__sunos__ -D__sparc__=20
\<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -D__OSVERSION__=3D5 =
-D__cplusplus=20
-D_REENTRANT -D_THREAD_SAFE<BR></FONT></SPAN></DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial size=3D2>Thanks =
a=20
lot.</FONT></SPAN></DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial=20
size=3D2>Regards,</FONT></SPAN></DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial=20
size=3D2>Jimmy</DIV></FONT></SPAN>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial=20
size=3D2>&nbsp;</DIV></FONT></SPAN>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV></DIV>
<DIV>&nbsp;</DIV></BODY></HTML>

------=_NextPart_000_0004_01C015D9.20EA81E0--