Uploaded image for project: 'XalanJ2'
  1. XalanJ2
  2. XALANJ-1402

Incorrect usage of context ClassLoader for static field initialization

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Critical
    • Resolution: Unresolved
    • 2.5
    • None
    • Xalan
    • Security Level: No security risk; visible to anyone (Ordinary problems in Xalan projects. Anybody can view the issue.)
    • None
    • Operating System: All
      Platform: All
    • 16481

    Description

      Several classes read resources through thread context ClassLoader. When it is
      right thing for factories, it it is definitely not right for static field
      initialization. Due to this it is problematic for me to use Xalan as Eclipse
      plugin. This might be issue in other environments with many ClassLoaders too.

      These two classes should not use context Classloader:
      org.apache.xalan.serialize.Encodings
      org.apache.xalan.templates.OutputProperties

      Instead they should simply read properties from their OWN Classloader as
      org.apache.xalan.serialize.CharInfo does:
      ClassLoader cl = CharInfo.class.getClassLoader();

      There are one more class:
      org.apache.xalan.processor.TransformerFactoryImpl
      It does "System.setProperties(systemProps)" in it's static initialization!
      Actually it does'nt set anything what could be needed except sax-driver (which
      should be defined in META-INF/services by default!), and I think it is something
      from legacy code and must be removed now (to remove possible side effects)...

      Attachments

        Activity

          People

            Unassigned Unassigned
            igor@widespace.ee Igor Malinin
            Votes:
            1 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: