https://issues.apache.org/bugzilla/show_bug.cgi?id=47703

           Summary: Object rendering ought to be done outside
                    synchronization
           Product: Log4j
           Version: unspecified
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Appender
        AssignedTo: [email protected]
        ReportedBy: [email protected]


--- Comment #0 from Tim Boemker <[email protected]> 2009-08-18 08:44:44 PDT ---
I think that log4j assumes that ObjectRenderer.doRender completes quickly and
cannot block.  If so, then the assumption should be stated.  (Even if so,
perhaps the implementation could be changed to eliminate the assumption.)

Here is a partial stack trace showing how that assumption--if, indeed, it is an
assumption--might inadvertently be violated:


        at org.hibernate.loader.Loader.loadCollection(Loader.java:1994)
        at
org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:36)
        at
org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:565)
        at
org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:60)
        at
org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1716)
        at
org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:344)
        at
org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86)
        at
org.hibernate.collection.PersistentSet.toString(PersistentSet.java:309)
        at java.util.Formatter$FormatSpecifier.printString(Formatter.java:2790)
        at java.util.Formatter$FormatSpecifier.print(Formatter.java:2673)
        at java.util.Formatter.format(Formatter.java:2430)
        at java.util.Formatter.format(Formatter.java:2364)
        at java.lang.String.format(String.java:2558)
        at com.eLynx.Context.SessionContext.render(SessionContext.java:1062)
        at com.eLynx.logging.Renderer.doRender(Renderer.java:32)
        at org.apache.log4j.or.RendererMap.findAndRender(RendererMap.java:79)
        at
org.apache.log4j.spi.LoggingEvent.getRenderedMessage(LoggingEvent.java:297)
        at
org.apache.log4j.helpers.PatternParser$BasicPatternConverter.convert(PatternParser.java:403)
        at
org.apache.log4j.helpers.PatternConverter.format(PatternConverter.java:64)
        at org.apache.log4j.PatternLayout.format(PatternLayout.java:503)
        at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:301)
        at
org.apache.log4j.DailyRollingFileAppender.subAppend(DailyRollingFileAppender.java:358)
        at org.apache.log4j.WriterAppender.append(WriterAppender.java:159)
        at
org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230)
        at
org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:65)
        at org.apache.log4j.Category.callAppenders(Category.java:203)

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to