Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 6.1.2rc0
    • Fix Version/s: 6.1.2rc1
    • Component/s: None
    • Labels:
      None
    • Environment:
      java version "1.5.0_11" on debian
    • Number of attachments :
      2

      Description

      Caused by: java.lang.IllegalStateException: FULL
      at org.mortbay.jetty.HttpGenerator.addContent(HttpGenerator.java:121)
      at org.mortbay.jetty.AbstractGenerator$Output.write(AbstractGenerator.java:615)
      at org.mortbay.jetty.AbstractGenerator$Output.write(AbstractGenerator.java:570)
      at java.io.ByteArrayOutputStream.writeTo(ByteArrayOutputStream.java:112)
      at org.mortbay.jetty.AbstractGenerator$OutputWriter.write(AbstractGenerator.java:864)
      at org.mortbay.jetty.AbstractGenerator$OutputWriter.write(AbstractGenerator.java:715)
      at java.io.PrintWriter.write(PrintWriter.java:384)

      Happens randomly on server with load, especially on slow pages.

        Activity

        Hide
        Greg Wilkins added a comment -

        I did make a change in 6.1.2rc0 that was meant to totally
        remove the chance of this happening.... but obviously
        I am missing something as it appears to have made it more
        frequent?????

        Any information you can give me on the traffic profile,
        load or how you can repeat this would be really really good.

        I have tried several stress tests and I can't reproduce, but
        it is obvious that is happening for several users at least?

        Show
        Greg Wilkins added a comment - I did make a change in 6.1.2rc0 that was meant to totally remove the chance of this happening.... but obviously I am missing something as it appears to have made it more frequent????? Any information you can give me on the traffic profile, load or how you can repeat this would be really really good. I have tried several stress tests and I can't reproduce, but it is obvious that is happening for several users at least?
        Hide
        Greg Wilkins added a comment -

        I think I have found something that may fix this. The write method was not checking to see if a previous chunk had not been flushed.

        I have checked in a hopeful fix - that does not break anything, but as I could not reproduce I don't know if this is really the issue or not.

        can you test svn trunk?

        Show
        Greg Wilkins added a comment - I think I have found something that may fix this. The write method was not checking to see if a previous chunk had not been flushed. I have checked in a hopeful fix - that does not break anything, but as I could not reproduce I don't know if this is really the issue or not. can you test svn trunk?
        Hide
        Franklin Schmidt added a comment -

        I don't know how to build jetty. I haven't used Maven before. If you could send a jar to fschmidt@gmail.com, I will try it. The error only happens in our production system (Nabble), so I will have to do a release and then watch it and get back to you.

        Show
        Franklin Schmidt added a comment - I don't know how to build jetty. I haven't used Maven before. If you could send a jar to fschmidt@gmail.com, I will try it. The error only happens in our production system (Nabble), so I will have to do a release and then watch it and get back to you.
        Hide
        Greg Wilkins added a comment -

        Updated jetty jar

        Show
        Greg Wilkins added a comment - Updated jetty jar
        Hide
        Greg Wilkins added a comment -

        updated jetty util jar

        Show
        Greg Wilkins added a comment - updated jetty util jar
        Hide
        Greg Wilkins added a comment -

        I have attached updated jars to this issue.
        remove the lib/jetty-6.1.2rc0.jar and lib/jetty-util-6.1.rc0.jar files
        and save these two jars in the lib directory.

        thanks

        Show
        Greg Wilkins added a comment - I have attached updated jars to this issue. remove the lib/jetty-6.1.2rc0.jar and lib/jetty-util-6.1.rc0.jar files and save these two jars in the lib directory. thanks
        Hide
        Franklin Schmidt added a comment -

        I tried the attached jars and I still get the same error.

        Show
        Franklin Schmidt added a comment - I tried the attached jars and I still get the same error.
        Hide
        Greg Wilkins added a comment -

        Mmmm - I am very confused.

        The write(Buffer) has the following code

        while (_generator.isBufferFull() && _generator._endp.isOpen())
        blockForOutput();

        // Add the _content
        _generator.addContent(buffer, Generator.MORE);

        So it will not get passed the blockForOutput if the buffer is full and the endpoint is open.

        So perhaps this is only happening on clients that actually close their connections while the
        server is blocked trying to write to them? In which case the exception is ignorable.

        I have attached the jetty jar again on this assuption. it does another test for the
        endpoint being closed before throwing a full exception.

        sorry to do trial and error withyou.....

        Show
        Greg Wilkins added a comment - Mmmm - I am very confused. The write(Buffer) has the following code while (_generator.isBufferFull() && _generator._endp.isOpen()) blockForOutput(); // Add the _content _generator.addContent(buffer, Generator.MORE); So it will not get passed the blockForOutput if the buffer is full and the endpoint is open. So perhaps this is only happening on clients that actually close their connections while the server is blocked trying to write to them? In which case the exception is ignorable. I have attached the jetty jar again on this assuption. it does another test for the endpoint being closed before throwing a full exception. sorry to do trial and error withyou.....
        Hide
        Greg Wilkins added a comment -

        second attempt

        Show
        Greg Wilkins added a comment - second attempt
        Hide
        Franklin Schmidt added a comment -

        Now the error is gone.

        Show
        Franklin Schmidt added a comment - Now the error is gone.
        Hide
        Jan Bartel added a comment -

        Closing issue, fix went in to 6.1.2rc1.

        Show
        Jan Bartel added a comment - Closing issue, fix went in to 6.1.2rc1.

          People

          • Assignee:
            Greg Wilkins
            Reporter:
            Franklin Schmidt
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: