Don't think so, sorry.
Original Message:
Sent: Thu March 28, 2024 04:49 AM
From: Dennis Melnikov
Subject: Archecker dumps a core
Andreas,
I mean, there is no workaround for the older version?
------------------------------
Sincerely,
Dennis
Original Message:
Sent: Thu March 28, 2024 04:39 AM
From: Andreas Legner
Subject: Archecker dumps a core
... until someone noticed this and it was fixed, pretty much immediately, around two years ago.
------------------------------
Andreas Legner
Original Message:
Sent: Thu March 28, 2024 02:57 AM
From: Dennis Melnikov
Subject: Archecker dumps a core
Andreas,
This way, a partitioned table altered multiple times during its lifecycle becomes unrestorable with archecker?
------------------------------
Sincerely,
Dennis
Original Message:
Sent: Wed March 27, 2024 02:03 PM
From: Andreas Legner
Subject: Archecker dumps a core
This possibly applying: IT39814 TABLE LEVEL RESTORE FAILURE ON TABLE WITH DIFFERING IN-PLACE ALTER HISTORY BETWEEN ITS FRAGMENTS
(I think I remember error codes rather than core dump, though.)
A table can be in this state if it underwent at least one in-place alter, then got fragments added before undergoing more in-place alters.
In any case: an IPA table will never loose it's IPA characteristics, no matter if it still has any outstanding in-place alters, i.e. old version pages. All data pages will carry the latest (non-zero) IPA version which is going to invoke IPA code.
------------------------------
Andreas Legner
Original Message:
Sent: Wed March 27, 2024 09:00 AM
From: Dennis Melnikov
Subject: Archecker dumps a core
Hi,
Testing archecker to restore a table, I encountered a bug, I believe.
A command file is as follows,
SET WORKSPACE TO dbs17;
RESTORE TO CURRENT WITH NO LOG;
DATABASE bluebird;
CREATE TABLE bank_st_l (
bank_st_l_id SERIAL NOT NULL,
<... more columns ...>
) IN dbs10;
DATABASE elitemon;
CREATE TABLE tst_bank_st_l (
bank_st_l_id SERIAL NOT NULL,
<... more columns ...>
) ;
INSERT INTO tst_bank_st_l SELECT * FROM bluebird:bank_st_l
WHERE bank_st_l_id BETWEEN 50000000 AND 50050000;
First, it wrote in AC_MSGPATH a bunch of errors related to in-place alter,
STATUS: IBM Informix Dynamic Server Version 11.70.FC5XE
Program Name: archecker
Version: 8.0
Released: 2012-09-25 06:46:27
CSDK: IBM Informix CSDK Version 3.70
ESQL: IBM Informix-ESQL Version 3.70.FC6
Compiled: 09/25/12 06:46 on AIX 1 6
STATUS: Arguments [-bvs -f cmdtest2.sql]
STATUS: AC_STORAGE /blob/ARCHECKER
STATUS: AC_MSGPATH /tmp/ac_msg.log
STATUS: AC_VERBOSE on
STATUS: AC_TAPEBLOCK 60 KB
STATUS: AC_IXBAR /opt/informix/11.70fc5xe/etc/ixbar.0
STATUS: AC_RESTORE_FILTER /usr/bin/unpigz
STATUS: AC_SCHEMA cmdtest2.sql
TIME: [2024-03-27 12:41:19] All old validation files removed.
STATUS: Dropping old log control tables
STATUS: Temporary workspace has been set
STATUS: Restore only physical image of archive
STATUS: SQL [SET INDEXES, TRIGGERS, CONSTRAINTS FOR tst_bank_st_l DISABLED]
STATUS: Extracting table bluebird:bank_st_l into elitemon:tst_bank_st_l
STATUS: Determined Storage Manager to be tsm.
STATUS: Starting Filter /usr/bin/unpigz
STATUS: starting to scan dbspace 18 created on 2024-03-26 22:00:05.
STATUS: Archive timestamp 0X0C41D497.
TIME: [2024-03-27 12:41:21] Found Partition bank_st_l in space dbs10 (0x01200010).
<... More partitions ...>
ERROR: acu_ipa_rowalter: row data version(0) is invalid : pts_oldvers(0), total_versions(0)
ERROR: Unable to perform ipa for (0x1200134)
ERROR: IPA row alter failed for rowid 0x00000101
ERROR: Unable to convert page(28_8761749) for partnum 18874561
ERROR: acu_ipa_rowalter: row data version(0) is invalid : pts_oldvers(0), total_versions(0)
ERROR: Unable to perform ipa for (0x1200134)
ERROR: IPA row alter failed for rowid 0x00000201
ERROR: Unable to convert page(28_8761750) for partnum 18874561
<... 1000 times total ...>
The errors are rather weird 'cause I've got rid of all the IPAs with dummy updates followed with a whole backup.
Then, after some reading a core is dumped. Here is a primary analysis of the core,
$ dbx -p /=./ /opt/informix/11.70fc5xe/bin/archecker ./core
Type 'help' for help.
[using memory image in ./core]
reading symbolic information ...warning: no source compiled with -g
Segmentation fault in acu_ipa_setup at 0x1001f3dcc ($t1)
0x1001f3dcc (acu_ipa_setup+0x34c) 7c05322e lhzx r0,r5,r6
(dbx) corefile
Process Name: /opt/informix/11.70fc5xe/bin/archecker
Version: 500
Flags: FULL_CORE | CORE_VERSION_1 | UBLOCK_VALID | USTACK_VALID | LE_VALID
Signal: SEGV
Process Mode: 64 bit
(dbx) where
acu_ipa_setup() at 0x1001f3dcc
ACU_RowAlter() at 0x1001f394c
ACU_Next() at 0x1000f2e3c
arc_unl_data() at 0x1000d72f4
Arc_process_page() at 0x1000e65e8
Arc_Scan_Tapes() at 0x1000e4d80
arc_unload_level() at 0x1000e51c8
main() at 0x100001bb4
My questions are,
(a) Is there anything I've missed to succeed with archecker?
(b) Is it possible to use archecker of a newer version?
------------------------------
Sincerely,
Dennis
------------------------------