<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="#3e4c4e" style="background-color:#3e4c4e;color:#ffffff;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;line-height:1;"><img src="https://www.jboss.org/dms/hibernate/images/jira/jiraheader_hibernate.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://hibernate.onjira.com/secure/useravatar?ownerId=brmeyer&avatarId=11140" 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="brmeyer" id="email_brmeyer" href="https://hibernate.onjira.com/secure/ViewProfile.jspa?name=brmeyer" style="color:#6c797f;">Brett Meyer</a>
     updated <img src="https://hibernate.onjira.com/images/icons/bug.gif" height="16" width="16" border="0" align="absmiddle" alt="Bug"> <a style='color:#6c797f;text-decoration:none;' href='https://hibernate.onjira.com/browse/HHH-7821'>HHH-7821</a>
            </div>
                        <div id="email-summary" style="font-size:16px;line-height:20px;padding:2px 0 16px 0;">
                <a style='color:#6c797f;text-decoration:none;' href='https://hibernate.onjira.com/browse/HHH-7821'><strong>NPE after upgrade from 4.1.6 to 4.1.8</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 style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;">
            <strong style="font-weight:normal;color:#505050;">Change By:</strong>
        </td>
        <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
                                                <a class="user-hover" rel="brmeyer" id="email_brmeyer" href="https://hibernate.onjira.com/secure/ViewProfile.jspa?name=brmeyer" style="color:#6c797f;">Brett Meyer</a>
                            (01/Feb/13 12:04 PM)
        </td>
    </tr>
            <tr valign="top">
        <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;">
            <strong style="font-weight:normal;color:#505050;">Description:</strong>
        </td>
        <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
                                    <span class="diffcontext">From&nbsp;my&nbsp;post&nbsp;on&nbsp;the&nbsp;mailing&nbsp;list:<br><br>Hi,<br><br>After&nbsp;upgrading&nbsp;from&nbsp;*4.1.6*&nbsp;to&nbsp;*4.1.8*,&nbsp;we&nbsp;have&nbsp;a&nbsp;couple&nbsp;of&nbsp;regressions<br>in&nbsp;one&nbsp;of&nbsp;our&nbsp;applications.<br><br>We&nbsp;tried&nbsp;to&nbsp;obtain&nbsp;self&nbsp;contained&nbsp;test&nbsp;cases&nbsp;and&nbsp;understand&nbsp;what&nbsp;the<br>problem&nbsp;is&nbsp;but&nbsp;it&#39;s&nbsp;quite&nbsp;hard&nbsp;to&nbsp;reproduce&nbsp;and&nbsp;we&nbsp;haven&#39;t&nbsp;found&nbsp;a&nbsp;way<br>to&nbsp;isolate&nbsp;the&nbsp;problem&nbsp;yet.<br><br>Anyway,&nbsp;I&nbsp;was&nbsp;wondering&nbsp;if&nbsp;the&nbsp;stacktraces&nbsp;could&nbsp;ring&nbsp;a&nbsp;bell&nbsp;for<br>someone&nbsp;to&nbsp;help&nbsp;us&nbsp;analyze&nbsp;the&nbsp;problem.&nbsp;It&nbsp;might&nbsp;even&nbsp;be&nbsp;an&nbsp;obvious<br>bug&nbsp;for&nbsp;you&nbsp;once&nbsp;you&nbsp;have&nbsp;the&nbsp;stracktrace.<br><br></span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;">Here&nbsp;are&nbsp;both&nbsp;stacktraces&nbsp;for&nbsp;the&nbsp;regressions&nbsp;we&nbsp;have:<br><br></span>
