Uploaded image for project: 'Tapestry'
  1. Tapestry
  2. TAPESTRY-2141

NullPointerExceptions under JDK 1.5 due to underlying ThreadLocal bug

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 5.0.10
    • 5.0.11
    • tapestry-ioc
    • None
    • 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

      Attachments

        Issue Links

          Activity

            People

              hlship Howard Lewis Ship
              hrgdavor Davor Hrg
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: