Export fails when page count is greater than 2 (AIX middle-tier only)
Question / Problem:
An error occurs during export when the page count > 2.
This would typically:
- Prevent batches processed through KC/KTM and containing more than 2 pages from entering the MarkView system.
- Affect an upgrade or new install where the Application Server is AIX.
The markview_server.log file contains an "Array index out of range error" similar to the following:
java.lang.RuntimeException: Array index out of range: -190
field: org.springframework.security.authentication.AbstractAuthenticationToken.authorities
class: org.springframework.security.authentication.UsernamePasswordAuthenticationToken (object=org.springframework.security.authentication.UsernamePasswordAuthenticationToken@e4ff3075: Principal: MarkviewUserDetails{user=UserObject(u=KOFAX, fn=null, ln=null, e=QUAT, enable=null, disable=null, auss=N)}; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@b364: RemoteIpAddress: 10.16.1.149; SessionId: PJbMfBEkrVkOoBUnlND2po7eiHnX01zPbG1mKSY1DAp9Y8S7q8o_!-127083036!1571093745956; Granted Authorities: ANONYMOUS, ROLE_ALL USERS, ROLE_SCAN USERS)
at com.caucho.hessian.io.UnsafeSerializer.writeInstance(UnsafeSerializer.java:220)
The error is reporting a negative integer which is not permitted
Answer / Solution:
Background information:
MarkView uses the latest 'hessian' library for authorization process and this library has a bug:
http://bugs.caucho.com/view.php?id=5385
http://bugs.caucho.com/view.php?id=5487
Since we use IBM J9 VM (engine is OpenJ9) on AIX and OpenJ9 supports a key: -XX:[+|-]PositiveIdentityHash, we can add the following Java options to the "Arguments:" field on the Server Start tab in the WebLogic console:
-XX:+PositiveIdentityHash -XX:-IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions
Take the following steps to resolve the issue:
1) Login to WebLogic console and navigate to Environment -> Servers
2) Click markview_server
3) Select Server Start tab
4) Add the following string to the Arguments field: -XX:+PositiveIdentityHash -XX:-IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions
5) Save the changes and restart markview_server
Batches affected by this issue should now be able to be processed normally and should export successfully.
Applies to:
Product | Version |
---|---|
MarkView (AIX middle-tier) | 9.1; 10.0; 10.1 |