<span class="diffcontext">Stacktrace&nbsp;1&nbsp;(only&nbsp;when&nbsp;we&nbsp;configure&nbsp;the&nbsp;batch&nbsp;loading&nbsp;-&nbsp;might&nbsp;be&nbsp;due<br>to&nbsp;a&nbsp;race&nbsp;condition&nbsp;because&nbsp;it&#39;s&nbsp;not&nbsp;systematic):<br><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;">{code}<br></span>
<span class="diffcontext">Caused&nbsp;by:&nbsp;java.lang.NullPointerException<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.hibernate.type.descriptor.java.AbstractTypeDescriptor.extractHashCode(AbstractTypeDescriptor.java:88)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.hibernate.type.AbstractStandardBasicType.getHashCode(AbstractStandardBasicType.java:210)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.hibernate.type.AbstractStandardBasicType.getHashCode(AbstractStandardBasicType.java:214)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.cache.spi.CacheKey.calculateHashCode(CacheKey.java:71)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.cache.spi.CacheKey.&lt;init&gt;(CacheKey.java:67)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.hibernate.internal.AbstractSessionImpl.generateCacheKey(AbstractSessionImpl.java:252)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.hibernate.engine.spi.BatchFetchQueue.isCached(BatchFetchQueue.java:330)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.hibernate.engine.spi.BatchFetchQueue.getCollectionBatch(BatchFetchQueue.java:312)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.hibernate.loader.collection.BatchingCollectionInitializer.initialize(BatchingCollectionInitializer.java:72)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:678)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.hibernate.event.internal.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:80)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.hibernate.internal.SessionImpl.initializeCollection(SessionImpl.java:1804)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.hibernate.collection.internal.AbstractPersistentCollection$4.doWork(AbstractPersistentCollection.java:549)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:234)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:545)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.hibernate.collection.internal.PersistentBag.removeAll(PersistentBag.java:345)<br></span>
<span class="diffaddedchars" style="background-color:#ddfade;">{code}</span>
<span class="diffcontext"><br><br></span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br><br><br>Stacktrace&nbsp;2&nbsp;(we&nbsp;have&nbsp;this&nbsp;one&nbsp;even&nbsp;if&nbsp;we&nbsp;disable&nbsp;the&nbsp;batch&nbsp;loading):<br><br>Caused&nbsp;by:&nbsp;java.lang.NullPointerException<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:259)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.engine.internal.Cascade.cascade(Cascade.java:165)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.hibernate.event.internal.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:160)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.hibernate.event.internal.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:151)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:88)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1213)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.hibernate.ejb.AbstractEntityManagerImpl.flush(AbstractEntityManagerImpl.java:986)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;sun.reflect.NativeMethodAccessorImpl.invoke0(Native&nbsp;Method)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;java.lang.reflect.Method.invoke(Method.java:597)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at<br>org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;$Proxy115.flush(Unknown&nbsp;Source)<br><br><br></span>
<span class="diffcontext">Followup&nbsp;of&nbsp;this&nbsp;post:<br>The&nbsp;errors&nbsp;are&nbsp;quite&nbsp;hard&nbsp;to&nbsp;reproduce&nbsp;and&nbsp;we&nbsp;only&nbsp;have&nbsp;them&nbsp;in&nbsp;a&nbsp;*big*&nbsp;application&nbsp;with&nbsp;a&nbsp;lot&nbsp;of&nbsp;entities&nbsp;when&nbsp;we&nbsp;are&nbsp;bulk&nbsp;loading&nbsp;a&nbsp;lot&nbsp;of&nbsp;objects.&nbsp;We&nbsp;don&#39;t&nbsp;reproduce&nbsp;these&nbsp;problems&nbsp;on&nbsp;the&nbsp;smaller&nbsp;ones.&nbsp;That&#39;s&nbsp;why&nbsp;a&nbsp;self&nbsp;contained&nbsp;test&nbsp;case&nbsp;is&nbsp;hard&nbsp;to&nbsp;get.<br><br>They&nbsp;are&nbsp;totally&nbsp;reproducable&nbsp;on&nbsp;this&nbsp;application&nbsp;though.<br><br></span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;">From&nbsp;what&nbsp;we&nbsp;saw&nbsp;in&nbsp;the&nbsp;code,&nbsp;at&nbsp;least&nbsp;one&nbsp;of&nbsp;the&nbsp;stacktraces&nbsp;comes&nbsp;from&nbsp;a&nbsp;place&nbsp;modified&nbsp;in&nbsp;4.1.8.&nbsp;That&#39;s&nbsp;why&nbsp;we&nbsp;hoped&nbsp;it&nbsp;could&nbsp;ring&nbsp;a&nbsp;bell&nbsp;just&nbsp;to&nbsp;have&nbsp;the&nbsp;stacktraces.<br><br>Typically&nbsp;this&nbsp;one:<br>Caused&nbsp;by:&nbsp;java.lang.NullPointerException<br>&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:259)<br>&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.engine.internal.Cascade.cascade(Cascade.java:165)<br>&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.event.internal.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:160)<br>&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.event.internal.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:151)<br>&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:88)<br>&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)<br>&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1213)<br>&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.hibernate.ejb.AbstractEntityManagerImpl.flush(AbstractEntityManagerImpl.java:986)&nbsp;<br><br>seems&nbsp;to&nbsp;be&nbsp;related&nbsp;to&nbsp;this&nbsp;particular&nbsp;commit:<br>https://github.com/hibernate/hibernate-orm/commit/deaff9705e564b33b92b3eac9fdee89815ce1a44<br><br></span>
<span class="diffcontext">Should&nbsp;we&nbsp;try&nbsp;to&nbsp;reproduce&nbsp;it&nbsp;in&nbsp;a&nbsp;debug&nbsp;environment&nbsp;with&nbsp;a&nbsp;conditional&nbsp;breakpoint&nbsp;to&nbsp;see&nbsp;if&nbsp;we&nbsp;can&nbsp;have&nbsp;more&nbsp;information&nbsp;about&nbsp;the&nbsp;context?<br><br></span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;">For&nbsp;the&nbsp;other&nbsp;one,&nbsp;I&nbsp;don&#39;t&nbsp;have&nbsp;any&nbsp;idea&nbsp;yet.<br><br></span>
<span class="diffcontext">In&nbsp;this&nbsp;commit,&nbsp;I&nbsp;find&nbsp;a&nbsp;little&nbsp;weird&nbsp;that&nbsp;the&nbsp;hashCode&nbsp;is&nbsp;tested&nbsp;before&nbsp;testing&nbsp;the&nbsp;type&nbsp;but&nbsp;I&nbsp;don&#39;t&nbsp;think&nbsp;it&nbsp;might&nbsp;be&nbsp;related&nbsp;to&nbsp;the&nbsp;problem&nbsp;at&nbsp;hand.<br>https://github.com/hibernate/hibernate-orm/commit/fae0d3f49877a5a11a7ac5cef25bb91235906fab</span>

        </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:#6c797f;' href='http://www.atlassian.com/software/jira'>http://www.atlassian.com/software/jira</a>
        </td>
    </tr>
</table><!-- End #email-wrap -->
</div><!-- End #email-body -->