Bug 65544 - clnt_call() returns Failure in multithread environment on RH7.2
clnt_call() returns Failure in multithread environment on RH7.2
Status: CLOSED WONTFIX
Product: Red Hat Linux
Classification: Retired
Component: glibc (Show other bugs)
8.0
i586 Linux
high Severity high
: ---
: ---
Assigned To: Jakub Jelinek
Brian Brock
:
: 65545 65880 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2002-05-27 07:05 EDT by Konda Reddy
Modified: 2005-10-31 17:00 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2003-04-23 19:04:27 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Konda Reddy 2002-05-27 07:05:18 EDT
Description of Problem:
I have a multi-threaded client, in which I create
CLIENT handle in the first thread, and then use
clnt_call in other child-threads to access server.
If the clnt_create() and clnt_call() are invoked in the same thread then 
clnt_call() returns success. 
On Linux RH7.1 there is no problem. but it's giving problem on RH7.2 (2.4.7-10 
#1 Thu Sep 6 17:21:28 EDT 2001 i586). 

Version-Release number of selected component (if applicable):


How Reproducible:
Call clnt_create() in one thread and get the CLIENT pointer then call clnt_call
() in another thread by passing the same CLIENT pointer. It returns Failure.

Steps to Reproduce:
1. 
2. 
3. 

Actual Results:
clnt_call() returns FAILURE.

Expected Results:
clnt_call() should return SUCCESS.

Additional Information:
Comment 1 Arjan van de Ven 2002-05-27 07:15:55 EDT
clnt_call is not a kernel function.
Also it's recommended to upgrade to at least kernel 2.4.9-31 which is released
as erratum
Comment 2 Arjan van de Ven 2002-05-27 07:17:25 EDT
*** Bug 65545 has been marked as a duplicate of this bug. ***
Comment 3 Konda Reddy 2002-05-27 07:34:44 EDT
Hi Jakub,

I have create an attachment for the bug #65545 and the details of the 
attachment is as follows.

+Created an attachment (id=58665)
+new.tar file has the sample to reproduce the Bug.
+

Just follow the steps below to reproduce the Bug:
1. run "compile"  - to compile the sample.
2. run "dateproc & "  - to run the RPC server
3. run "rdate hostname" - to run the client. (Hostname must the machine name 
where the dateproc server is running.

You will get an error saying that clnt_call() failed.

Since this is related to mutlithreading, I suspect this is of kernel problem.

Thanks,
Konda.
Comment 4 Alan Cox 2002-12-15 15:48:46 EST
*** Bug 65880 has been marked as a duplicate of this bug. ***
Comment 5 Alan Cox 2002-12-15 15:49:15 EST
Not kernel definitely

Still weird in 8.0..
Comment 6 Ulrich Drepper 2003-04-23 19:04:27 EDT
This is intentional.  The RPC interfaces are misdesigned.  To allow using the
code in multi-threaded environments the relevant data is thread local.  Yes,
this is incompatible from what was in 7.1 but that's life.  RPC in
multi-threaded apps ebfore 7.2 was completely unsupported.

Note You need to log in before you can comment on or make changes to this bug.