Tapestry
  1. Tapestry
  2. TAPESTRY-2141

NullPointerExceptions under JDK 1.5 due to underlying ThreadLocal bug

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.0.10
    • Fix Version/s: 5.0.11
    • Component/s: tapestry-ioc
    • Labels:
      None
    • Environment:
      jre 1.5

      Description

      There is a ThreadLocal bug that might be a source of problems for following code:

      here is a non trivial example that is broken,
      I'll try to make a trivial one that fails

      a simple page with test link
      <t:eventlink event="test">test</t:eventlink>

      page:
      @Inject private HibernateSessionManager _sessionManager;
      @Inject private ThreadCleanupHub _cleanupHub;

      public void onTest(){
      new Thread(new Runnable(){
      public void run()

      { User user = (User) _sessionManager.getSession().load(User.class, Long.valueOf(1L)); user.setName(user.getName()+"1"); _cleanupHub.cleanup(); }

      }).start();
      }

      for java 1.5 this code fails to save data (threadCleanupHub looses listener list )
      and it works fo 1.6

      here's a link to articles about this bug
      http://crazybob.org/2006/07/hard-core-java-threadlocal.html

      and the bug
      http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5025230

      it also makes this snippet not working
      http://wiki.apache.org/tapestry/Tapestry5HowToRunTaskInThread

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

            • Assignee:
              Howard M. Lewis Ship
              Reporter:
              Davor Hrg
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development