My Oracle Support Banner

A User Attribute Whose Name Has Extra White-Space Unexpectedly Removes All Other Attributes (Doc ID 2055463.1)

Last updated on JUNE 06, 2016

Applies to:

Oracle WebCenter Sites - Version 11.1.1.8.0 to 12.2.1.0.0 [Release FatWire]
Information in this document applies to any platform.

Symptoms

In "Modify User Attributes" page of Admin UI, the user attributes unexpectedly vanish, if a new attribute is added whose name includes white-space.

When the issue occurs, it does not show any error in Admin UI but following unique constraint violation error is reported in sites log.

[2015-09-14 05:37:21,343 UTC] [ERROR] [.kernel.Default (self-tuning)'] [fatwire.logging.cs.db] Exception executing prepared statement: INSERT INTO SystemUserAttr (ID,NAME,VALUE) VALUES (?,?,?)
ID = 1434999860029
NAME = mail
VALUE = foo@internet.com
java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (CSUSER.SYS_C00190191) violated

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1044)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3593)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3674)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1354)
at weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStatement.java:172)
at COM.FutureTense.Servlet.JDBCTable.executeUpdate_trans_logic(JDBCTable.java:1412)
at COM.FutureTense.Servlet.JDBCTable.access$000(JDBCTable.java:69)
at COM.FutureTense.Servlet.JDBCTable$1.execute(JDBCTable.java:1349)
at com.fatwire.cs.core.db.NestedTransactionBlock.execute(NestedTransactionBlock.java:189)
at COM.FutureTense.Servlet.JDBCTable.executeUpdate_trans(JDBCTable.java:1354)
at COM.FutureTense.Servlet.JDBCTable.executeUpdate(JDBCTable.java:1234)
at COM.FutureTense.Servlet.JDBCTable.AddRow(JDBCTable.java:966)
at COM.FutureTense.Common.ftDBTable.insertRow(ftDBTable.java:1281)
at COM.FutureTense.CatalogManager.CatalogEngine._addRowsToTable(CatalogEngine.java:1034)
at COM.FutureTense.CatalogManager.CatalogEngine.access$200(CatalogEngine.java:45)
at COM.FutureTense.CatalogManager.CatalogEngine$2.execute(CatalogEngine.java:968)
at com.fatwire.cs.core.db.NestedTransactionBlock.execute(NestedTransactionBlock.java:189)
at COM.FutureTense.CatalogManager.CatalogEngine.addRowsToTable_trans(CatalogEngine.java:977)
at COM.FutureTense.CatalogManager.CatalogEngine.addRowsToTable(CatalogEngine.java:860)
at COM.FutureTense.Common.CatalogManager.execute(CatalogManager.java:778)
at COM.FutureTense.Common.ContentServer.runManager(ContentServer.java:3472)
at COM.FutureTense.Common.CS.CatalogManager(CS.java:1503)
at com.openmarket.directory.cs.CSDir.addAttrs(CSDir.java:604)
at com.openmarket.directory.cs.CSDir.replaceAttrs(CSDir.java:654)
at com.openmarket.directory.jsp.dir.ReplaceAttrs.doEndTag(ReplaceAttrs.java:88)
at com.openmarket.framework.jsp.Base.doEndTag(Base.java:143)
at jsp_servlet._jsp._cs_deployed._futuretense._apps._adminforms._usermgt.__domodifyatts._jspService(__domodifyatts.java:218)
...(snip)...
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
[2015-09-14 05:37:21,345 UTC] [ERROR] [.kernel.Default (self-tuning)'] [cs.core.db.DBTransaction] TransactionUnit failed to execute
com.fatwire.cs.core.db.TransactionAbortException: addrows failed
at COM.FutureTense.CatalogManager.CatalogEngine$2.execute(CatalogEngine.java:971)
at com.fatwire.cs.core.db.NestedTransactionBlock.execute(NestedTransactionBlock.java:189)
at COM.FutureTense.CatalogManager.CatalogEngine.addRowsToTable_trans(CatalogEngine.java:977)
at COM.FutureTense.CatalogManager.CatalogEngine.addRowsToTable(CatalogEngine.java:860)
at COM.FutureTense.Common.CatalogManager.execute(CatalogManager.java:778)
at COM.FutureTense.Common.ContentServer.runManager(ContentServer.java:3472)
at COM.FutureTense.Common.CS.CatalogManager(CS.java:1503)
at com.openmarket.directory.cs.CSDir.addAttrs(CSDir.java:604)
at com.openmarket.directory.cs.CSDir.replaceAttrs(CSDir.java:654)
at com.openmarket.directory.jsp.dir.ReplaceAttrs.doEndTag(ReplaceAttrs.java:88)
at com.openmarket.framework.jsp.Base.doEndTag(Base.java:143)
at jsp_servlet._jsp._cs_deployed._futuretense._apps._adminforms._usermgt.__domodifyatts._jspService(__domodifyatts.java:218)
...(snip)...
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
[2015-09-14 05:37:21,346 UTC] [ERROR] [.kernel.Default (self-tuning)'] [fatwire.logging.cs.db] Exception in addrows for table SystemUserAttr
com.fatwire.cs.core.db.TransactionAbortException: addrows failed
at COM.FutureTense.CatalogManager.CatalogEngine$2.execute(CatalogEngine.java:971)
at com.fatwire.cs.core.db.NestedTransactionBlock.execute(NestedTransactionBlock.java:189)
at COM.FutureTense.CatalogManager.CatalogEngine.addRowsToTable_trans(CatalogEngine.java:977)
at COM.FutureTense.CatalogManager.CatalogEngine.addRowsToTable(CatalogEngine.java:860)
at COM.FutureTense.Common.CatalogManager.execute(CatalogManager.java:778)
at COM.FutureTense.Common.ContentServer.runManager(ContentServer.java:3472)
at COM.FutureTense.Common.CS.CatalogManager(CS.java:1503)
at com.openmarket.directory.cs.CSDir.addAttrs(CSDir.java:604)
at com.openmarket.directory.cs.CSDir.replaceAttrs(CSDir.java:654)
at com.openmarket.directory.jsp.dir.ReplaceAttrs.doEndTag(ReplaceAttrs.java:88)
at com.openmarket.framework.jsp.Base.doEndTag(Base.java:143)
at jsp_servlet._jsp._cs_deployed._futuretense._apps._adminforms._usermgt.__domodifyatts._jspService(__domodifyatts.java:218)
...(snip)...
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
[2015-09-14 05:37:21,347 UTC] [INFO ] [.kernel.Default (self-tuning)'] [com.fatwire.logging.cs] [Sep 14, 2015 5:37:21 AM][Directory-F--15032][CSDir:addAttrs(ICS, IName, Attributes, Object)][Add attribute failed, errno=-105.][6GJlV2cfVJY3pvBHGhWJYqG42BbJZGr6S52mlJcmnGv2LX60t2T5!-1249153895!1442208959131][FutureTense/Apps/AdminForms/UserMgt/DoModifyAtts#FutureTense/Apps/AdminForms/AdminForm]
[2015-09-14 05:37:21,347 UTC] [ERROR] [.kernel.Default (self-tuning)'] [directory.jsp.dir.ReplaceAttrs] replaceAttrs caught following exception:
com.openmarket.directory.DirectoryException: -105
at com.openmarket.directory.common.DirLogger.throwFatalException(DirLogger.java:53)
at com.openmarket.directory.cs.CSDir.addAttrs(CSDir.java:609)
at com.openmarket.directory.cs.CSDir.replaceAttrs(CSDir.java:654)
at com.openmarket.directory.jsp.dir.ReplaceAttrs.doEndTag(ReplaceAttrs.java:88)
at com.openmarket.framework.jsp.Base.doEndTag(Base.java:143)
at jsp_servlet._jsp._cs_deployed._futuretense._apps._adminforms._usermgt.__domodifyatts._jspService(__domodifyatts.java:218)
...(snip)...
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

 

Changes

It occurs when adding a user attribute with extra white-space at the beginning or end of the attribute name (e.g. "mail ", " mail").

For example, you can see the issue with following steps with a built-in demo user:

  1. Login Admin UI
  2. Open "Admin" tab, then open [User Access Management]->[User]
  3. In "User" page, enter the user name "demo" and select "Modify User Attributes", then click [OK]
  4. In "Modify User" page, click the user name
  5. Add following 2 attributes to demo user, then click [Modify]
    • Name: displayname / Value: demo 
    • Name: locale / Value: en_US
  6. Add an another attribute named "mail " ("mail" + white space) and click [Modify]
    --> At this time, the attribute "mail " seems to be added without any issue.
  7. After step 6, click [Modify] again without any further change.
    --> All attributes excepts the "mail " attribute which was added in step 6 (i.e. displayname and locale attributes added in step 5) are unexpectedly removed.

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


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.