Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug/Crash - IDS11 - Data Collection + SPL with REFERENCING

10 views
Skip to first unread message

Cesar Inacio Martins

unread,
Feb 11, 2008, 1:11:07 PM2/11/08
to informix-list cdi
Hi,

    IDS 11.10 UC1DE  , OS SuSE 10.2

    I try create a Stored Procedure with trigger references, when I execute the script the instance create a Assert Failed and crash.
    After a some tests I discovered the problem is when have a collection variable declared on procedure with trigger references.  When execute the SQL bellow, the same error occur.

    The problem apparently is on the memory allocation...
    I want to know if anybody have a idea to do a work around without pass parameter on the SPL.

-------------------------- SQL

CREATE table t_tag_perg  (
  cod_pergunta integer
 ,cod_tag      integer
)
;
CREATE procedure sp_trg_tag_perg()
referencing old as o new as n for t_tag_perg;
  ----------------->>>> when comment the line bellow OR above, the SP is created
  define v_tags set(integer not null);
end procedure
;
-- this code is not are executed... the error occur on the create procedure.
CREATE trigger trg_i_tag_perg insert on t_tag_perg
for each row (
  execute procedure sp_trg_tag_perg() with trigger references
)
;
-- this code is not are executed... the error occur on the create procedure.
CREATE trigger trg_i_tag_perg delete on t_tag_perg
for each row (
  execute procedure sp_trg_tag_perg() with trigger references
)
;


-------------------------- LOG

15:38:35  On-Line Mode
15:38:36  Skipped existing audit trail files /home/ix_aao/aaodir//idsteste1.0 to /home/ix_aao/aaodir//idsteste1.32.
15:38:37  SCHAPI: Started dbScheduler thread.
15:38:38  SCHAPI: Started 2 dbWorker threads.
15:39:18  Btree scanners disabled.
15:39:20  Logical Log 626 Complete, timestamp: 0x1955372.
15:39:22  stack trace for pid 3439 written to /IFMX_DADOS/tmp/af.4278849
15:39:22  Assert Failed: No Exception Handler
15:39:22  IBM Informix Dynamic Server Version 11.10.UC1DE
15:39:22   Who: Session(6, ix_dbsa@codsrv222b, 3454, 0x46be38a0)
                Thread(63, sqlexec, 46bb9ad8, 1)
                File: mtex.c Line: 489
15:39:22   Results: Exception Caught. Type: MT_EX_OS, Context: mem
15:39:22   Action: Please notify IBM Informix Technical Support.
15:39:22   See Also: /IFMX_DADOS/tmp/af.4278849
15:39:22  Process exited with return code 154: /bin/sh /bin/sh -c /opt/ids11.uc1de/etc/log_full.sh 2 23 "Logical Log 626 Complete, timestamp: 0x1955372." "Logical Log 6
15:45:08  mtex.c, line 489, thread 63, proc id 3439, No Exception Handler.
15:45:08  The Master Daemon Died
15:45:08  PANIC: Attempting to bring system down


-------------------------- ASSERT FAILED FILES
-rw-rw---- 1 informix informix 673932 2008-02-11 15:45 af.4278849
-rw-rw-r-- 1 informix informix 126127 2008-02-11 15:39 af.4278849.rawstk

-------------------------- ASSERT FAILED FILE - FIRST 50 LINES
informix@codsrv222b:/IFMX_DADOS/tmp> head -n 50  af.4278849
15:39:22  Context ptr = 0x4814498c
15:39:22  Siginfo ptr = 0x4814490c
15:39:22  Reg 0(gs)   0x00000033        Reg 1(fs)   0x00000000
15:39:22  Reg 2(fs)   0xc010007b        Reg 3(ds)   0x0000007b
15:39:22  Reg 4(edi)  0x00000004        Reg 5(esi)  0x47fe45a0
15:39:22  Reg 6(ebp)  0x48144cb8        Reg 7(esp)  0x48144c80
15:39:22  Reg 8(ebx)  0x00000000        Reg 9(edx)  0x00000000
15:39:22  Reg 10(ecx) 0x480e1d18        Reg 11(eax) 0x47fe46f8
15:39:22  Reg 12      0x0000000e        Reg 13(err) 0x00000004
15:39:22  Reg 14(eip) 0x081d05fa        Reg 15(cs)  0x00000073
15:39:22  Reg 16(efl) 0x00010297        Reg 17uesp  0x48144c80
15:39:22  Reg 18(ss)  0x0000007b
15:39:22  Raw hex dump of stack located in /IFMX_DADOS/tmp/af.4278849.rawstk
15:39:22  Stack for thread: 63 sqlexec

 base: 0x48106000
  len:   266240
   pc: 0x088b2b61
  tos: 0x48144410
state: running
   vp: 1

