[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

4276.0. "Invalid DAF pointer - COPY problem - NOCURMESS" by TAV02::CHAIM (Semper ubi Sub ubi .....) Sun Jun 19 1994 07:31

A customer has written a customized task follow-up application. Each time a
task is either created or modified it will send a mail message to a recipient.

When attempting to send this mail the users are receiving the follwoing typoes
of errors:

1. Invalid DAF pointer...
2. Error in COPY function ... [.msg]zblabla.wpl
3. emd-w-nocurmess

The users have no problem whatsoever sending/receiving normal mail messages
sent using EM.

I have not yet seen the code that this customer has written (forms with named
data and scripts). I will most likely be there sometime during the coming week.

In the meantime, I would appreciate it if I could receive replies indicating
the types things that could cause these particular errors and the types of code
errors I should be looking for. 

Thanks,

Cb.
T.RTitleUserPersonal
Name
DateLines
4276.1IOSG::MAURICESix Programmers in search of an analystMon Jun 20 1994 10:1727
    Hi,
    
  1. Invalid DAF pointer...
    
    In the DOCDB record there is a DAPOINTER field which should be P to
    denote a private document, A an archived document, or S a shared mail
    message. The error "Invalid DAF pointer" appears when the code finds
    none of these values in the record. The usual cause is that somehow the
    application has lost the currency of the current document.
    
  2. Error in COPY function ... [.msg]zblabla.wpl
    
    When this occurs there is usually another message in the GOLD W buffer
    saying what the error actually was. Common errors would be file not
    found, file protection problems, disk quota problems.
    
  3. emd-w-nocurmess
    
    Similar to 1. A mail function has been attempted but there is no
    current mail message.
    
    Tracing and DEBUG are the main tools for tracking down and solving the
    causes of these problems.
    
    Cheers
    
    Stuart
4276.2Will use DEBUG if/when on-site ...TAV02::CHAIMSemper ubi Sub ubi .....Mon Jun 20 1994 10:4842
Maurice,	

Thanks for the reply.


>  1. Invalid DAF pointer...
>    
>    In the DOCDB record there is a DAPOINTER field which should be P to
>    denote a private document, A an archived document, or S a shared mail
>    message. The error "Invalid DAF pointer" appears when the code finds
>    none of these values in the record. The usual cause is that somehow the
>    application has lost the currency of the current document.
>    

Then this does not necessarily indicate a file corruption with regard to DOCDB?

>  2. Error in COPY function ... [.msg]zblabla.wpl
>    
>    When this occurs there is usually another message in the GOLD W buffer
>    saying what the error actually was. Common errors would be file not
>    found, file protection problems, disk quota problems.
>    

Unfortunately, the customized application continues processing, and by the time
it has completed, this message is no longer in the GOLD-W message buffer.

>  3. emd-w-nocurmess
>    
>    Similar to 1. A mail function has been attempted but there is no
>    current mail message.
>    
>    Tracing and DEBUG are the main tools for tracking down and solving the
>    causes of these problems.

Yep, that's exactly what I intend to do if I'm requested to go on-site. In the
meantime I've been looking for common reasons for this particular type of
behavior. Right now it appears that the application has gotten its nickers in a
twist and has somehow lost its curmess pointer.

Thanks,

Cb.
4276.3IOSG::MAURICESix Programmers in search of an analystMon Jun 20 1994 10:5920
    Re .2
    
> Then this does not necessarily indicate a file corruption with regard to DOCDB?
    
    It never has in my experience. It has always turned out to be an
    application error.
    
> Unfortunately, the customized application continues processing, and by the time
> it has completed, this message is no longer in the GOLD-W message buffer.
    
    The application could use VIEW$ to get all the error messages and
    report them. There are examples in oa$lib:smreorg_jan.scp.
    
    The code to loop through all error messages is:
    
    	for view$:"messages_text" do ...
    
    Cheers
    
    Stuart
4276.4CAB SET_DRAWE OA$MAIL_DRAWER is culprit ...TAV02::CHAIMSemper ubi Sub ubi .....Mon Jun 20 1994 12:0235
The customer just FAXed me a listing of the script file she uses. It basically
issues:

MAIL PUSH
MAIL CREATE/OPEN/NOSEND
MAIL SUBJECT "KUKU"
MAIL TO #ADDRESS 
.
.
.

Then she issues the following command

CAB SET_DRAWER OA$MAIL_DRAWER

On this command she receives:

MESLOCKED, Message currently being accessed by another user

At this point any subsequent MAIL functions fail.

The reason she issued this command was that she wanted to make sure that all
the recipients would receive the message in the MAIN drawer. Since this will
happen anyway, this command is not needed. Actually it wouldn't have any affect
on the recipients in any case.

If we remove the CAB SET command it works fine.

The question is why should she get this error. I tried invoking this same
sequence of commands and do not receive this error. 


Thanks,

Cb.
4276.5IOSG::MAURICESix Programmers in search of an analystMon Jun 20 1994 12:4118
    Hi,
    
    The order seems to be all wrong. It looks like the customer is trying
    to ensure that mail happens in the default drawer. The CAB SET_DRAWER
    should happen before the mail message is created. Also the SET_DRAWER
    should only be done when the drawer context is not the mail drawer.
    Finally the drawer context should be reset on completion.
    
    For an example of this see script oa$do:GS_DL_FROM_GROUP.SCP
    
    I would guess a NEWDIR is involved. Were this to be the case then if
    the application did CAB SET_DRAWER OA$MAIL_DRAWER after a NEWDIR then
    the document made current would be that of the other user, were that
    user to be logged in.
    
    Cheers
    
    Stuart
4276.6I agree ...TAV02::CHAIMSemper ubi Sub ubi .....Mon Jun 20 1994 13:1028
Maurice,

>    The order seems to be all wrong. It looks like the customer is trying
>    to ensure that mail happens in the default drawer. The CAB SET_DRAWER
>    should happen before the mail message is created. 
>    Finally the drawer context should be reset on completion.

I agree. She actually had it all wrong. I suggested that she do precisely what
you suggest so that the sender will always have his mail messages (CREATED,
OUTBOX) in his/her MAIN drawer.

>    Also the SET_DRAWER
>    should only be done when the drawer context is not the mail drawer.

Why is this; please explain.

>    I would guess a NEWDIR is involved. Were this to be the case then if
>    the application did CAB SET_DRAWER OA$MAIL_DRAWER after a NEWDIR then
>    the document made current would be that of the other user, were that
>    user to be logged in.

No, there is no NEWDIR involved. However, the MAIN drawer for the user is
shared with another user.

Thanks,

Cb.

4276.7IOSG::MAURICESix Programmers in search of an analystMon Jun 20 1994 14:4413
>>    Also the SET_DRAWER
>>    should only be done when the drawer context is not the mail drawer.
>
>Why is this; please explain.
    
    It's for performance. The CAB SET_DRAWER is an expensive function
    because it always reopens the DOCDB & DAF files. When the drawer you
    want is already current it gives better performance to avoid the
    SET_DRAWER function.
    
    Cheers
    
    Stuart