Kbase 20906: Error 748 and Firewalls
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/16/2008 |
|
Status: Verified
FACT(s) (Environment):
Progress 7.x
Progress 8.x
Progress 9.x
SYMPTOM(s):
The server or the system has no more resources. Try a larger -n. (748)
Client/Server configuration with a firewall
CAUSE:
Nowadays is very common that customer are using routers, firewalls and a lot of devices to increase the access security in their networks, however a wrong configuration in any of these devices could cause errors in the communcation between a Progress client and the server.
A very simple sample to reproduce the problem here documented is start a Progress DB in any server using the startup parameter -minport and -maxport, if we are using a firewall we should open the range of ports specified for these startup parameters, but what happens if we don't open all of the needed ports for Progress to run ?. Basicly when we start a connection to a Progress Database the sequence is open a connection to the broker in the port the broker is running (-S, this port should be open too) and then the broker will give us a diferent port where a server is listening for users, if we have, for example, a range of four servers listening and only two ports are open then we could monitor the database and under R&D,1,3; we'll find this kind of information :
04/26/01 Status: Servers
12:45:52
Sv Cur. Max. Port
No Pid Type Protocol Logins Users Users Num
0 1096 Login TCP 1 0 5 2555
1 1424 Auto TCP 1 0 5 3001
2 1574 Auto TCP 1 0 5 3002
3 0 Inactive 0 0 0 0
4 0 Inactive 0 0 0 0
Enter <return>, R, P, T, or X (? for help):
As you can see, only two servers have activity and other two are inactive, however there could be the case when the broker redirects an user to a server which is unreachable due the fact that the port is not open so in this case the borker increments it's users count but the users gets no database connection, internally the servers user count which is keep in shared memory is also increased so after a while if we monitor the database we can see information like this:
04/26/01 Status: Servers
10:15:02
Sv Cur. Max. Port
No Pid Type Protocol Logins Users Users Num
0 1096 Login TCP 1 0 5 2555
1 1424 Auto TCP 1 4 5 3001
2 1574 Auto TCP 1 4 5 3002
3 1585 Auto TCP 0 4 5 3003
4 1671 Auto TCP 0 4 5 3004
Enter <return>, R, P, T, or X (? for help):
In this case as you can verify in the the current user column it shows that there are 4 users connected at the time on each server but two servers have 0 logins, after some aditional connections this column will increase to 5 users connected and after the count is increased in all servers you'll get the error 748 and no more connections will be acepted.
FIX:
Make sure all the ports in the range from -minport to -maxport or the default ports used by Progress are free for connection and are not being blocked for any network device, neither ports communication software.