0x088b2b61 (oninit)afstack (0x47f50a40, 0x4814490c, 0x0, 0x0, 0x0, 0x0)
0x088b6bd0 (oninit)mt_ex_throw_sig(0x1, 0x8bf7a31, 0x4814498c, 0x4814490c, 0x0, 0x47fe45a0)
0x0888463e (oninit)afsig_handler(0xb, 0x4814490c, 0x4814498c, 0xb, 0x0, 0x1)
0xb7f17440 (*nosymtab*)0xb7f17440(0x480e1d18, 0x4, 0x47fe45bc, 0x88861ca, 0x469de4f4, 0x4705dcd8)
0x081d8156 (oninit)newcontext(0x47b2fca0, 0x15b, 0x47fdb2a0, 0x1, 0x47fd5828, 0x48163ea8)
0x081ebf28 (oninit)pr_compile(0x15b, 0x47fdb2a0, 0x48145060, 0x47404ba4, 0x47404ba0, 0x47404ba4)
0x083bcee3 (oninit)creatproc(0x47ffa108, 0x47ffa108, 0x48145a48, 0x84e4703, 0x47ffa108, 0x1)
0x081fab57 (oninit)aud_creatproc(0x47ffa108, 0x48145aa4, 0x48145aa8, 0x48145aac, 0x17c00000, 0x41d102fd)
0x084e78a1 (oninit)excommand(0x47ffa108, 0x47ffa108, 0x48145c8c, 0x1, 0x0, 0x8b98be3)
0x083e4cc7 (oninit)sq_execute(0x480ffc78, 0x8bda686, 0x0, 0x8b80c0b, 0x469d2084, 0x0)
0x0848515d (oninit)sqmain  (0x46bb9b28, 0x473c31ec, 0x58, 0x0, 0x481463a4, 0x0)
0x088f5035 (oninit)spawn_thread(0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
0x0888f90f (oninit)startup (0x1f, 0x481484b0, 0x48018470, 0x14b0, 0x90161dd1, 0x0)
0x00000000 (*nosymtab*)0x0


15:39:22
15:39:22  IBM Informix Dynamic Server Version 11.10.UC1DE   Software Serial Number AAA#B000000

15:39:22  Assert Failed: No Exception Handler
15:39:22   Who: Session(6, ix_dbsa@codsrv222b, 3454, 0x46be38a0)
                Thread(63, sqlexec, 46bb9ad8, 1)
                File: mtex.c Line: 489
15:39:22   Results: Exception Caught. Type: MT_EX_OS, Context: mem
15:39:22   Action: Please notify IBM Informix Technical Support.
15:39:22   See Also: /IFMX_DADOS/tmp/af.4278849

---------------------------------




Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento!

Art S. Kagel (Oninit LLC)

unread,
Feb 11, 2008, 6:22:38 PM2/11/08
to Cesar Inacio Martins, informix-list cdi

I'm surprised that it caused an AF event, but you can't do what you want
to do. You create the procedure with the expected argument list and
pass values from the trigger's old and new images to the procedure.
There's no other way in Informix's syntax. The stored procedure knows
nothing about old or new.

Art S. Kagel
Oninit

===========================================================================================
Please access the attached hyperlink for an important electronic communications disclaimer:

http://www.oninit.com/home/disclaimer.php

===========================================================================================

jpre...@yahoo.com

unread,
Feb 11, 2008, 6:48:18 PM2/11/08
to
On Feb 11, 6:22 pm, "Art S. Kagel (Oninit LLC)" <a...@oninit.com>
wrote:

This is a new feature of 11. You can create trigger procudures
(you'll note the create trigger execute procudure with references
syntax that allows the procedure to use the old and new stuff). I was
able to duplicate the crash using 11.10.UC1 on Solaris so it isn't
specific to Linux. Didn't get a lot of time to play around seeing if
there's a workaround, but it certainly does appear to be a bug.

Jacques

Fernando Nunes

unread,
Feb 11, 2008, 6:51:22 PM2/11/08
to
> ------------------------------------------------------------------------

> Abra sua conta no Yahoo! Mail
> <http://br.rd.yahoo.com/mail/taglines/mail/*http://br.mail.yahoo.com/>,
> o único sem limite de espaço para armazenamento!

I was able to reproduce it, but I couldn't find a workaround...
Apparently this is not reported... If you have access to support you should
open a case...

Regards.

--
Fernando Nunes
Portugal

http://informix-technology.blogspot.com
My email works... but I don't check it frequently...

Art S. Kagel (Oninit LLC)

unread,
Feb 11, 2008, 9:46:16 PM2/11/08
to jpre...@yahoo.com, inform...@iiug.org

D'uh! I did double check to see if I was missing something, but forgot
that I keep my links set to the 10.00 manuals 'cause we have no clients
on 11.10 in production yet. Mon faux. Keep me honest, Jacques.

0 new messages