Subject Re: [Firebird-Architect] External procedures: implementation proposal.
Author Jim Starkey
Aleksey Karyakin wrote:

>""Roman Rokytskyy"" <rrokytskyy@...> wrote in message
>news:dc25r3+5js8@......
>
>
>>>If this AV comes into the engine, it aborts. There's no other
>>>option.
>>>
>>>
>>Cannot you wrap all calls into try/catch? AV in external module is
>>
>>
>not
>
>
>>something that server should really care about.
>>
>>
>
>Sorry, couldn't resist.
>
>As long as all modules in server are loaded in single process, the
>virtual address space is shared for them all. So any hidden AV in one
>place can cause absolutely strange and unpredictable results in
>another.
>
>Good memory dump, taken immediately at failure point, is much better
>than corrupted data.
>
>If you want the server to survive bugs (instead of fixing them) in
>external modules, run them as outside process(es) connected to the
>server with some communication facility and perform data validation
>on calls.
>
>
>
>
This is absolutely correct. Bugs are things to catch and fix, not work
around. An access violation caught by a server can only be handled by
shutting down (and possibly restarting) the server.