IBM Support

LDAPMODIFY Fails with "unknown error"

Troubleshooting


Problem

Unknown error with LDAPMODIFY.

Resolving The Problem

When running ldapmodify in qshell, it fails with "unknown error".

This is an unknown error from QSHELL.


An LDAP trace shows the following:

394000  230195952         32 usec SQLAllocStmt() => 0, hdbc = 2, hstmt = 8d
443992  230245928      33536 usec SQLFetch => 0, hdbc = 2, hstmt = 8d
444048  230246000         48 usec SQLFetch => 100, hdbc = 2, hstmt = 8d
444080  230246032         24 usec SQLFetch => 100, hdbc = 2, hstmt = 8d
444112  230246056         16 usec SQLFetch => 100, hdbc = 2, hstmt = 8d
444344  230246288        216 usec SQLFreeStmt(1) => 0, hstmt = 8d
444376  230246328         16 usec SQLAllocStmt() => 0, hdbc = 2, hstmt = 8d
491544  230293488      47152 usec DBXExecDirect: SQLExecDirect(SELECT COUNT(DISTINCT EID) FROM QUSRDIRDB.ZXSNATTROL
491576  230293528         16 usec SQLBindCol() => 0, hdbc = 2, hstmt = 8d
535504  230337448      43912 usec SQLFetch => 0, hdbc = 2, hstmt = 8d
549144  230351096      13624 usec SQLFreeStmt(1) => 0, hstmt = 8d
549160 modify_entity: bad rc 80 from backend rdbm, phase=vote
549176 modify_entity: Backend rdbm failed at vote phase , rc = 80
549288  230351232         96 usec SQLTransact(1) => 0, henv=1,hdbc=2
584336 Entering give_thread_connection_back_to_pool for hdbc = 2
584344 Entering give_connection_back_to_pool for hdbc = 2
584376 send_ldap_result2: 80::
584384 Sending msg to client
584400 ber_flush_nb: 25 bytes to sd=16
584408  +--------------------------------------------------------------------------+
584416  |OSet| Address = 009F1D40  Length = 0019 |     ASCII      |     EBCDIC     |
584424  +--------------------------------------------------------------------------+
584432  |0000|30840000 00130204 000000A9 67840000|0...........g...|.d.........z.d..|
584448  |0010|00070A01 50040004 00               |....P....       |....&....       |
584456  +--------------------------------------------------------------------------+
584496 send_ldap_result2: conn=1244 RESULT err=80 nentries=0
584544  backend routine NOT successful
585072 do_unbind: *** start operation *** conn=1244 op=0 sd=16 tid=8
585096 Calling backend routine
585104 Calling backend routine
585112 Calling backend routine
585112 SYSPRJ_UNBIND TRACE:  Entering sysprj_back_unbind.
585128 SYSPRJ_UNBIND TRACE:  Leaving sysprj_back_unbind. rc2 = 0
585128 Calling backend routine
585224 conn=1244 op=0 closed errno=3025
585280 TerminateConn: terminating conn=1244 sd=16 tid=8.

The problem is when modifying a schema with the current LDAP DB populated with that schema object. The proper procedure for doing an ldapmodify while there is current data in the LDAP library is to follow these steps:

1.Stop the server.
2.Save current database library (SAVLIB QUSRDIRDB if using the default library). If something goes wrong, you can recover QUSRDIRDB from the save file.
3.Export the entire directory using the Export LDIF tool in iSeries Navigator.
4.Clear the library (CLRLIB QUSRDIRDB) responding with 'I' to inquiry messages about the journals
5.Start the server, and execute the ldapmodify.
6.Stop the server, and import the LDIF file created in Step 3 in iSeries Navigator.

[{"Type":"MASTER","Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Platform":[{"code":"PF012","label":"IBM i"}],"Version":"6.1.0"}]

Historical Number

544866438

Document Information

Modified date:
18 December 2019

UID

nas8N1012602