Assert Failed
Posted in 1999
Topics: Installation, Setup & Upgrades, Storage & Space Management, Error Codes & Troubleshooting, Transactions, Locking & Isolation, Logging & Checkpoints, Networking & sqlhosts Configuration
We've been on "Informix Dynamic Server Version 7.30.UC7" since june.
One of our
production servers just got an "Assert Failed" error. We are currently
working with our Thech Rep.but they are too slow to give us some sort of
solution.
I've looked through the IIUG comp.databases.informix archive for some
help but I can't really find anything.
However, I do see that others have experienced the same "Assertion"
failures in other platforms, but no one really points to a solution.
Some say to upgrade to 7.31, but they don't say that is fixed or if they
are on 7.31 Some say this is bug 111839 but again I can't find the
place if this has been fixed at all. Is it UNIX? is it Informix? is it
our script? BTW, our script runs OK in the other remote locations but
these are much smaller databases than our NY database. Anyway, some
hints/clues will be greatly appreciated - Thanks - here are the details:
SunOS Release 5.5.1 Version Generic_103640-24 [UNIX(R) System V Release
4.0]
2.0 GB Memory
6 - 336 MHz SUNW,UltraSPARC-II CPUs
Informix Dynamic Server Version 7.30.UC7
Error information (from log file)
17:34:16 Assert Failed: Memory free block header corruption detected in
mt_shm_malloc_segid 1
17:34:16 Informix Dynamic Server Version 7.30.UC7
17:34:16 Who: Session(4967, gim2usr@mgsas8, 20888, 0)
Thread(10586, sqlexec, 0, 4)
File: mtshpool.c Line: 2562
17:34:16 Results: Pool repaired
17:34:16 Action: Please notify Informix Technical Support.
17:34:16 See Also: /var/tmp/af.295ae2d8
17:34:16 Invoking debugger on oninit pid 1544
17:34:16
Thread(10586, sqlexec, 0, 4)
17:34:16 oninit pid 1544 waiting for debugger
/var/tmp/af.295ae2d8 verbiage:
17:34:16 Found during mt_shm_malloc_segid 1
17:34:16 Pool '4967' (0x25022018)
17:34:16 Bad free block 0x258fd610
blk-64258fd5d0: 20202020 20202020 20202020 20202020
258fd5e0: 2020534c 49434943 494c5444 20455920 SLICIC ILTD EY
258fd5f0: 20202020 20202020 20202020 20202020
258fd600: 20202020 20202020 2000008d c3454d43 ....EMC
blk+64
258fd610: 49202020 20474b35 38313935 32203b5e I GK5 81952 ;^
258fd620: 30280000 00000000 00000000 00000000 0(...... ........
258fd630: 395f564f 39482d00 00000000 00000000 9_VO9H-. ........
258fd640: 00005452 4c202020 20202047 4c4f4241 ..TRL GLOBA
17:34:16 Bad free block removed from pool
17:34:16
17:34:16 Informix Dynamic Server Version 7.30.UC7 Software SerialNumber AAC#J573924
17:34:16 Assert Failed: Memory free block header corruption detected in
mt_shm_malloc_segid 1
17:34:16 Who: Session(4967, gim2usr@mgsas8, 20888, 0)
Thread(10586, sqlexec, 0, 4)
File: mtshpool.c Line: 2562
17:34:16 Results: Pool repaired
17:34:16 Action: Please notify Informix Technical Support.
The Suspected query:
update ffTbl set short_name = (select short_name from security
where security.symbol = ffTbl.symbol) where issuer is not NULL andissuer != " "
where ffTbl is a temp table. This query has worked since June and it
still works at our other locations.
The database in question is about 12GB with one of the tables in
question having grown to 85K records.
Our config file:
#*************************************************************************
# Root Dbspace Configuration
ROOTNAME rootdbs # Root dbspace name
ROOTPATH /var/ifmx/ifmxback/devices/nypms1.rootdbs.c1 # Path for device containing root
dbspace
ROOTOFFSET 0 # Offset of root dbspace into device
(Kbytes)
ROOTSIZE 512000 # Size of root dbspace (Kbytes)
# Disk Mirroring Configuration Parameters
MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
MIRRORPATH # Path for device containing mirroredroot
MIRROROFFSET 0 # Offset into mirrored device (Kbytes)
# Physical Log Configuration
PHYSDBS rootdbs # Location (dbspace) of physical log
PHYSFILE 200000 # Physical log file size (Kbytes)
# Logical Log Configuration
LOGFILES 20 # Number of logical log files
LOGSIZE 5000 # Logical log size (Kbytes)
# Message Files
# Diagnostics
MSGPATH /var/ifmx/ifmxback/ifmxrept/nypms1.online.log
# System message log file path
CONSOLE /var/ifmx/ifmxback/ifmxrept/nypms1.online.console
# System console message path
ALARMPROGRAM /bin/true # Alarm program path
SYSALARMPROGRAM /bin/true # System Alarm program path
TBLSPACE_STATS 1
# System Archive Tape Device
TAPEDEV /var/ifmx/ifmxback/ifmxdump/nypms1.online.dump
# Tape device path
TAPEBLK 32 # Tape block size (Kbytes)
TAPESIZE 40960000 # Maximum amount of data to put on tape
(Kbytes)
# Log Archive Tape Device
LTAPEDEV /dev/null # Log tape device path
LTAPEBLK 32 # Log tape block size (Kbytes)
LTAPESIZE 40960000 # Max amount of data to put on log tape
(Kbytes)
# Optical
STAGEBLOB # INFORMIX-OnLine/Optical staging area
# System Configuration
SERVERNUM 1 # Unique id corresponding to a OnLineinstance
DBSERVERNAME nypms1 # Name of default database server
DBSERVERALIASES nypms1_shm # List of alternate dbservernames
NETTYPE tlitcp,3,400,CPU # Configure poll(s) for nettype
NETTYPE ipcshm,1,10,NET # Configure poll(s) for nettype
DEADLOCK_TIMEOUT 60 # Max time to wait of lock indistributed env.
RESIDENT 0 # Forced residency flag (Yes = 1, No =
0)
MULTIPROCESSOR 1 # 0 for single-processor, 1 formulti-processor
NUMCPUVPS 4 # Number of user (cpu) vps
SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vpsto one
NOAGE 1 # Process aging
AFF_SPROC 0 # Affinity start processor
AFF_NPROCS 4 # Affinity number of processors
# Shared Memory Parameters
LOCKS 20000 # Maximum number of locks
BUFFERS 200000 # Maximum number of shared buffers
NUMAIOVPS 2 # Number of IO vps
PHYSBUFF 256 # Physical log buffer size (Kbytes)
LOGBUFF 32 # Logical log buffer size (Kbytes)LOGSMAX 64 # Maximum number of logical log files
CLEANERS 6 # Number of buffer cleaner processes
SHMBASE 0x0A000000L # Shared memory base address
SHMVIRTSIZE 400000 # initial virtual shared memory segmentsize
SHMADD 8192 # Size of new shared memory segments
(Kbytes)
SHMTOTAL 0 # Total shared memory (Kbytes).
0=>unlimited
CKPTINTVL 300 # Check point interval (in sec)@@N
Dino Gomez <gomezd@ms.com> wrote in message news:37F53231.345EABDE@ms.com...
> We've been on "Informix Dynamic Server Version 7.30.UC7" since june.
> One of our
> production servers just got an "Assert Failed" error. We are currently
> working with our Thech Rep.but they are too slow to give us some sort of
> solution.
>
> I've looked through the IIUG comp.databases.informix archive for some
> help but I can't really find anything.
> However, I do see that others have experienced the same "Assertion"
> failures in other platforms, but no one really points to a solution.
> Some say to upgrade to 7.31, but they don't say that is fixed or if they
> are on 7.31 Some say this is bug 111839 but again I can't find the
> place if this has been fixed at all. Is it UNIX? is it Informix? is it
> our script? BTW, our script runs OK in the other remote locations but
> these are much smaller databases than our NY database. Anyway, some
> hints/clues will be greatly appreciated - Thanks - here are the details:
Try to change LRUS from 128 to 127. 128 is 'magic' number in this param.
Some bugs are known with this value.
----------------------------------------------------
With best regards, Yuri Dovgart
SAP R/3, Informix technical consultant,
Senior System Consultant
System Architecture and High Availability Systems,
'Telecominvest' company
Email y_dovgart@tci.ukrtel.net
ICQ 39284285
>
> SunOS Release 5.5.1 Version Generic_103640-24 [UNIX(R) System V Release
> 4.0]
> 2.0 GB Memory
> 6 - 336 MHz SUNW,UltraSPARC-II CPUs
> Informix Dynamic Server Version 7.30.UC7
>
> Error information (from log file)
> 17:34:16 Assert Failed: Memory free block header corruption detected in
> mt_shm_malloc_segid 1
> 17:34:16 Informix Dynamic Server Version 7.30.UC7
> 17:34:16 Who: Session(4967, gim2usr@mgsas8, 20888, 0)
> Thread(10586, sqlexec, 0, 4)
> File: mtshpool.c Line: 2562
> 17:34:16 Results: Pool repaired
> 17:34:16 Action: Please notify Informix Technical Support.
> 17:34:16 See Also: /var/tmp/af.295ae2d8
> 17:34:16 Invoking debugger on oninit pid 1544
> 17:34:16
> Thread(10586, sqlexec, 0, 4)
> 17:34:16 oninit pid 1544 waiting for debugger>
> /var/tmp/af.295ae2d8 verbiage:
> 17:34:16 Found during mt_shm_malloc_segid 1
> 17:34:16 Pool '4967' (0x25022018)
> 17:34:16 Bad free block 0x258fd610
> blk-64> 258fd5d0: 20202020 20202020 20202020 20202020
> 258fd5e0: 2020534c 49434943 494c5444 20455920 SLICIC ILTD EY
> 258fd5f0: 20202020 20202020 20202020 20202020
> 258fd600: 20202020 20202020 2000008d c3454d43 ....EMC
> blk+64
> 258fd610: 49202020 20474b35 38313935 32203b5e I GK5 81952 ;^
> 258fd620: 30280000 00000000 00000000 00000000 0(...... ........
> 258fd630: 395f564f 39482d00 00000000 00000000 9_VO9H-. ........
> 258fd640: 00005452 4c202020 20202047 4c4f4241 ..TRL GLOBA
> 17:34:16 Bad free block removed from pool
> 17:34:16
> 17:34:16 Informix Dynamic Server Version 7.30.UC7 Software Serial> Number AAC#J573924
>
> 17:34:16 Assert Failed: Memory free block header corruption detected in
> mt_shm_malloc_segid 1
> 17:34:16 Who: Session(4967, gim2usr@mgsas8, 20888, 0)
> Thread(10586, sqlexec, 0, 4)
> File: mtshpool.c Line: 2562
> 17:34:16 Results: Pool repaired
> 17:34:16 Action: Please notify Informix Technical Support.>
> The Suspected query:
> update ffTbl set short_name = (select short_name from security
> where security.symbol = ffTbl.symbol) where issuer is not NULL and> issuer != " "
>
> where ffTbl is a temp table. This query has worked since June and it
> still works at our other locations.
>
> The database in question is about 12GB with one of the tables in
> question having grown to 85K records.
>
> Our config file:
> #*************************************************************************
>
> # Root Dbspace Configuration
>
> ROOTNAME rootdbs # Root dbspace name
> ROOTPATH /var/ifmx/ifmxback/devices/nypms1.rootdbs.c1> # Path for device containing root
> dbspace
> ROOTOFFSET 0 # Offset of root dbspace into device
> (Kbytes)
> ROOTSIZE 512000 # Size of root dbspace (Kbytes)>
> # Disk Mirroring Configuration Parameters
>
> MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
> MIRRORPATH # Path for device containing mirrored> root
> MIRROROFFSET 0 # Offset into mirrored device (Kbytes)>
> # Physical Log Configuration
>
> PHYSDBS rootdbs # Location (dbspace) of physical log
> PHYSFILE 200000 # Physical log file size (Kbytes)>
> # Logical Log Configuration
>
> LOGFILES 20 # Number of logical log files
> LOGSIZE 5000 # Logical log size (Kbytes)>
> # Message Files
> # Diagnostics
>
> MSGPATH /var/ifmx/ifmxback/ifmxrept/nypms1.online.log
> # System message log file path
> CONSOLE /var/ifmx/ifmxback/ifmxrept/nypms1.online.console
> # System console message path
> ALARMPROGRAM /bin/true # Alarm program path
> SYSALARMPROGRAM /bin/true # System Alarm program path
> TBLSPACE_STATS 1>
> # System Archive Tape Device
>
> TAPEDEV /var/ifmx/ifmxback/ifmxdump/nypms1.online.dump
> # Tape device path
> TAPEBLK 32 # Tape block size (Kbytes)
> TAPESIZE 40960000 # Maximum amount of data to put on tape
> (Kbytes)>
> # Log Archive Tape Device
>
> LTAPEDEV /dev/null # Log tape device path
> LTAPEBLK 32 # Log tape block size (Kbytes)
> LTAPESIZE 40960000 # Max amount of data to put on log tape
> (Kbytes)>
> # Optical
>
> STAGEBLOB # INFORMIX-OnLine/Optical staging area
>
> # System Configuration
>
> SERVERNUM 1 # Unique id corresponding to a OnLine> instance
> DBSERVERNAME nypms1 # Name of default database server
> DBSERVERALIASES nypms1_shm # List of alternate dbservernames
> NETTYPE tlitcp,3,400,CPU # Configure poll(s) for nettype
> NETTYPE ipcshm,1,10,NET # Configure poll(s) for nettype
> DEADLOCK_TIMEOUT 60 # Max time to wait of lock in> distributed env.
> RESIDENT 0 # Forced residency flag (Yes = 1, No =
> 0)
>
> MULTIPROCESSOR 1 # 0 for single-processor, 1 for> multi-processor
> NUMCPUVPS 4 # Number of user (cpu) vps
> SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps> to one
>
> NOAGE 1 # Process aging
> AFF_SPROC 0 # Affinity start processor
> AFF_NPROCS 4 # Affinity number of processors>
> # Shared Memory Parameters
>
> LOCKS 20000 # Maximum number of locks
In article <37F53231.345EABDE@ms.com>, Dino Gomez <gomezd@ms.com>
writes
>We've been on "Informix Dynamic Server Version 7.30.UC7" since june.
>One of our
>production servers just got an "Assert Failed" error. We are currently
>working with our Thech Rep.but they are too slow to give us some sort of
>solution.
>
>I've looked through the IIUG comp.databases.informix archive for some
>help but I can't really find anything.
>However, I do see that others have experienced the same "Assertion"
>failures in other platforms, but no one really points to a solution.
Solution is to get the bug fixed by Informix. Either it is already
fixed in which case the latest 7.31 is the version to upgrade to or
it is not and you will have to wait until Informix release a fix.
I would move to 7.31 anyway as there are lots of fixes in 7.31 which
you do not have.
>Some say to upgrade to 7.31, but they don't say that is fixed or if they
>are on 7.31 Some say this is bug 111839 but again I can't find the
>place if this has been fixed at all. Is it UNIX? is it Informix? is it
Only Informix can say for sure but it is not your script since no SQL
should be able to cause an assert failed. It is most probably an
Informix bug since most assert failed messages are Informix bugs.
Bug 111839 sounds like an Informix bug number.
>our script? BTW, our script runs OK in the other remote locations but
>these are much smaller databases than our NY database. Anyway, some
>hints/clues will be greatly appreciated - Thanks - here are the details:
>
>SunOS Release 5.5.1 Version Generic_103640-24 [UNIX(R) System V Release
>4.0]
>2.0 GB Memory
>6 - 336 MHz SUNW,UltraSPARC-II CPUs
>Informix Dynamic Server Version 7.30.UC7
>
>Error information (from log file)
>17:34:16 Assert Failed: Memory free block header corruption detected in
>mt_shm_malloc_segid 1
>17:34:16 Informix Dynamic Server Version 7.30.UC7
>17:34:16 Who: Session(4967, gim2usr@mgsas8, 20888, 0)
> Thread(10586, sqlexec, 0, 4)
> File: mtshpool.c Line: 2562
>17:34:16 Results: Pool repaired
>17:34:16 Action: Please notify Informix Technical Support.
>17:34:16 See Also: /var/tmp/af.295ae2d8
>17:34:16 Invoking debugger on oninit pid 1544
>17:34:16
> Thread(10586, sqlexec, 0, 4)
>17:34:16 oninit pid 1544 waiting for debugger>
>/var/tmp/af.295ae2d8 verbiage:
>17:34:16 Found during mt_shm_malloc_segid 1
>17:34:16 Pool '4967' (0x25022018)
>17:34:16 Bad free block 0x258fd610
>blk-64>258fd5d0: 20202020 20202020 20202020 20202020
>258fd5e0: 2020534c 49434943 494c5444 20455920 SLICIC ILTD EY
>258fd5f0: 20202020 20202020 20202020 20202020
>258fd600: 20202020 20202020 2000008d c3454d43 ....EMC
>blk+64
>258fd610: 49202020 20474b35 38313935 32203b5e I GK5 81952 ;^
>258fd620: 30280000 00000000 00000000 00000000 0(...... ........
>258fd630: 395f564f 39482d00 00000000 00000000 9_VO9H-. ........
>258fd640: 00005452 4c202020 20202047 4c4f4241 ..TRL GLOBA
>17:34:16 Bad free block removed from pool
>17:34:16
>17:34:16 Informix Dynamic Server Version 7.30.UC7 Software Serial>Number AAC#J573924
>
>17:34:16 Assert Failed: Memory free block header corruption detected in
>mt_shm_malloc_segid 1
>17:34:16 Who: Session(4967, gim2usr@mgsas8, 20888, 0)
> Thread(10586, sqlexec, 0, 4)
> File: mtshpool.c Line: 2562
>17:34:16 Results: Pool repaired
>17:34:16 Action: Please notify Informix Technical Support.>
>The Suspected query:
>update ffTbl set short_name = (select short_name from security
>where security.symbol = ffTbl.symbol) where issuer is not NULL and>issuer != " "
>
>where ffTbl is a temp table. This query has worked since June and it
>still works at our other locations.
>
>The database in question is about 12GB with one of the tables in
>question having grown to 85K records.
>
>Our config file:
>#*************************************************************************
>
># Root Dbspace Configuration
>
>ROOTNAME rootdbs # Root dbspace name
>ROOTPATH /var/ifmx/ifmxback/devices/nypms1.rootdbs.c1> # Path for device containing root
>dbspace
>ROOTOFFSET 0 # Offset of root dbspace into device
>(Kbytes)
>ROOTSIZE 512000 # Size of root dbspace (Kbytes)>
># Disk Mirroring Configuration Parameters
>
>MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
>MIRRORPATH # Path for device containing mirrored>root
>MIRROROFFSET 0 # Offset into mirrored device (Kbytes)>
># Physical Log Configuration
>
>PHYSDBS rootdbs # Location (dbspace) of physical log
>PHYSFILE 200000 # Physical log file size (Kbytes)>
># Logical Log Configuration
>
>LOGFILES 20 # Number of logical log files
>LOGSIZE 5000 # Logical log size (Kbytes)>
># Message Files
># Diagnostics
>
>MSGPATH /var/ifmx/ifmxback/ifmxrept/nypms1.online.log
> # System message log file path
>CONSOLE /var/ifmx/ifmxback/ifmxrept/nypms1.online.console
> # System console message path
>ALARMPROGRAM /bin/true # Alarm program path
>SYSALARMPROGRAM /bin/true # System Alarm program path
>TBLSPACE_STATS 1>
># System Archive Tape Device
>
>TAPEDEV /var/ifmx/ifmxback/ifmxdump/nypms1.online.dump
> # Tape device path
>TAPEBLK 32 # Tape block size (Kbytes)
>TAPESIZE 40960000 # Maximum amount of data to put on tape
>(Kbytes)>
># Log Archive Tape Device
>
>LTAPEDEV /dev/null # Log tape device path
>LTAPEBLK 32 # Log tape block size (Kbytes)
>LTAPESIZE 40960000 # Max amount of data to put on log tape
>(Kbytes)>
># Optical
>
>STAGEBLOB # INFORMIX-OnLine/Optical staging area
>
># System Configuration
>
>SERVERNUM 1 # Unique id corresponding to a OnLine>instance
>DBSERVERNAME nypms1 # Name of default database server
>DBSERVERALIASES nypms1_shm # List of alternate dbservernames
>NETTYPE tlitcp,3,400,CPU # Configure poll(s) for nettype
tlitcp should be on a NET VP not CPU VP
>NETTYPE ipcshm,1,10,NET # Configure poll(s) for nettype shm should be on a CPU VP not a NET VP.
>DEADLOCK_TIMEOUT 60 # Max time to wait of lock in>distributed env.
>RESIDENT 0 # Forced residency flag (Yes = 1, No =
>0)
>
>MULTIPROCESSOR 1 # 0 for single-processor, 1 for>multi-processor
>NUMCPUVPS 4 # Number of user (cpu) vps
>SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps>to one
>
>NOAGE 1 # Process aging
>AFF_SPROC 0 # Affinity start processor
>AFF_NPROCS