Anonymous | Login | Signup for a new account | 11-17-2024 00:25 PST |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
0003954 | [Resin] | minor | always | 03-17-10 11:23 | 03-01-10 10:29 | ||||
Reporter | ferg | View Status | public | ||||||
Assigned To | ferg | ||||||||
Priority | normal | Resolution | fixed | ||||||
Status | closed | Product Version | 4.0.5 | ||||||
Summary | 0003954: CDI circular initialization | ||||||||
Description |
(rep by Hontvari Jozsef) I have downloaded 4.0.4 but it still throws StackOverflowError on the same example configuration file. Scott Ferguson írta: > Hontvári József wrote: > >> The name of the first class is misleading (maybe Scheduled... would have >> been better, it is executing scheduled tasks itself), Resin's scheduler >> hasn't been involved in the configuration. But the issue is either the >> same or we have two independent issues. If I remove the constructor >> initialization by creating an empty constructor and use setter instead >> of it, then the CanDI initialization does completes. However, if I add >> @Startup annotation, so a class instance is actually created, then I >> again receive StackOverflow. >> >> > Thanks. I have this fixed for 4.0.4. > > -- Scott > >> Wesley Wu írta: >> >> >>> This could be a lazy init problem I think. >>> >>> The scheduled tasks would be inited before some of other beans which >>> the tasks need. >>> >>> I've met this before. >>> >>> The workaround: >>> Inject the Injector into your task, no other webbeans. >>> When the task starts (run()), create webbeans instances via the injector. >>> >>> -Wesley >>> >>> 2010/2/11 Hontvári József <hontvari@flyordie.com>: >>> >>> >>> >>>> I reduced the configuration to the minimum. It consists of a circular setter >>>> dependency, and then a separate third constructor initialization which >>>> refers to one of circular items. Both have to be present, otherwise >>>> StackOverflow doesn't happen. I attached a configuration sample and a part >>>> of the log file, logged on "finer" level. >>>> >>>> Scott Ferguson írta: >>>> >>>> Hontvári József wrote: >>>> >>>> >>>> I receive java.lang.StackOverflowError when Resin tries to read the >>>> configuration file: >>>> >>>> [10-02-10 10:31:56.929] {resin-37} >>>> C:/Progra~1/mireka-1.2/conf/mireka.xml:325: com.caucho.confi >>>> g.core.ResinIf.init(): java.lang.StackOverflowError >>>> >>>> I believe there is no circular constructor dependency in the file. To be >>>> sure I replaced almost all constructor initialisation blocks with setter >>>> initialization. Is there a way to debug this error? There is no stack >>>> trace or anything else in the log. >>>> >>>> >>>> >>>> Can you send that section of the configuration file? It looks like it's >>>> something to do with the <resin:if> like the test EL expression, >>>> although it could also be the contents of the if. >>>> >>>> Also, it's possible that adding a <logger name="" level="finer"/> in the >>>> <resin> section will show the stack trace. |
||||||||
Additional Information | |||||||||
Attached Files | |||||||||
|
Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
28 total queries executed. 25 unique queries executed. |