Uploaded image for project: 'Commons Lang'
  1. Commons Lang
  2. LANG-349

Deadlock using ReflectionToStringBuilder

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Won't Fix
    • 2.0
    • 2.4
    • None
    • None

    Description

      I used the ReflectionToStringBuilder on an object to output debugging messages to Log4j. If this object was picked up by two different threads and the toString() method was called at the same time in two different threads, a deadlock occurrs.

      Here is a stack trace from using jstack:

      Thread 1172: (state = BLOCKED)

      • java.util.Vector.hashCode() @bci=0, line=938 (Interpreted frame)
      • java.util.HashMap.containsKey(java.lang.Object) @bci=6, line=377 (Compiled frame)
      • org.apache.commons.lang.builder.ReflectionToStringBuilder.toString() @bci=50, line=522 (Compiled frame)
      • org.apache.commons.lang.builder.ReflectionToStringBuilder.toString(java.lang.Object, org.apache.commons.lang.builder.ToStringStyle, boolean, java.lang.Class) @bci=12, line=265 (Interpreted frame)
      • org.apache.commons.lang.builder.ReflectionToStringBuilder.toString(java.lang.Object, org.apache.commons.lang.builder.ToStringStyle) @bci=4, line=197 (Interpreted frame)
      • org.apache.commons.lang.builder.ToStringBuilder.reflectionToString(java.lang.Object, org.apache.commons.lang.builder.ToStringStyle) @bci=2, line=170 (Interpreted frame)
        [...]

      Thread 1191: (state = BLOCKED)

      • java.util.Vector.hashCode() @bci=0, line=938 (Interpreted frame)
      • java.util.HashMap.containsKey(java.lang.Object) @bci=6, line=377 (Compiled frame)
      • org.apache.commons.lang.builder.ReflectionToStringBuilder.toString() @bci=50, line=522 (Compiled frame)
        [...]

      Attachments

        Activity

          People

            Unassigned Unassigned
            dapperdanman David I.
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: