home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IC66274 Status: Closed

INSTANCE MAY TRAP AFTER RESTORE OF EXISTING DATABASE WHEN ROLL FORWARD
COMMANDS ARE ISSUED

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem description:
The instance many trap after a restore of an existing database 
when a Roll Forward command is issued.  The Roll Forward command 
may include a check of the status of the Roll Forward as well as 
the actual command to start the Roll Forward.  The trap is due 
to a timing issue during the activation of different processes / 
threads. 
 
The the db2loggr process / thread will fail with a signal 11: 
 
2010-01-30-02.12.46.280761+060 E339182911E982     LEVEL: Severe 
PID     : 17712                TID  : 47238155786528  PROC : 
db2loggr (SAMPLE) 0 
INSTANCE: db2inst1             NODE : 000 
FUNCTION: DB2 UDB, oper system services, sqloEDUCodeTrapHandler, 
probe:20 
DATA #1 : Signal Number Recieved, 4 bytes 
11 
 
And will have the following stack: 
       sqlbInitEDU 
       sqlpgasn 
       sqloCreateEDU 
       sqloRunGDS 
       sqloInitEDUServices 
       sqloSystemControllerMain 
       sqloRunInstance 
       DB2main 
       main 
 
The problem is timing dependent, i.e. not always reproducible. 
The user can use a non-intrusive db2trc command to change the 
timing, thus work around the issue. In the same manner, db2trc 
can be used to reproduce the crash. Sample steps to recreate the 
crash: 
 
Setup: 
====== 
Create a database. Take an online backup while there is activity 
going on the database. 
 
session 1: db2 create db test 
session 1: db2 update db cfg for test using logretain yes 
session 1: db2 backup db test to /dev/null 
session 1: db2 backup db test online 
session 1: db2 connect to test 
session 1: db2 "create table t1 (c1 char(100))" 
session 1: db2 "insert into t1 values ('aaaaaaaaa')" 
session 1: while [ 1 ]; do db2 "insert into t1 select * from 
t1"; done 
session 2: db2 backup db test online 
session 1: Ctrl-C 
session 1: db2 terminate 
 
Reproduce: 
========== 
session 1: db2 restore db test 
session 1: db2trc on -crash "DB2.SQLP.sqlpgLoggrPostInit.entry" 
-suspend 
session 1: db2 rollforward db test (this step will hang) 
session 2: db2trc off              (in order to end the hang) 
session 1: (the session will resume, the output will be:) 
 
SQL1224N  The database manager is not able to accept new 
requests, has 
terminated all requests in progress, or has terminated your 
particular request 
due to a problem with your request.  SQLSTATE=55032
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* Users performing rollforward operation.                      * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* The instance many trap after a restore of an                 * 
* existingdatabase when a Roll Forward command is issued.  The * 
* RollForward command may include a check of the status of     * 
* theRoll Forward as well as the actual command to start the   * 
* RollForward.  The trap is due to a timing issue during       * 
* theactivation of different processes /threads.The the        * 
* db2loggr process / thread will fail with a                   * 
* signal11:2010-01-30-02.12.46.280761+060 E339182911E982       * 
* LEVEL:SeverePID    : 17712                TID  :             * 
* 47238155786528  PROC :db2loggr (SAMPLE) 0INSTANCE: db2inst1  * 
*           NODE : 000FUNCTION: DB2 UDB, oper system           * 
* services,sqloEDUCodeTrapHandler, probe:20DATA #1 : Signal    * 
* Number Recieved, 4 bytes11And will have the following        * 
* stack:sqlbInitEDUsqlpgasnsqloCreateEDUsqloRunGDSsqloInitEDUSer 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to Version 9.7 Fix Pack 2 or later releasecontaining * 
* the fix.                                                     * 
****************************************************************
Local Fix:
Despite the presence of the "-crash" option of db2trc, these 
steps will not cause any crash or other damage to the system. 
Instead, a certain code path will merely be put to sleep, and 
later resumed. 
 
session 1: db2 restore db test 
session 1: db2trc on -crash "DB2.SQLP.sqlpterm.entry" -suspend 
session 1: db2 rollforward db test (this step will hang) 
session 2: db2trc off              (in order to end the hang) 
session 1: (the session will resume, the output will be:) 
 
                                Rollforward Status 
 
Input database alias                   = test 
Number of nodes have returned status   = 1 
<..etc, the regular success message...>
available fix packs:
DB2 Version 9.7 Fix Pack 2 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 4 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 10 for Linux, UNIX, and Windows

Solution
Problem was first fixed in Version 9.7 Fix Pack 2.
Workaround
See Local Fix.
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
12.02.2010
25.05.2010
25.05.2010
Problem solved at the following versions (IBM BugInfos)
9.7.FP2
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.2 FixList