Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-2338

Problem in the Configuration Render

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • webconsole-3.0.0
    • webconsole-3.1.0
    • Web Console
    • None
    • Skelmir CEE-J 4 VM

    Description

      With some JVM implementation like Skelmir CEE-J, the configurations will not be printed correctly and the server will generate internal server error.

      In the log there is a long stack trace:
      — cut here –
      Wed, 12 May 2010 13:42:40 GMT 8 ERROR [HTTP] Problem while making answer to request /system/console/config/Configurations.nfo from client address null
      java.lang.StackOverflowError
      at java/io/PrintWriter.write (Unknown Source, bco=33)
      at java/io/PrintStream.write (Unknown Source, bco=88)
      at java/io/PrintStream.writeInternal (Unknown Source, bco=20)
      at java/io/PrintStream.print (Unknown Source, bco=5)
      at java/io/PrintStream.println (Unknown Source, bco=9)
      at org/apache/felix/webconsole/internal/misc/ConfigurationRender$HtmlConfigurationWriter.write (ConfigurationRender.java:508)
      at java/io/PrintWriter.write (Unknown Source, bco=25)
      at org/apache/felix/webconsole/internal/misc/ConfigurationRender$HtmlConfigurationWriter.writeFiltered (ConfigurationRender.java:540)
      at org/apache/felix/webconsole/internal/misc/ConfigurationRender$HtmlConfigurationWriter.write (ConfigurationRender.java:510)
      at java/io/PrintWriter.write (Unknown Source, bco=25)
      at org/apache/felix/webconsole/internal/misc/ConfigurationRender$HtmlConfigurationWriter.writeFiltered (ConfigurationRender.java:540)
      at org/apache/felix/webconsole/internal/misc/ConfigurationRender$HtmlConfigurationWriter.write (ConfigurationRender.java:510)
      at java/io/PrintWriter.write (Unknown Source, bco=25)
      at org/apache/felix/webconsole/internal/misc/ConfigurationRender$HtmlConfigurationWriter.writeFiltered (ConfigurationRender.java:540)
      at org/apache/felix/webconsole/internal/misc/ConfigurationRender$HtmlConfigurationWriter.write (ConfigurationRender.java:510)
      at java/io/PrintWriter.write (Unknown Source, bco=25)
      — cut here –

      These are the first few lines only. Obviously the different implementation of PrintWriter makes an endless loop between methods.

      I'm attaching a patch that:
      1. fixes the above problem
      2. optimizes the writer by escaping the symbols on the fly one by one (writing char by char is not a problem, because the Servet output is already buffered)
      3. because of 2 it doesn't escape the string /using WebConsoleUtil.escapeHtml()/ and then write escaped one; and doesn't create a new StringBuffer + String objects. This reduces the used temporary memory and should have also influence on performance.

      Attachments

        1. config-render-skelmir.patch
          4 kB
          Valentin Valchev

        Activity

          People

            v_valchev Valentin Valchev
            v_valchev Valentin Valchev
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: