Bug 20441
| Summary: | RH7.0 rexec fails | ||
|---|---|---|---|
| Product: | [Retired] Red Hat Linux | Reporter: | dnd |
| Component: | rsh | Assignee: | Nalin Dahyabhai <nalin> |
| Status: | CLOSED DUPLICATE | QA Contact: | David Lawrence <dkl> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 7.0 | ||
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | i686 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2000-11-20 22:18:00 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
*** Bug 20592 has been marked as a duplicate of this bug. *** |
Command executed on system "dndsd4" RH7.0 to remote system "dndsd3" RH6.2: # rexec dndsd4 date <Hostname>: Connection refused rexec: Error in rexec system call rexec: The following system error may itself be in error rexec: Connection refused. I tried the same command on a RH6.2 and it works just fine. I moved the /usr/bin/rexec executable to the RH7.0 system and that works fine on the RH6.2 system but fails on the RH7.0 system. I used strace to trace both situations: 1) rexec from RH7.0 to RH6.2 => Good trace 2) rexec from RH6.2 to RH7.0 => Bad trace rexec command trace analysis ============================ strace shows initiation of a connection on a socket fails because of a bad destination socket number parameter for connect() function for rexec command. From rexec good trace (rexec RH6.2 to RH7.0) ============================================ dndsd3 dndsd4 [RH6.2] <---- rexec dndsd3 date ------> [RH7.0] I'm showing only two lines of trace produced from: "strace -v rexec dndsd3 date" ... trace clipped... socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3 connect(3, {sin_family=AF_INET, sin_port=htons(512), sin_addr=inet_addr ("15.114.20.110")}}, 16) = 0 ... where input parameters for connect() function are: 1) file descriptor to a socket = 3 2) socket address data structure for destination address = {sin_family=AF_INET, sin_port=htons(512), sin_addr=inet_addr ("15.114.21.111")}} 3) address length = 16 From rexec bad trace (rexec RH7.0 to RH6.2) =========================================== dndsd4 dndsd3 [RH7.0] <---- rexec dndsd3 date ------> [RH6.2] I'm showing only two lines of trace produced from: "strace -v rexec dndsd4 date" .... trace clipped... socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3 connect(3, {sin_family=AF_INET, sin_port=htons(2), sin_addr=inet_addr ("15.114.21.112")}}, 16) = -1 ECONNREFUSED (Connection refused) .... Return value for connect() shows: ECONNREFUSED (No one listening on remote address) The above shows that the problem lies with NOT getting a good end-point with a good destination socket number on RH7.0. Is this a problem with RH7.0 rexec or is it a problem with the network stack on RH7.0 since I've moved the RH7.0 /usr/bin/rexec executable onto a RH6.2 system and it works just fine in RH6.2 environment.