suche 36x36
  • Admin-Scout-small-Banner
           

    CURSOR Admin-Scout

    get the ultimate tool for Informix

    pfeil  
Latest versionsfixlist
14.10.xC10 FixList
12.10.xC16.X5 FixList
11.70.xC9.XB FixList
11.50.xC9.X2 FixList
11.10.xC3.W5 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

Informix - Problem description

Problem IT10354 Status: Closed

PTMAP ASSERT FROM BTPOSITION WHEN ONE THREAD SELECT MAX USING IN-TABLE
INDEX WHILE ANOTHER THREAD DELETE HIGHEST MAX VALUES IN A

product:
INFORMIX SERVER / 5725A3900 / B70 - IDS 11.70
Problem description:
In general, the problem appears to be related to thread1 running 
a stored procedure that selects 
the max value of some integer column.  In this case the integer 
column is also the primary key and 
contains an in-table unique index.  While this is happening, 
thread2 was doing an insert that added 
new highest values (~2000 rows) of this column and then gets 
rolled back.  There appears to be 
a small timing problem where the select is expecting to grab an 
index page from the buffer pool but 
instead gets a data page that leads to a ptmap assertion like 
below. 
 
The ptmap assertion looks comparable to: 
 
12:53:36  IBM Informix Dynamic Server Version 11.70.FC5 Software 
Serial Number AAA#B000000 
 
12:53:36  Assert Failed: ptmap 
12:53:36   Who: Session(2906, informix@server, 6685262, 
70000002072a7e0) 
                Thread(2962, sqlexec, 7000000206f1da0, 8) 
                File: rspartn.c Line: 3730 
12:53:36   Results: Could not complete operation on 
'informix:"informix".glbser_log_ird' 
12:53:36   Action: Run 'oncheck -cDI 
laube:"informix".glbser_log_ird' 
12:53:37  Raw hex dump of stack located in 
/opt/informix/tmp/af.f7a7b9 
f.rawstk 
12:53:37  Stack for thread: 2962 sqlexec 
 
 base: 0x0700000025d13000 
  len:   135168 
   pc: 0x00000001000916ec 
  tos: 0x0700000025d300c0 
state: running 
   vp: 8 
 
(oninit)afstack 
(oninit)afhandler 
(oninit)affail_interface 
(oninit)ptmapx 
(oninit)buffget 
(oninit)bt_fast_buffget 
(oninit)btposition 
(oninit)kposition 
(oninit)rsstart 
(oninit)fmstart 
(oninit)indexaggs 
(oninit)group_open 
(oninit)prepselect 
(oninit)subqprep 
(oninit)exsubq 
(oninit)ev_cb 
(oninit)new_eval 
(oninit)IPRA.$ip_evalexpr 
(oninit)runproc 
(oninit)udrlm_spl_execute 
(oninit)udrlm_exec_routine 
(oninit)udr_execute 
(oninit)exroutine 
(oninit)sq_exproc 
(oninit)sqmain 
(oninit)listen_verify 
(oninit)spawn_thread 
(oninit)startup 
 
Note, in my test case, the ptmap assertion is followed by an 
assertion like below "Thread exited with 1 buffers held" 
when the session shuts down after the ptmap: 
 
12:53:57  Assert Failed: Thread exited with 1 buffers held. 
 
12:53:57   Who: Session(2906, informix@server, 6685262, 
70000002072a7e0) 
                Thread(2962, sqlexec, 7000000206f1da0, 8) 
                File: rsshmem.c Line: 2152 
12:53:57   Results: Dynamic Server must abort 
12:53:57  Raw hex dump of stack located in 
/opt/informix/tmp/af.f7a7b9 
f.rawstk 
12:53:57  Stack for thread: 2962 sqlexec 
 
 base: 0x0700000025d13000 
  len:   135168 
   pc: 0x00000001000916ec 
  tos: 0x0700000025d324c0 
state: running 
   vp: 8 
 
(oninit)afstack 
(oninit)afhandler 
(oninit)afcrash_interface 
(oninit)rstcb_cleanup 
(oninit)destroy_session 
(oninit)sq_exit 
(oninit)sqmain 
(oninit)listen_verify 
(oninit)spawn_thread 
(oninit)startup
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* Users of highly-stressed in-table indexes                    * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Update to IBM Informix Server 11.70.xC9                      * 
****************************************************************
Local Fix:
One possible workaround would be to drop the primary key and its 
unique index, then recreate a unique 
index detached along with a new primary key that uses this 
detached index.
Solution
Problem Fixed In IBM Informix Server 11.70.xC9
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
27.07.2015
09.06.2017
09.06.2017
Problem solved at the following versions (IBM BugInfos)
11.70.xC9
Problem solved according to the fixlist(s) of the following version(s)
Informix EditionsInformix Editions
Informix Editions
DocumentationDocumentation
Documentation
IBM NewsletterIBM Newsletter
IBM Newsletter
Current BugsCurrent Bugs
Current Bugs
Bug ResearchBug Research
Bug Research
Bug FixlistsBug Fixlists
Bug Fixlists
Release NotesRelease Notes
Release Notes
Machine NotesMachine Notes
Machine Notes
Release NewsRelease News
Release News
Product LifecycleProduct Lifecycle
Lifecycle
Media DownloadMedia Download
Media Download