home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
14.10.xC11 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 IT04273 Status: Closed

ACCESSING THE SYSMASTER:SYSRAWDSK TABLE USING A ROWID CAN CAUSE AN
ASSERTION FAILURE AND A CRASH OR RETURN INCORRECT ROW

product:
INFORMIX SERVER / 5725A3900 / C10 - IDS 12.10
Problem description:
If you are running your Informix server on a little-endian 
platform (for example Linux) and you query the 
sysmaster:sysrawdsk table using the 'where rowid=xxxxx' clause 
and the rowid of 'xxxxx' doesn't exist, you will get following 
assertion failure: 
 
09/05/14 08:40:00  Assert Failed: No Exception Handler 
09/05/14 08:40:00  IBM Informix Dynamic Server Version 12.10.FC3 
09/05/14 08:40:00   Who: Session(15530, user@hostname, 2708, 
0x48fa8158) 
  Thread(55011, sqlexec, 48f77a28, 1) 
  File: mtex.c Line: 516 
09/05/14 08:40:00   Results: Exception Caught. Type: MT_EX_OS, 
Context: mem 
09/05/14 08:40:00   Action: Please notify IBM Informix Technical 
Support. 
09/05/14 08:40:00   See Also: /tmp/af.dacb5ac0 
 
The stack of the failing thread will look like this: 
 
afstack 
mt_ex_throw_sig 
afsig_handler 
<signal frame> 
prrawdsk 
pstread 
pst_rsread 
rsread 
fmread 
getsinglerow 
readidx_new 
gettupl 
scan_next 
getrow 
fetchrow 
exfetch 
sql_nfetch 
sq_nfetch 
sqmain 
spawn_thread 
th_init_initgls 
startup 
 
 
If you run similar query on a big-endian platform (AIX, for 
example), no AF occurs, but the server always returns the same, 
incomplete row, regardless of whether the used rowid exists or 
not: 
 
$ echo "select * from sysrawdsk where rowid=13" | dbaccess 
sysmaster 
 
Database selected. 
 
pg_chunk   1 
pg_offset  0 
offset     0 
loc        00000001:00000000:0000: 
hexdata 
ascdata 
 
Another aspect of this defect is that on big-endian platforms, 
the rowids returned by the server for the query below are 
non-unique, while on the little-endian platforms they are unique 
and can be used for accessing the rows: 
 
select rowid, * from sysrawdsk; 
 
big-endian results: 
 
rowid      0 
pg_chunk   1 
pg_offset  0 
offset     0 
loc        00000001:00000000:0000: 
hexdata    00000000 00013512 00031800 01b00e40 
ascdata    ......5......0.@ 
 
rowid      0 
pg_chunk   1 
pg_offset  0 
offset     16 
loc        00000001:00000000:0010: 
hexdata    00000000 00000000 49424d20 496e666f 
ascdata    ........IBM Info 
 
rowid      0 
pg_chunk   1 
pg_offset  0 
offset     32 
loc        00000001:00000000:0020: 
hexdata    726d6978 2044796e 616d6963 20536572 
ascdata    rmix Dynamic Ser 
.... 
 
 
little-endian results: 
 
rowid      1 
pg_chunk   1 
pg_offset  0 
offset     0 
loc        00000001:00000000:0000: 
hexdata    00000000 0100341a 03000018 3001c006 
ascdata    ......4.....0.@. 
 
rowid      16777217 
pg_chunk   1 
pg_offset  0 
offset     16 
loc        00000001:00000000:0010: 
hexdata    00000000 00000000 49424d20 496e666f 
ascdata    ........IBM Info 
 
rowid      33554433 
pg_chunk   1 
pg_offset  0 
offset     32 
loc        00000001:00000000:0020: 
hexdata    726d6978 2044796e 616d6963 20536572 
ascdata    rmix Dynamic Ser 
...
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* Any                                                          * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Update to IDS-12.10.xC5                                      * 
****************************************************************
Local Fix:
Solution
Problem Fixed In IDS-12.10.xC5
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
08.09.2014
16.10.2015
16.10.2015
Problem solved at the following versions (IBM BugInfos)
Problem solved according to the fixlist(s) of the following version(s)
12.10.xC5 FixList
12.10.xC5.W1 FixList