How safe is catch?
        
I have some rebol applications serving message communication (around 1000 to
2000 messages per day mostly) running for more than half a year on
Windows2000 Server without interruption since the last update of the OS for
security reasons.

Recently I had to add some message splitting:
one-message -->  [message-part-1 message-part-2 message-part-3]

I used a construct similar to this

forever [
        until [new-messages-available]
        foreach message new-messages [
                catch [
                        if not important [throw]
                        do-some-heavy-message-processing-and 
data-completion-using-odbc
                        if some-tests [throw]
                        message-parts: split-messages message
                        until [
                                catch [
                                        message: first message-parts
                                        do-more-conversions
                                        if other-tests [throw]
                                        deliver message
                                        emtpy? message-parts: next message-parts
                                ]
                        ]
                ]
        ]
]

Now I saw two crashes in one day.
I was somehow able to reproduce the crash 
"Invalid data type during recycle" 
by playing again the history of one to two weeks. But the crash happened
always processing another message.

As I had seen in the past instable behaviour with constructs like this
foreach ... [
        catch [
                ..
                data: any [
                        a
                        b
                        throw
                ]
                ..
                ..
        ]
]

I replaced the inner catch with statements like this
                if not other-tests [
                        deliver message
                ] 
and the crash went away.

Now I am curious if someone else encountered the same behaviour too?

-- 
+++ GMX - Die erste Adresse f�r Mail, Message, More +++

1 GB Mailbox bereits in GMX FreeMail http://www.gmx.net/de/go/mail
-- 
To unsubscribe from the list, just send an email to 
lists at rebol.com with unsubscribe as the subject.

Reply via email to