[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference vaxaxp::vmsnotes

Title:VAX and Alpha VMS
Notice:This is a new VMSnotes, please read note 2.1
Moderator:VAXAXP::BERNARDO
Created:Wed Jan 22 1997
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:703
Total number of notes:3722

258.0. "MBFULL ... what to look for ?" by PADKOA::COSTEUX (Le Plat Pays qui est le mien...) Thu Feb 27 1997 09:24

    A customer does a LIB$SPAWN in her application (Fortran) and gets a
    MBFULL error. No mailbox is created as shown by SDA. We increased the
    parameters DEFMBXBUFQUO, DEFMBXMXMSG, MAXBUF and the result is still
    the same. This error occurs after that the application has run for a
    while and so did some internal works.
    We get the same result while typing the command SPAWN at the DCL
    prompt. We tried SPAWN/NOKEY and/or SPAWN/NOSYMB and/or
    SPAWN/NOLOGICAL... and the result is always a MBFULL error.
    It only works if we do first a SET PROCESS/RESOURCE_WAIT...
    Any idea on what could be also ckecked ??
    
    Thanks in advance for help.
    
    Jean-Pierre
    
T.RTitleUserPersonal
Name
DateLines
258.1Alpha-V6.2PADKOA::COSTEUXLe Plat Pays qui est le mien...Thu Feb 27 1997 09:261
    Forgot to say that the customer run OpenVMS AXP-V6.2
258.2must have resource wait set.MILORD::BISHOPThe punishment that brought us peace was upon HimThu Feb 27 1997 09:3915
    you have to have resource wait set. I remember tripping over this years
    ago and investigating why.
    
    The spawning processing throughs a number of large messages into the
    mailbox (process logical names, symbols, etc) and only stops when it 
    hits the resource wait. At this point t he spawned process can get in
    and start reading them. There's no synchronization between the two, the
    parent sends its messages as fast as the system will let it; the
    subprocess reads them as fast as they appear.
    
    If you don't have resource wait set, then the parent gets an error back
    that it doesn't attempt to handle, instead of letting the system handle
    it all behind its back (the designed approach for spawn).
    
    - Richard.
258.3AUSS::GARSONDECcharity Program OfficeThu Feb 27 1997 17:1310
re .0
    
>    It only works if we do first a SET PROCESS/RESOURCE_WAIT...
    
    True. Known feature.
    
    Don't ask me why SPAWN doesn't set resource wait mode before doing its
    stuff but calling $SETRWM yourself around the call may be a workaround
    if you really have to have resource wait off (in which case you would
    want to restore the setting after the SPAWN).
258.4disable resource wait only when necessary, NOT globallyGIDDAY::GILLINGSa crucible of informative mistakesThu Feb 27 1997 20:4020
> It only works if we do first a SET PROCESS/RESOURCE_WAIT

  Jean-Pierre,

    Are you sure you and your customer understand the full impliciations of 
  running with /NORESOURCE_WAIT? There are lots of things which will fail
  in mysterious and possibly non-repeatable ways if you do this (like, for
  example SPAWN ;-). There are lots of places that resource wait is assumed
  that you have no control over. Rewriting sections of OpenVMS so they
  explicitly enable and disable resource wait would just slow things down
  for everyone and only benefit those who like to run with the blade guards
  off and no seatbelts. Moreover, it would be a direct violation of the
  users explicit instructions (I said "NORESOURCE_WAIT", I mean it!).

    Rather than enabling resource wait before the SPAWN and reenabling it
  afterwards, I would *strongly* recommend that your customer have resource
  wait enabled normallly, figure out precisely what operations they want
  performed without resource wait and disable it for the duration of those
  operations only.
						John Gillings, Sydney CSC