Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-6666

clustering-web-infinispan: infinite recursion in session activation code

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Major Major
    • None
    • 9.0.2.Final
    • Clustering
    • None
    • Hide
      1. build war archive from https://github.com/podlesh/unmarshall-error-war
        • mvn clean package
      2. deploy to wildfly AS (via console or just by copying to standalone/deployment)
        • tested on default configuration (just unpacked downloaded archive)
      3. start server (./bin/standalone.sh)
      4. open browser, http://localhost:8080/unmarshall-error/bad1.jsp
        • it should display message with session ID
      5. shutdown server (ctrl-C)
      6. start server again
      7. reload page (http://localhost:8080/unmarshall-error/bad1.jsp)
        • response is 500 Internal Error (after some considerable time)
      8. repeated request to this url (or any other under /unmarshall-error/ ) ends with the same error
        • as long as the request contains JSESSIONID cookie
      Show
      build war archive from https://github.com/podlesh/unmarshall-error-war mvn clean package deploy to wildfly AS (via console or just by copying to standalone/deployment) tested on default configuration (just unpacked downloaded archive) start server (./bin/standalone.sh) open browser, http://localhost:8080/unmarshall-error/bad1.jsp it should display message with session ID shutdown server (ctrl-C) start server again reload page ( http://localhost:8080/unmarshall-error/bad1.jsp ) response is 500 Internal Error (after some considerable time) repeated request to this url (or any other under /unmarshall-error/ ) ends with the same error as long as the request contains JSESSIONID cookie

      When unmarshalling of session throws one of the expected exception (ClassNotFoundException, InvalidClassException, InvalidObjectException), it is handled by attempt to remote this session from cache (CoarseSessionFactory.findValue). This attempt, however, ends up in the same method, tries to unmarshall the session, catches the exception.... until it reaches stack limit and throws StackOverflowError.

      As an added injury, each exception is logged with full stack, which is getting longer and longer. Total log size is approximately 40MB per request, so it usually quite quickly disappears by log rotation.

      Version 10.0.0 is OK (the code is completely different and does not have this problem).

      See also: WFLY-6665 (similar, but not exactly the same bug).

        1. stacktrace
          25 kB
        2. stacktrace2
          197 kB

              pferraro@redhat.com Paul Ferraro
              podlesakk Kamil Podlešák (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: