Ddldict crashes with "Segmentation fault" error during Schema Export when a Functional Index Expression Exceeds 100 Characters
(Doc ID 3069231.1)
Last updated on FEBRUARY 26, 2025
Applies to:
Siebel CRM - Version 22.8 and laterIBM AIX on POWER Systems (64-bit)
Symptoms
On AIX, ddldict crashes during migration (export) from the source when the environment contains a functional index with an expression exceeding 100 characters, resulting in a "Segmentation fault" error in the console.
snippet of the console
ddldict /l <LOG> g /p ****** /d SIEBEL /a y /e y /n "Siebel Repository" /f /<PATH TO ctl file> /c esia17_DSN /T DCIR /u <USERNAME>
....
Reading index X_DD_TRGTGRPMBR_F2 ...
Found 4994 tables and 25714 indexes.
Writing DDL file...
Segmentation fault (core dumped)
callstack_xxx.txt
Called from:
<unnamed block>
0x20aec890 UTLCfgWrite+ 0x00000d34
0x20756f44 UTLDbFileIndWrite(TagDb *, _utlCfgInfo *, TagDbInd *, unsigned int, int)+ 0x000017ac
0x20768dd0 UTLDbFileWrite@AF103_50+ 0x00000be0
0x10001870 MainFunction(Main *)+ 0x00001144
0x10000d04 wmain(int, wchar_t **)+ 0x00002224
0x100006f0 main+ 0x000003ac
0x100001e4 __start+ 0x0000021c
truss output
Writing DDL file
14614840: 66912591: 493.7836: kopen("/home/siebel/repo_exp/ddlexport.ctl", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) = 12
14614840: 66912591: 493.7845: kioctl(12, 22528, 0x00000000, 0x00000000) Err#25 ENOTTY
14614840: 66912591: 493.7848: kioctl(12, 22528, 0x00000000, 0x00000000) Err#25 ENOTTY
14614840: 66912591: 493.7851: kwrite(12, 0x5EC3D510, 3) = 3
14614840: EFBBBF
14614840: 66912591: 493.8647: __libc_sbrk(0x00000000) = 0x5F376AD0
14614840: 66912591: 493.8692: __libc_sbrk(0x00000000) = 0x5F386AE0
....
14614840: 66912591: 500.6442: __libc_sbrk(0x00000000) = 0x618B8500
14614840: Received signal #11, SIGSEGV [caught]
Replication Steps
----------------------
1. Login to siebel tools
create Functional INDEX as per the Guidelines for Creating a Function-Based Index
Table: - S_INVOICE
Expression = CASE WHEN (STATUS_CD <>'Reversed' AND STATUS_CD <>'Cancelled' AND STATUS_CD IS NOT NULL) THEN ORDER_ID END
COLUMN - ORDER_ID
Expr Flag - Y
2. Apply/Activate this change and verify the newly created index is created in database
3. Run schema export using ddldict something like below
4. It crashes while writing the ddl file .
Changes
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Changes |
Cause |
Solution |
References |