<style>
/* Changing the layout to use less space for mobiles */
@media screen and (max-device-width: 480px), screen and (-webkit-min-device-pixel-ratio: 2) {
    #email-body { min-width: 30em !important; }
    #email-page { padding: 8px !important; }
    #email-banner { padding: 8px 8px 0 8px !important; }
    #email-avatar { margin: 1px 8px 8px 0 !important; padding: 0 !important; }
    #email-fields { padding: 0 8px 8px 8px !important; }
    #email-gutter { width: 0 !important; }
}
</style>
<div id="email-body">
<table id="email-wrap" align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#f0f0f0;color:#000000;width:100%;">
    <tr valign="top">
        <td id="email-page" style="padding:16px !important;">
            <table align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#ffffff;border:1px solid #bbbbbb;color:#000000;width:100%;">
                <tr valign="top">
                    <td bgcolor="#3b4d64" style="background-color:#3b4d64;color:#ffffff;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;line-height:1;"><img src="https://issues.jboss.org/s/en_US-n2xaex-1988229788/6109/58/_/jira-logo-scaled.png" alt="" style="vertical-align:top;" /></td>
                </tr><tr valign="top">
    <td id="email-banner" style="padding:32px 32px 0 32px;">

                
                    <table align="left" border="0" cellpadding="0" cellspacing="0" width="100%" style="width:100%;">
    <tr valign="top">
        <td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;padding:0;">
                                        <img id="email-avatar" src="https://community.jboss.org/people/papegaaij/avatar/16.png" alt="" height="48" width="48" border="0" align="left" style="padding:0;margin: 0 16px 16px 0;" />
                        <div id="email-action" style="padding: 0 0 8px 0;font-size:12px;line-height:18px;">
                                    <a class="user-hover" rel="papegaaij" id="email_papegaaij" href="https://issues.jboss.org/secure/ViewProfile.jspa?name=papegaaij" style="color:#3b73af;">Emond Papegaaij</a>
     commented on <img src="https://issues.jboss.org/images/icons/issuetypes/bug.png" height="16" width="16" border="0" align="absmiddle" alt="Bug"> <a style='color:#3b73af;text-decoration:none;' href='https://issues.jboss.org/browse/WELD-1600'>WELD-1600</a>
            </div>
                        <div id="email-summary" style="font-size:16px;line-height:20px;padding:2px 0 16px 0;">
                <a style='color:#3b73af;text-decoration:none;' href='https://issues.jboss.org/browse/WELD-1600'><strong>NPE when deserializing noncontextual objects in a new container instance</strong></a>
            </div>
                    </td>
    </tr>
</table>
    </td>
</tr>
<tr valign="top">
    <td id="email-fields" style="padding:0 32px 32px 32px;">
        <table border="0" cellpadding="0" cellspacing="0" style="padding:0;text-align:left;width:100%;" width="100%">
            <tr valign="top">
                <td id="email-gutter" style="width:64px;white-space:nowrap;"></td>
                <td>
                    <table border="0" cellpadding="0" cellspacing="0" width="100%">
                        <tr valign="top">
    <td colspan="2" style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 16px 0;width:100%;">
        <div class="comment-block" style="background-color:#edf5ff;border:1px solid #dddddd;color:#000000;padding:12px;"><p>It's proving to be very difficult to come up with a small testcase. Perhaps you can see what's happing with this jboss-marshalling trace:</p>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">Caused by: an exception which occurred:
        in object of type org.jboss.weld.annotated.slim.backed.BackedAnnotatedField$SerializationProxy
        in field field
        in object of type org.jboss.weld.injection.attributes.InferringFieldInjectionPointAttributes
        in field attributes
        in object of type org.jboss.weld.injection.FieldInjectionPoint
        in field injectionPoint
        in object of type org.jboss.weld.bean.builtin.InstanceImpl$SerializationProxy
        in field instance
        in object of type org.jboss.weld.context.SerializableContextualInstanceImpl
        in element at index [0] of size [1]
        in field c
        in object of type java.util.Collections$SynchronizedList
        in field dependentInstances
        in object of type org.jboss.weld.context.CreationalContextImpl
        in field parentCreationalContext
        in object of type org.jboss.weld.context.CreationalContextImpl
        in field creationalContext
        in object of type org.jboss.weld.bean.builtin.InstanceImpl$SerializationProxy
        in field restClient
        in object of type nl.topicus.cobra.restclient.RestDataProviderImpl
        in field dataProvider
        in object of type nl.topicus.eduario.web.components.datapanel.EduArioDataPanel
        in element at index [0] of size [5]
        in field children
        in object of type nl.topicus.eduario.web.pages.agenda.AgendaPage
        in element at index [0] of size [1]
        in object of type org.apache.wicket.page.PageStoreManager$SessionEntry
        in map value at index [7] of size [11]
</pre>
</div></div>

<p>The bottom part is easy to explain: the session contains a PageStoreManager with an AgendaPage, which contains a DataPanel, which uses a RestDataProviderImp to fetch its data. RestDataProviderImp injects RestClients using the following declaration:</p>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">@Inject
<span class="code-keyword">private</span> Instance&lt;RestDataProviderClient&lt; ? , ? &gt;&gt; restClient;
</pre>
</div></div>

<p>This is where I do not understand what's happening anymore. The Instance is serialized as an InstanceImpl$SerializationProxy, which has a creationalContext with a parentCreationalContext with the following dependentInstances:</p>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">[Bean: ForwardingBean <span class="code-keyword">null</span> <span class="code-keyword">for</span> Implicit Bean [javax.enterprise.inject.Instance] with qualifiers [@Default]; Instance: @Default Instance&lt;RestDataProviderClient&lt;<span class="code-object">Object</span>, <span class="code-object">Object</span>&gt;&gt;; CreationalContext: org.jboss.weld.context.CreationalContextImpl@63b4a35b]
</pre>
</div></div>

<p>This SerializableContextualInstanceImpl has an 'instance' field which is the Instance we started with (the restClient field). Deserialization now continues with the 'injectionPoint' field, which refers to the RestDataProviderImp type, which is not yet known, causing the NPE.</p></div>
        <div style="color:#505050;padding:4px 0 0 0;">                </div>
    </td>
</tr>
                    </table>
                </td>
            </tr>
        </table>
    </td>
</tr>













            </table>
        </td><!-- End #email-page -->
    </tr>
    <tr valign="top">
        <td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:10px;line-height:14px;padding: 0 16px 16px 16px;text-align:center;">
            This message is automatically generated by JIRA.<br />
            If you think it was sent incorrectly, please contact your JIRA administrators<br />
            For more information on JIRA, see: <a style='color:#3b73af;' href='http://www.atlassian.com/software/jira'>http://www.atlassian.com/software/jira</a>
        </td>
    </tr>
</table><!-- End #email-wrap -->
</div><!-- End #email-body -->