Force Assert Fail
Posted in 2011
The poster wanted to deliberately trigger an Informix assertion failure (af.* and shmem.* files plus an online.log entry) to test the effect on HDR servers. A 'kill -9' on oninit only panicked the engine ('The Master Daemon Died') rather than producing an AF. Suggestions were to send a SEGV signal instead (kill -SEGV / kill -11 <oninit pid>), or use 'onmode -I <error_code>' to trap a specific SQL/ISAM error — e.g. onmode -I 201 then run a statement that raises error 201. The poster confirmed both approaches worked.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: General Discussion
How do I cause Informix Assert Failure to occur. I am testing something where I'd like to force this. Thanks.
Send a SEGV signal to one of the oninit processes using kill.
Art
Art S. Kagel
Advanced DataTools (www.advancedatatools.com)
Blog: http://informix-myview.blogspot.com/
Disclaimer: Please keep in mind that my own opinions are my own opinions and
do not reflect on my employer, Advanced DataTools, the IIUG, nor any other
organization with which I am associated either explicitly, implicitly, or by
inference. Neither do those opinions reflect those of other individuals
affiliated with any entity with which I am affiliated nor those of the
entities themselves.
On Thu, Aug 11, 2011 at 12:01 PM, MURALI PAZHAYANNUR <
pmurali@ftportfolios.com> wrote:
> How do I cause Informix Assert Failure to occur. I am testing something
> where
> I'd like to force this. Thanks.
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--20cf307ca34a97099d04aa3d37e7
Well, I did that. I did a 'kill -9 oninit' and the engine crashed.
10:30:02 SCHAPI: Started 2 dbWorker threads.
10:33:36 The Master Daemon Died
10:33:36 PANIC: Attempting to bring system down
10:34:13 IBM Informix Dynamic Server Started.
I wanted to see an Assert Fail in the online.log, with an af.*, shmem.* files.
I would like to test its effect on HDR servers.
Many years ago, I remember, an IBM engineer told me how to force an AF using,
possibly, an onmode command. I thought it was an undocumented feature.
onmode -I 201
Run a select which generates error 201.
select * tabid;
This should give a AF because of the onmode -I 201.
I didn't say send a KILL signal, I said send a SEGV signal:
kill -SEGV <oninit pid>
-- or --
kill -11 <oninit pid>
Art
Art S. Kagel
Advanced DataTools (www.advancedatatools.com)
Blog: http://informix-myview.blogspot.com/
Disclaimer: Please keep in mind that my own opinions are my own opinions and
do not reflect on my employer, Advanced DataTools, the IIUG, nor any other
organization with which I am associated either explicitly, implicitly, or by
inference. Neither do those opinions reflect those of other individuals
affiliated with any entity with which I am affiliated nor those of the
entities themselves.
On Thu, Aug 11, 2011 at 12:34 PM, MURALI PAZHAYANNUR <
pmurali@ftportfolios.com> wrote:
> Well, I did that. I did a 'kill -9 oninit' and the engine crashed.
>
> 10:30:02 SCHAPI: Started 2 dbWorker threads.
> 10:33:36 The Master Daemon Died
> 10:33:36 PANIC: Attempting to bring system down
> 10:34:13 IBM Informix Dynamic Server Started.
>
> I wanted to see an Assert Fail in the online.log, with an af.*, shmem.*
> files.
> I would like to test its effect on HDR servers.
>
> Many years ago, I remember, an IBM engineer told me how to force an AF
> using,
> possibly, an onmode command. I thought it was an undocumented feature.
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--20cf30780e449cd94504aa3d8a9f
Hello.
If you want to trace any specific error (sql or isam codes), you could
do it, simply using:
onmode -I [error_code]
Is that what you want?
Regards.
Em 11/08/2011 12:34, MURALI PAZHAYANNUR escreveu:
> Well, I did that. I did a 'kill -9 oninit' and the engine crashed.
>
> 10:30:02 SCHAPI: Started 2 dbWorker threads.
> 10:33:36 The Master Daemon Died
> 10:33:36 PANIC: Attempting to bring system down
> 10:34:13 IBM Informix Dynamic Server Started.
>
> I wanted to see an Assert Fail in the online.log, with an af.*, shmem.*
files.
> I would like to test its effect on HDR servers.
>
> Many years ago, I remember, an IBM engineer told me how to force an AF using,
> possibly, an onmode command. I thought it was an undocumented feature.
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--
Alexandre Marini
Tecnologia da Informação - DBA
SEFAZ-MS / SGI-UGSR / Sistemas IBM-Informix
<Cert-Info-Mgmt_color.jpg>
IBM Certified System Administrator - Informix Dynamic Server V10 / V11 /
V11.70
IBM Information Management Informix Technical Professional v3
Thank you, everyone. Yes, both `onmode -I` and 'kill -SEGV` were useful for my
testing.