In this case, only one user id failed to login into IBM Business Process Manager (BPM) Process Designer and the system prompted error in the screen dump. Even rebooting the BPM environment did not solve the problem.
CORBA MARSHAL 0x4942f89a No;nested exception is:
org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge:
Unable to read value from underlying bridge: ClassNotFoundException com.microsoft.sqlserver.jdbc.SQLServerException vmcid:IBM minor code:89A completed:No
From the BPM server log (systemOut.log), we found the error below:
[9/25/17 15:31:37:857 CST] 00009f94 wle_servlet E CWLLG0055E: Initialization of a new login has failed due to an unexpected exception. Error: com.lombardisoftware.client.delegate.BusinessDelegateException: PreparedStatementCallback; SQL [insert into LSW_USR_GRP_MEM_XREF (USER_ID, GROUP_ID) values (?, ?)]; The INSERT statement conflicted with the FOREIGN KEY constraint "LSWC_UGXREF_FK2". The conflict occurred in database "BPMDB801", table "bpm_801.LSW_USR_GRP_XREF", column 'GROUP_ID'.; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: The INSERT statement conflicted with the FOREIGN KEY constraint "LSWC_UGXREF_FK2". The conflict occurred in database "BPMDB801", table "bpm_801.LSW_USR_GRP_XREF", column 'GROUP_ID'.
com.lombardisoftware.client.delegate.BusinessDelegateException: PreparedStatementCallback; SQL [insert into LSW_USR_GRP_MEM_XREF (USER_ID, GROUP_ID) values (?, ?)]; The INSERT statement conflicted with the FOREIGN KEY constraint "LSWC_UGXREF_FK2". The conflict occurred in database "BPMDB801", table "bpm_801.LSW_USR_GRP_XREF", column 'GROUP_ID'.; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: The INSERT statement conflicted with the FOREIGN KEY constraint "LSWC_UGXREF_FK2". The conflict occurred in database "BPMDB801", table "bpm_801.LSW_USR_GRP_XREF", column 'GROUP_ID'. at com.lombardisoftware.client.delegate.BusinessDelegateException.asBusinessDelegateException(BusinessDelegateException.java:41)
Root cause analysis
IBM BPM database contains entries for groups that are imported from the user registry. If the capitalization of a group name is changed in the user registry, IBM BPM mistakenly tries to create an entry in the database the next time the server starts. This attempt fails with the following exception in the "Error/stacktrace for field (from the ffdc file) when SQL-SERVER is in use as database:
[9/25/17 20:19:01:174 CST] FFDC Exception:org.springframework.dao.DataIntegrityViolationException
SourceId:com.lombardisoftware.utility.spring.ProgrammaticTransactionSupport ProbeId:isTransactionFailure-NoRetryForException
org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [insert into LSW_USR_GRP_XREF (GROUP_ID,GROUP_NAME,DISPLAY_NAME,GROUP_TYPE,DESCRIPTION,GROUP_STATE,PARENT_GROUP_ID) values (?,?,?,?,?,?,?)]; Cannot insert duplicate key row in object 'bpm_801.LSW_USR_GRP_XREF' with unique index 'LSWC_GXREF_UQ'.
The duplicate key value is (#W******QA).; nested exception is java.sql.BatchUpdateException: Cannot insert duplicate key row in object 'bpm_801.LSW_USR_GRP_XREF' with unique index 'LSWC_GXREF_UQ'. The duplicate key value is (#W******QA).
at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.translate(SQLErrorCodeSQLExceptionTranslator.java:292)
In the BPM server log (systemOut.log), you can see the message below about saving the user groups:
[9/25/17 20:18:56:122 CST] 00000034 wle_security I com.lombardisoftware.server.core.GroupCore getAllGroupsInternal
CWLND0005I - The group replication process has started.
[9/25/17 20:19:01:218 CST] 00000034 wle_security I com.lombardisoftware.server.core.GroupCore saveUserGroups : Error saving user Groups: [groupId(true) = UserGroup.5***2, groupName(true) = S***A... [many other groups omitted]
[9/25/17 20:19:23:293 CST] 00000034 wle_security I com.lombardisoftware.server.core.GroupCore getAllGroupsInternal
CWLND0006I - The group replication process has completed.
Workaround
In the Process Admin Console, select IBM BPM Admin and then select ManageCaches. On the page that opens, click Reset to clear the GroupInfoCache and restart BPM.
Solution
APAR JR53171 was developed to make sure that group names are identified as equivalent if only the capitalization of their names differs. When the server starts, a group is not added to the database corresponding to the group whose name capitalization changed if the group name exists in the database in a different capitalization style.
Affected BPM product versions:
- 8.0.1 (8.0.1.1, 8.0.1.2, 8.0.1.3)
- 8.5.0.1
- 8.5.5.0
- 8.5.6.0
Not affected BPM product versions:
Tags: 
designer
process
business
business_process
management
bpm