2162617 - Users receive a java.lang.IllegalArgumentException Caused by java.lang.NumberFormatException: For input string: "" in the LMS

SAP Knowledge Base Article - Public

2162617 - Users receive a java.lang.IllegalArgumentException Caused by java.lang.NumberFormatException: For input string: "" in the LMS

Symptom

Users receive a java.lang.IllegalArgumentException Caused by java.lang.NumberFormatException: For input string: "" when performing one or all of the following in the LMS:

  • Using the "Forgot Password" link
  • Logging in for the first time
  • Using the "New User" link (User Created Account Page)
  • Using differnet languages

Environment

  • SAP SuccessFactors
  • Learning Management System (LMS)
  • LMS b1408 and above

Reproducing the Issue

Performing one or all of these workflows:

Logging in for the first time:

  1. Open login page
  2. Type password
  3. Click login
  4. Receive error

Using "Forgot Password" link:

  1. Open login page
  2. Click the "Forgot Password?" hyperlink
  3. Error occurs

Using "New User" link:

  1. Open login page
  2. Click the "New User?" hyperlink
  3. Select Language other than English (such as Turkish)
  4. Error occurs

 

Errors you may receive:

  1. ERROR Please contact your system administrator ticket # xxxx
    • => this means that the following parametre is not active system admin > configuration > system configuration > LMS_ADMIN > 'reportStackTraceToUser=' is set to false => change it to "true" > apply changes > try to replicate the issue and you should get the full error
      •   ticket error.PNG
  2. A java stack trace (long error message) containing the following information:
    • Error Please report the following error to your system administrator:
    • errorpage.jsp. StackTrace is java.lang.IllegalArgumentException: can't parse argument number:
    • Caused by: java.lang.NumberFormatException: For input string: "" => this is at the end of the message
      • error stack.PNG 

Cause

  • In the b1408 release the hint labels were parameterized, so now the label value goes through a process in which place-holders like {0} are replaced with some available arguments.
  • This process treats the above sequence (i.e. {}) as a place-holder, but since it doesn't see an argument index in between it throws an exception.

Resolution

  • The proper way to address this is to leverage the arguments that are now available for the label to use:
    • 0 = Start character of the upper-case alphabet range
    • 1 = End character of the upper-case alphabet range
    • 2 = Start character of the lower-case alphabet range
    • 3 = End character of the lower-case alphabet range
    • 4 = Start character of the Arabic numerals range
    • 5 = End character of the Arabic numerals range
    • 6 = Non-alphanumeric character set (i.e. special characters) => most likely to cause the issue
    • 7 = Other optional character set
  • Most of the time 2 values are not updated for one or more locale (Non alphanumeric special characters and Other optional characters) so they must be updated manually. 

Resolution Steps:

  1. Navigate to References > Georgraphy > Locales labels
  2. Search for label ID  instruction.passwordvalidation.PasswordCharacterClassesRuleHint
  3. Open in edit mode the one corresponding to the locale you are experiencing issues with and you may see something like this:
    1.          label value.png
  4. Replace the values highlighted as below and apply changes
  5. The password must contain the following types of characters:<br><ol><li>English uppercase letters [{0}-{1}]</li><li>English lowercase letters [{2}-{3}]</li><li>Arabic numerals [{4}-{5}]</li><li>Non alphanumeric special characters {6}</li><li>Other optional characters {7}</li></ol>
    1. NOTE: the value for "other optional character" may be missing from the label you are updating and may be added but as it is optional it is at your discretion.
  6. It is recommended to verify the label value for all locales and update any locales which does not have the correct settings
  7. Try login again and you should no longer receive the issue

Keywords

SF SuccessFactors Success Factors Learning Management System LMS java error exception illegal argument password new user created acount page label link hyperlink policy password_policy language locale turkish romanian

  • password
  • login
  • java
  • character class
  • labels
  • format exception
  • new user
, KBA , LOD-SF-LMS , SuccessFactors Learning , Problem

Product

SuccessFactors Learning 1408