Banyan Vines Session Terminates Early
Return to The Warp Pharmacy:Software
Last update: 10th February, 1996
Symptoms
After logging into the Banyan Vines Server, the session is terminated without reading profile.
Hardware
This so far has occurred on Dell's IBM and some Clones.
Problem
While trying to login to a Banyan Vines Server an Error occurs COM:104 Which means...
COM104 - OUT OF HEAP SPACE.
The tasking system within the service could not obtain sufficient memory to perform the request. If this error occurs consistently, there may be a problem with the service.
Procedure
Instead of using the command ban.exe command to run the login program. Do the following:
Create an OS/2 Session icon and put the program name C:\VINES\BAN.EXE /NL Assuming your Vines directory is c:\vines.
This will load the Banyan Drivers and activate the z:\ drive.
Then Create another OS/2 icon and call it LOGON.CMD. In this file put the following program in it.
/* This program will clear the environment vars from a OS/2 Session */ /* Then it will check to see if you have the already executed the ban.exe */ /* program, if so it will reset the environment and run login.exe otherwise */ /* it will run ban.exe with the parameter of /NL for no login then it will */ /* run the same code as above */ call RxFuncAdd 'Sysloadfuncs', 'RexxUtil', 'Sysloadfuncs' call sysloadfuncs Call SysCls say "Enter your Login ID:" pull logid map=sysdrivemap('Z:',REMOTE) if map <>'Z:' THEN do "C:\VINES\BAN.EXE /NL" map=sysdrivemap('Z:',REMOTE) end IF MAP='Z:' THEN DO SAY "Verifying that LOGIN.EXE exists on the Z:\ drive" rc=sysfiletree("Z:\LOGIN.EXE",STUFF.0,F,,) SELECT WHEN rc=0 THEN DO env='OS2ENVIRONMENT' RCV= VALUE('PROMPT','',ENV) RCV= VALUE('PATH','',ENV) RCV= VALUE('DPATH','C:\OS2\SYSTEM',ENV) RCV= VALUE('HELP','',ENV) RCV= VALUE('AUTOSTART','',ENV) RCV= VALUE('BOOKSHELF','',ENV) RCV= VALUE('SOMIR','',ENV) "Z:\LOGIN.EXE" logid "exit" end WHEN RC=1 THEN DO SAY "HEY DUMMY YOU'RE ALREADY LOGGED IN TO THE NETWORK" CALL SysSLEEP 15 "EXIT" end Otherwise DO SAY "NOT ENOUGH MEMORY" CALL SysSLEEP 15 "EXIT" END end /* end select */ END /* end if */
Notes
What the problem is, is the LOGIN.EXE program is calling the routines necessary to login and validate you on the system. While doing this, it copies the current environment to the LOCAL HEAP. BAD idea, Anyhow, What this program does and wipe out the environment vars for that OS/2 Session and then RUNs the z:\login.exe program.
It works Great!!!!!!
Any questions ??? Send a note to jafrank@ibm.net or jfranklin@fdic.gov
By John Franklin
Return to The Warp Pharmacy:Software