[omniORB] Multithreaded server crashes when >1 client requests are pending
Jimmy Hui
jimmy.hui@objectvalley.com
Sun, 3 Sep 2000 18:51:49 +0800
This is a multi-part message in MIME format.
------=_NextPart_000_0000_01C015D8.0484B8A0
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_0000_01C015D8.0484B8A0
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><SPAN class=3D500213210-03092000><FONT face=3DArial=20
size=3D2></FONT></SPAN> </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> </DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial size=3D2>I've =
written a=20
multi-threaded corba server. 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. I've checked the core, and it crashes before it enters the=20
application code. 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> </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> </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> </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> -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> </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> </DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial=20
size=3D2> </DIV></FONT></SPAN>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial=20
size=3D2></FONT></SPAN> </DIV>
<DIV><SPAN class=3D500213210-03092000><FONT face=3DArial=20
size=3D2></FONT></SPAN> </DIV></BODY></HTML>
------=_NextPart_000_0000_01C015D8.0484B8A0--