Re: Stored Procedure & Assert Fail, please help
Posted in 1997
In article <5c1o4p$2k9@news.csie.nctu.edu.tw>, a
<jzliu@csie.nctu.edu.tw> writes
>Hi,
> I have a stored procedure "A_PROC" running 100 times a day. But today
> the INFORMIX online.log show a message:
>
>-------------------------------------------------------------------
>
>15:45:13 Assert Failed: Internal Error - Bus Error
>15:45:13 Who:Session(15891, mes@u3hsrv3, 19612, -963935964)
> Thread(18900, sqlexec, c689be28, 3)
>15:45:13 Results: OnLine must abort
>15:45:13 Action: Reinitialize shared memory
>15:45:13 See Also: /tmp/af.49d42289, shmem.49d42289.0
>15:47:24 Invoking debugger on oninit pid 27482
>15:47:24
> Thread(18900, sqlexec, 0, 3)
>15:47:24 oninit pid 27482 waiting for debugger
>15:47:24 DR: ping timeout
>15:47:26 DR: Turned off on primary server
>15:47:29 Checkpoint Completed: duration was 2 seconds.
>15:47:29 DR: Cannot connect to secondary server
>15:47:39 Logical Log 150855 Complete.
>15:47:40 DR: Primary server connected
>15:47:41 DR: Sending log 150855, size 500 pages, 100.00% used
>15:47:43 Logical Log 150855 - Backup Started
>15:47:45 Logical Log 150855 - Backup Completed
>15:47:51 Logical Log 150856 Complete.
>15:47:51 DR: Sending log 150856, size 500 pages, 11.60% used
>15:47:52 DR: Sending log 150857 (current), size 500 pages, 2.40% used
>15:47:55 DR: Sending Logical Logs Completed
>15:47:55 Logical Log 150856 - Backup Started
>15:48:02 DR: Primary server operational
>15:48:02 DR: LBU_PRESERVE turned on while primary
>15:48:04 Checkpoint Completed: duration was 1 seconds.
>15:48:04 Logical Log 150856 - Backup Completed
>15:49:44 Logical Log 150857 Complete.
>15:49:44 Logical Log 150857 - Backup Started
>15:49:48 Logical Log 150857 - Backup Completed>
>--------------------------------------------------------------------------
>
>I check with "onstat -g ses 15891", and show some error:
>
>
>---------------------------------------------------------------------------
>
>INFORMIX-OnLine Version 7.12.UC1X8 -- On-Line (Prim) -- Up 5 days 02:28:39 --
>156776 Kbytes
>
>session #RSAM total used
>id user tty pid hostname threads memory memory
>15891 mes - 19612 u3hsrv3 1 5439488 3470576
>
>tid name rstcb flags curstk status
>18900 sqlexec c689be28 ---P--- 32312 running
>
>Memory pools count 1
>name class addr totalsize freesize #allocfrag #freefrag
>15891 V c6bb0010 5439488 1968912 4639 1001
>
>name free used name free used
>overhead 0 112 scb 0 128
>opentable 0 374392 filetable 80 12824
>ru 0 224 misc 73384 32
>log 0 2120 temprec 0 1608
>ralloc 1440416 2945584 gentcb 0 296
>ostcb 0 2216 net 0 11784
>sort 12816 56 sqscb 382744 59608
>rdahead 0 152 hashfiletab 0 280
>osenv 0 1576 buft_buffer 6224 0
>sqtcb 44560 30112 fragman 8688 27472
>
>Sess SQL Current Iso Lock SQL ISAM F.E.
>Id Stmt type Database Lvl Mode ERR ERR Vers
>15891 mesdb CR Not Wait -243 -144 7.11
>
>Last parsed SQL statement :
> execute procedure A_PROC ( ? , ? , ? , ? , ?, ?, ?, ?, ?, ?, ?,
> ?, ?, ?, ? )>
>
>-------------------------------------------------------------------------
>
>I'm sure the "A_PROC" has no SQL problem. So from the above information,
>It only shows SQL ERR -243 and ISAM ERR -144, and the database recover by
>itself. The procedure A_PROC run for 400 secs, usually it only run 30 secs.
>
>
>Can Any one provide some opinions?
>
>
>
>Scott
>
>
I'm surprised Online stayed up after an ASSERT FAIL Bus error...that
means on of the VP's tried to address an address of memory which
does not exist in it's address space. (Basically either a bug or
memory corruption). Normally you see "Online must abort" and then it
shuts down WITHOUT making sure everything is conststent on disk. The
fact that is checkpointed ok afterwards is a good sign.
What is in /tmp/af.49d42289?
I would make sure the stored procedure does not divied by 0 as this
can cause online to abort in some 7.10 versions and I would call
Informix Tech. Support.
--
David Williams