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

Conference iosg::all-in-1_v30

Title:*OLD* ALL-IN-1 (tm) Support Conference
Notice:Closed - See Note 4331.l to move to IOSG::ALL-IN-1
Moderator:IOSG::PYE
Created:Thu Jan 30 1992
Last Modified:Tue Jan 23 1996
Last Successful Update:Fri Jun 06 1997
Number of topics:4343
Total number of notes:18308

2707.0. "Filling in EMDaddress gives ACCVIO" by KAOT01::M_BARNEY () Wed May 12 1993 19:33

    
    Bob Halsey, who has written in this conference a few times,
    has now become a "customer". He has asked, pretty please, if
    I would post this for him, since he is having trouble with
    this. He says that when he fills in the EMDaddressee, he gets
    a access violation, and does not understand why.
    
    Can anyone give any insight? 
    
    Monica
    
                                 
============>EPO2.SCP
    
GET OA$FUNCTION = 'GET ' OA$FIELD_NAME ' =""'
GET #ADD = ""
.IF #PARAM1:4 EQS "EPO_" -
    THEN GET #EMDADDRESS = FN$RIGHT(#PARAM1,5) -
    ELSE GET #EMDADDRESS = ""
OA$SCL_DOWN
OA$SCL_UP
!GET OA$FUNCTION = 'GET ' OA$FIELD_NAME ' =#EMDADDRESS'
GET #DATA_SET = OA$SCROLL_DATA_SET

GET OA$DDS_SEARCH_SCOPE = "1"
GET #DDS_WORLD_DONE = "1"
FORM DDS$INDEX
CLOSE_PRIOR
GET #EMDADDRESS = "X"

.IF #ADD AND #CASE THEN OA$SCL_INIT,,,#DATA_SET
XOP "~~FIND_CLEAR_LINE~~"
!GET OA$DISP=#EMDADDRESSINFO "/" #EMDADDRESS "/" OA$FIELD_TEXT
    
    
    
                   
============>EPO.CMU

    
    
