-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Description
| Field | Value |
|---|---|
| Bugzilla ID | 1648 |
| Reporter | Jeffrey Graham |
| Assigned to | DOC Center Support List (internal) |
| Product | TAO |
| Component | Example |
| Version | 1.3.5 |
| Platform / OS | x86 / Linux |
| Priority | P3 |
| Severity | normal |
| Status | RESOLVED |
| Resolution | INVALID |
| Created | 2003-11-13 17:14:16 -0600 |
Originally posted by Jeffrey Graham on 2003-11-13 17:14:16 -0600
SYNOPSIS:
client "A" calles a method in server "B". Inside this method, "B" calles server
"C".
"B" locks up and thus so does "A". "C" is still running ok.
DESCRIPTION:
client "A" calles a corba method on server "B".
"B" locks it's mutex and calls a corba method on server "C"
"C" locks it's mutex, sets a return value, unlocks its mutex
and returns the value to "B"
"B" sets its return value and unlocks it mutex, then returns
it's answer to "A".
"A" gets the value
This scenario works fine as long as there is exactly one "A" client.
When there are two or more "A" clients, it appears that the calls are
not serialized to "B", i.e., B blocks when attempting to lock it's mutex...
it's already locked.
notes: If I run "A" against a pure Server (that makes no other calls) then I
cannot make it lock up
I have tried running all three processes on one machine and on different
machines-- all lock up
I have tried running on single cpu machines and multiple cpu machines
(all same compiler,os,ace+tao)-- all lock up
If I remove the mutex in B, the lock up goes away.
REPEAT BY:
I have a tar ball of sample code. Don't know how to attach it here. Please advise.
SAMPLE FIX/WORKAROUND:
unknown.
Reactions are currently unavailable