• Bug
  • Status: Resolved
  • 2 Major
  • Resolution: Won't Fix
  • DSO:L1
  • interfaces
  • Reporter: pankin
  • March 06, 2009
  • 0
  • Watchers: 2
  • February 12, 2014
  • February 12, 2014

Description

Fault found in Terracotta 2.7.3 (also 2.7.0)

File: code/base/dso-l1/src/com/tc/object/bytecode/ManagerImpl.java, Method: public boolean isDsoMonitorEntered(Object o) : The line 502: if (!dsoMonitorEntered && isManaged(o)) { could be changed to 502: if (!dsoMonitorEntered && isManaged(o) && !this.txManager.isTransactionLoggingDisabled()) {

In our case, o contained a hash table which in turn contained a SAML Assertion (see http://en.wikipedia.org/wiki/SAML) with a self-reference, thus the logging of o.toString() in : logger .info(“Object “ + o + “ is a shared object, but a shared lock… went into a recursion that never ended. We could see that this occurred when the transaction logging was disabled , so that condition could be added to the if-clause.

We have entered the above patch and it solves the problem for us. It would be great to have a correction for this problem in an official Terracotta release soon.

Comments

Fiona OShea 2009-03-06

need contributer agreement if we use his specific stuff. http://www.terracotta.org/confluence/display/devdocs/How+To+Become+A+Contributor

Hung Huynh 2014-02-12

DSO is discontinued