$ ! OA$LIB:EPO.CMU
$ ! In and out via ALL-IN-1 temp symbol #emdaddress
$ !---------------------------------------------------------------------------
$ oa := write oamailbox
$ dc := @dclmailbox:
$ !
$ ! Display a form to get the FAX addressee
$ !
$ oa "OA GET #PARAM1 = """, P1, """
$ dc
$ oa "OA DO EPO2"
$ dc


===============> THE TRACE IS AS FOLLOWS:
    
    
![IO]     Putting field TO in MFSR, Value: CLAIRE LETOURNEAU                    
!               ( LETOURCL@EPO@MHS@EPO )
![IO]     Getting next record from TXT$TXL_DO, Text starts "XOP "~~FIND_CLE"
![SCRIPT] EPO2 Line 17: XOP "~~FIND_CLEAR_LINE~~"
![FUNC]   Function: XOP, Cmd line: "~~FIND_CLEAR_LINE~~"
![A1LOG]  Entry: %OA-I-LOGFUN, Function: XOP             "~~FIND_CLEAR_LINE~~"
![SYMBOL] Symbol: "~~FIND_CLEAR_LINE~~", Value: ~~FIND_CLEAR_LINE~~
![FUNC]   Function: OA$SCP_DISPATCH, Cmd line: .IF OA$FIELD_TEXT EQS "" THEN GET
!                OA$STATUS = 0 ELSE GET OA$STATUS = 1
![A1LOG]  Entry: %OA-I-LOGFUN, Function: OA$SCP_DISPATCH .IF OA$FIELD_TEXT EQS "
!               " THEN GET OA$STATUS = 0 ELSE GET OA$STATUS = 1
![SCRIPT] Form: EMHEAD, Statement: .IF OA$FIELD_TEXT EQS "" THEN GET OA$STATUS =
!                0 ELSE GET OA$STATUS = 1
![FIELD]  Field: TO. Returning field contents
![FORM]   Form: EMHEAD, Field: TO/0, Page: 1, Input: CLAIRE LETOURNEAU          
!                         ( LETOURCL@EPO@MHS@EPO )
![SYMBOL] Symbol: OA$FIELD_TEXT, Value: CLAIRE LETOURNEAU                    ( L
!               ETOURCL@EPO@MHS@EPO )
![SYMBOL] Symbol: "", Value: 
![SCRIPT] IF Operation starting
![SCRIPT] .IF condition OA$FIELD_TEXT EQS ""  is FALSE
![SCRIPT] ELSE Operation starting
![SCRIPT] Form: EMHEAD, Statement: GET OA$STATUS = 1
![FUNC]   Function: GET, Cmd line: OA$STATUS = 1
![A1LOG]  Entry: %OA-I-LOGFUN, Function: GET             OA$STATUS = 1
![SYMBOL] Symbol: OA$STATUS = 1, Value: 1
![FUNC]   Function: IFSTATUS, Cmd line: 
![A1LOG]  Entry: %OA-I-LOGFUN, Function: IFSTATUS        
![FUNC]   Function: OA$SCL_DOWN, Cmd line: 
![A1LOG]  Entry: %OA-I-LOGFUN, Function: OA$SCL_DOWN     
![FIELD]  Field: TO/0. Returning field contents
![FORM]   Form: EMHEAD, Field: TO/0, Page: 1, Input: CLAIRE LETOURNEAU          
!                         ( LETOURCL@EPO@MHS@EPO )
![FUNC]   Function: REPEAT, Cmd line: 
![A1LOG]  Entry: %OA-I-LOGFUN, Function: REPEAT          
![FUNC]   Function: OA$SCP_DISPATCH, Cmd line: .IF OA$FIELD_TEXT EQS "" THEN GET
!                OA$STATUS = 0 ELSE GET OA$STATUS = 1
![A1LOG]  Entry: %OA-I-LOGFUN, Function: OA$SCP_DISPATCH .IF OA$FIELD_TEXT EQS "
!               " THEN GET OA$STATUS = 0 ELSE GET OA$STATUS = 1
![SCRIPT] Form: EMHEAD, Statement: .IF OA$FIELD_TEXT EQS "" THEN GET OA$STATUS =
!                0 ELSE GET OA$STATUS = 1
![FIELD]  Field: TO. Returning field contents
![FORM]   Form: EMHEAD, Field: TO/0, Page: 1, Input: 
![SYMBOL] Symbol: OA$FIELD_TEXT, Value: 
![SYMBOL] Symbol: "", Value: 
![SCRIPT] IF Operation starting
![SCRIPT] .IF condition OA$FIELD_TEXT EQS ""  is TRUE
![SCRIPT] THEN Operation starting
![SCRIPT] Form: EMHEAD, Statement: GET OA$STATUS = 0
![FUNC]   Function: GET, Cmd line: OA$STATUS = 0
![A1LOG]  Entry: %OA-I-LOGFUN, Function: GET             OA$STATUS = 0
![SYMBOL] Symbol: OA$STATUS = 0, Value: 0
![FUNC]   Function: IFSTATUS, Cmd line: 
![A1LOG]  Entry: %OA-I-LOGFUN, Function: IFSTATUS        
![IO]     Getting next record from TXT$TXL_DO, Text starts "GET OA$DISP=#EM"
![SCRIPT] EPO2 Line 18: GET OA$DISP=#EMDADDRESSINFO "/" #EMDADDRESS "/" OA$FIELD
!               _TEXT
![FUNC]   Function: GET, Cmd line: OA$DISP=#EMDADDRESSINFO "/" #EMDADDRESS "/" O
!               A$FIELD_TEXT
![A1LOG]  Entry: %OA-I-LOGFUN, Function: GET             OA$DISP=#EMDADDRESSINFO
!                "/" #EMDADDRESS "/" OA$FIELD_TEXT
![FIELD]  Field: TO. Returning field contents
![FORM]   Form: EMHEAD, Field: TO/0, Page: 1, Input: 
![SYMBOL] Symbol: OA$DISP=#EMDADDRESSINFO "/" #EMDADDRESS "/" OA$FIELD_TEXT, Val
!               ue: Remote Addressee/LET/
![IO]     Getting next record from TXT$TXL_DO, Text starts ""
![SCRIPT] EPO2 Line 19: .EXIT
!   
![SCRIPT] Closing Script EPO2
![SCRIPT] Function nesting level: 0. Script context follows:
![SCRIPT] Line           SCRIPT Script
!   
![SCRIPT] Line             DO Script
!   
![IO]     Closing TXT$TXL_DO, File: DISK$OASYS:[ALLIN1.SITE.LIB_ENGLISH]EPO2.SCP
!               ;
![SYMBOL] Symbol: #EMDADDRESS, Value: LET
![SYMBOL] Symbol: #EMDADDRESSINFO, Value: Remote Addressee
![IO]     Getting field STATUS from PROFIL, Value: 
![PUT]    Field: TO/0, Page: 1, Text: Remote Addressee                     ( LET
!                )
![A1LOG]  Entry: %OA-I-LOGERROR, %SYSTEM-F-ACCVIO, access violation, reason mask
!               =00, virtual address=0000000D, PC=000ABAFF, PSL=03C00009
![A1LOG]  Entry: %OA-I-LOGERROR, %SYSTEM-F-ACCVIO, access violation, reason mask
!               =00, virtual address=0000000D, PC=000ABAFF, PSL=03C00009
          
    
T.RTitleUserPersonal
Name
DateLines
2707.2BingoAIMTEC::WICKS_Aon the Streets of San FranciscoWed May 12 1993 20:1914
    Ah ok I see now
    
    What version of ALL-IN-1 (v3.0 or v3.0-1) what value of OA$DDS_PRIME
    etc...
    
    I get %OA-F-VMGETFATAL, LIB$GET_VM failure, 20 bytes at 0015A64E -
    OASAR#1
    -LIB-F-BADBLOADR, bad block address
    
    After I realised that the script should be called EPO2 not EPO!
    
    Regards,
    
    Andrew.D.Wicks
2707.3Either no DDS support or a serious problem.IOSG::CHINNICKgone walkaboutMon May 17 1993 15:1920
    
    You will get an ACCVIO if you don't have DDS support included in your
    link of ALL-IN-1. This is because the location OA$GL_DDS_SEARCH which
    backs OA$DDS_SEARCH_SCOPE won't exist and is declared WEAK so it
    appears as address zero in the special symbols table.
    
    This would lead to an ACCVIO at VA=00000000 though - which is NOT what
    you are getting. It might be closely related, but I'm not convinced. You
    could help by determining where the PC was when the ACCVIO occured and
    also post the version and DDS setting as Andy requested. It would be
    even better if you could test it with a debug version of ALL-IN-1 and
    give the whole stack traceback showing all the calls active at the time
    of error.
    
    I couldn't produce the VM error which Andy got, but maybe I don't have
    DDS set up properly. Andy... Can you reproduce this error reliably?? If
    so, it might be worth getting in touch so we can track it down.
    
    Paul.
    
2707.4No ACCVIOs in DDS (:==:)AIMTEC::WICKS_AAlphatraz - Coming Summer 93Mon May 17 1993 17:0713
    Paul,
    
    ACCVIOs outside the Mail/DDS subsystem I can *always* reproduce. I've
    never seen one in DDS (:==:) This one was in the Kernel code
    as i'm sure you spotted.
    
    Let's wait until we get the information back from the customer.
    
    Regards,
    
    Andrew.D.Wicks
    
    
2707.5No - no DDS problems here...IOSG::CHINNICKgone walkaboutTue May 18 1993 14:3611
    Yeah...
    
    OADDS.B32 is a part of the IOS kernel - isn't it? :-)
    
    Funny - I can't quite make out the authors and maintainers names!
    
    
    
    Cheers,
    
    Paul.
2707.6back from Bob....KAOFS::M_BARNEYFormerly Ms.FettTue May 18 1993 14:4616
    I sent your replies back to him, and he wrote back:
    
    
    	As for the information:
    
    -	OA$DDS_PRIME = 1
    
    -	DDS is linked into ALL-IN-1, and "conventional" access (GOLD-M)
    		works fine
    
    -	running V3.0 (-1 soon, but not yet)
    
    
  Monica
    
    
2707.7I don't think Derek would class DDS as Kernel?AIMTEC::WICKS_AAlphatraz - Coming Summer 93Tue May 18 1993 16:469
    Monica,
    
    Good so it's not DDS not being linked in ...
    
    Over to you Paul (:==:)
    
    Regards,
    
    Andrew.D.Wicks
2707.8I think it's a bug.IOSG::CHINNICKgone walkaboutThu May 20 1993 14:046
    
    I think that this is a BUG in the OADDS code present in V2.4 AND V3.0.
    
    More details as they come to hand...
    
    Paul.
2707.9I'm staying tuned...KAOFS::M_BARNEYFormerly Ms.FettMon May 31 1993 17:483
    Any more on why this might be a bug?
    
    Monica
2707.10Working... Working... Working...IOSG::CHINNICKgone walkaboutTue Jun 01 1993 11:3725
    
    Well Monica...
    
    I've got another problem (a CLD in fact) which is ACCVIO's in a
    DDS environment because of a problem in the SUBSCRIBER DSAB.
    
    Now, I can't as yet guarentee that this is the exact same problem but
    I'd say there is probably a 95%+ chance of it being the same.
    
    Support (i.e. yours truly) is working on a patch for this other
    problem.
    
    I've been out of the office for a week, but I expect (not commit) that
    a patch to be available in 2 weeks or less. The hold-up has been
    getting a test plan so we can check that its fixed properly. These
    problems are rarely exactly reproducible.
    
    I will run a test on your problem in the near future just to verify
    that it is the same, but first priority is to get a fix rolling through
    the appropriate channels. If this problem is different, we'll have to
    look at whether we are able to include a fix at the same time.
    
    I trust you can sit tight in light of this information?
    
    Paul.
2707.11much thanks, paul!KAOFS::M_BARNEYFormerly Ms.FettTue Jun 01 1993 14:4631
    Yes, this is just fine, thanks!
    BTW, I just just got a note from Bob (our customer) on this:
    
    
     ----------------------------------------------------------
    
    	Hi Monica !
    
    	You wanted me to break down the Access Violation problem.  How 
    about 3 lines total!
    
    	GET #EMDADDRESS = "X"
    	MAIL TO "Joe User                             ( USER.JOE )"
    	OA$SCL_INIT,,,OA$SCROLL_DATA_SET
    
    	If you remove or change any of these three lines, then ALL-IN-1 
    won't blow up.  The problem seems to be especially caused by the 
    OA$SCL_INIT.  It can't take the MAIL TO specification along with the 
    #EMDADDRESS at the same time!
    
    	If you take out the OA$SCL_INIT,  both addresses are registered, 
    even though initially it looks like only one is taken.  You have to 
    Re-read the memo to see both.
    
    	The MAIL TO is part of the DDS$INDEX form execution that can't be 
    avoided.  The other problem is that if I blank out the #EMDADDRESS, I 
    get a dumb message that the address is "not known".  This is the actual 
    root of the problem.
                     
    Bob
    
2707.12Nasty... but not really a problem.IOSG::CHINNICKgone walkaboutTue Jun 01 1993 16:1537
    
    OK... after more investigation...
    
    This is NOT the same problem that I'm working.
    
    The problem is caused by the fact that the scroll region and
    MAIL$SCL_FUNCTION data-set are being closed by the OA$SCL_INIT function
    call. This is DURING an OA$SCL_RETURN function call which is in
    progress when the MAIL address validation code invokes the CMU script.
    
    When the script returns back to the OA$SCL_RETURN function call, the
    previous scroll and DSAB context have been deallocated because the
    OA$SCL_INIT performs an implicit OA$SCL_EXIT. Therefore, it tries to
    use context information which has been deallocated [and the memory may
    have been re-allocated]. If you are lucky, this means an ACCVIO -
    otherwise it may mean VM corruption as Andy got.
    
    I've looked at the normal GOLD/M logic for ALL-IN-1's EMHEAD form and
    it seems to me that the difference is that this is not being invoked
    through the CMU mechanism.
    
    In fact, in this CMU environment, there is no need to re-initialize the
    scrolled region as it is probably still active. Just exiting the script
    without trying to do anything to the scrolled region should be
    sufficient for it to perform normally.
    
    So... "This behaviour is a restriction of current releases of ALL-IN-1".
    
    Don't hack the scrolled region or MAIL$SCL_FUNCTION DSAB from a CMU
    script!
    
    Paul.
    
    P.S> And a big thanks to Alan Cottingham too - for his help in
         investigating this problem.
    
    
2707.13hoorah.KAOFS::M_BARNEYFormerly Ms.FettTue Jun 01 1993 20:003
    my thanks to all; I will let Bob know....
    
    Monica