You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2013/04/04 19:30:27 UTC

[jira] [Resolved] (CXF-4947) Potential problems with the JAXBContext being null

     [ https://issues.apache.org/jira/browse/CXF-4947?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp resolved CXF-4947.
------------------------------

       Resolution: Fixed
    Fix Version/s: 2.5.11
         Assignee: Daniel Kulp
    
> Potential problems with the JAXBContext being null
> --------------------------------------------------
>
>                 Key: CXF-4947
>                 URL: https://issues.apache.org/jira/browse/CXF-4947
>             Project: CXF
>          Issue Type: Bug
>          Components: JAXB Databinding
>    Affects Versions: 2.7.4, 2.6.7
>            Reporter: Rex Wang
>            Assignee: Daniel Kulp
>             Fix For: 2.5.11, 2.6.8, 2.7.5
>
>         Attachments: r1464133_for_trunk.diff, r1464141_for_br2.6.x.diff, r1464185_for_br2.6.x.diff
>
>
> I post a mail to mail list to describe this. And Daniel fixed it very quickly. I still open this JIRA to record this issue, so that I can get a numbered patch merging to my runtime. Thanks.
> --
> hi devs,
> I found some intermittent NullpointerException, and it is very hard to reproduce but I did have met a lot of times, and it is thrown from different places from runtime:
> Stack Dump = java.lang.NullPointerException
>     at org.apache.cxf.common.jaxb.JAXBUtils.generateJaxbSchemas(JAXBUtils.java:765)
>     at org.apache.cxf.jaxb.JAXBDataBinding.generateJaxbSchemas(JAXBDataBinding.java:440)
>     at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:363)
>     at org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings(AbstractServiceFactoryBean.java:86)
>     at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:469)
>     at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:690)
>     at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:531)
>     at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:247)
> After checking the codes, they are all about the jaxbcontext is null.
> From the JAXBContextCache.CachedContextAndSchemas, I notice this line:
> private WeakReference<JAXBContext> context;
> IMHO, WeakReference is not a good choice to do cache, it could be gc in any time. For example,
> JAXBContextCache.getCachedContextAndSchemas(..)
> <gc>
> ctx = cachedContextAndSchemas.getContext()    <-- then the ctx will be null here
> So I guess this is the root cause of the intermittent issue. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira