Bug 65544 - clnt_call() returns Failure in multithread environment on RH7.2
Summary: clnt_call() returns Failure in multithread environment on RH7.2
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: glibc
Version: 8.0
Hardware: i586
OS: Linux
high
high
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Brian Brock
URL:
Whiteboard:
: 65545 65880 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2002-05-27 11:05 UTC by Konda Reddy
Modified: 2016-11-24 14:51 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2003-04-23 23:04:27 UTC
Embargoed:


Attachments (Terms of Use)

Description Konda Reddy 2002-05-27 11:05:18 UTC
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 11:15:55 UTC
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 11:17:25 UTC
*** Bug 65545 has been marked as a duplicate of this bug. ***

Comment 3 Konda Reddy 2002-05-27 11:34:44 UTC
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 20:48:46 UTC
*** Bug 65880 has been marked as a duplicate of this bug. ***

Comment 5 Alan Cox 2002-12-15 20:49:15 UTC
Not kernel definitely

Still weird in 8.0..


Comment 6 Ulrich Drepper 2003-04-23 23:04:27 UTC
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.