Error Messages (I)
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #
Internal rpc call failed (Interrupted system call)
Product: Multi-Tier (all versions)
Action: Progress 9.x shared memory connection
Error: Internal rpc call failed (Interrupted system call): RPC: Unable to receive; errno = Connection reset by peer
Background:
The above error message occurs when the
In sockets mode, the Progress Agent sends requests to the Progress server process, _mprosrv, which then makes any database modifications itself. As the _mprosrv process normally runs as the Progress user, it will generally have appropriate permissions to modify the database files.
In shared memory mode, however, the the _mprosrv process simply ensures that only one connection can modify any record at any time. In this case, the Progress Agent modifies the database files itself, and thus requires direct read and write access.
You can see the current privilege settings on the database files, with the command ls -al.
Output will resemble this --
-rw-r----- 1 fred dba 32768 Jun 9 11:42 demo.db
Solutions:
- Start the Broker as the *.db file owner, in this case the Unix user, fred.
The Agent process will also run as fred, and will thus be able to read from and write to the database files.
- If the Broker cannot be started by the *.db owner, you may modify the Progress database file permissions using a command similar to the following --
chmod g+rw demo* chmod 664 demo*
The first command adds read/write privileges to the database files for all dba group members. The second includes read privileges for everyone, whether group members or not. In either case, the user launching the Broker must be a member of the dba group.
Verify that the files now display the appropriate permissions, again with the command ls -al. Output should resemble this --
-rw-rw-r-- 1 fred dba 32768 Jun 9 11:42 demo.db
Referenced by...