openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Markus Fuchs <Markus.Fu...@Sun.COM>
Subject Re: svn commit: r557089 - in /openjpa/trunk: openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/ openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/ openjpa-jdbc/src/main/resources/org/apache/openjpa/jdbc/kernel/ openjpa-lib/src/main/ja
Date Thu, 19 Jul 2007 18:38:32 GMT
Kevin,

the failure might be caused by the field _dfa being initialized twice, 
once in setUp and again in testBackEdges/testForwardEdges. Please try 
the attached patch to resolve the problem.

Thanks,

-- markus.

Kevin Sutter wrote:
> Markus,
> Here's the output after applying your diagnostic patch:  Hope it helps!
>
> Running org.apache.openjpa.lib.graph.TestDepthFirstAnalysis
> DEBUG (init): node = java.lang.Object@22a422a4 info =
> org.apache.openjpa.lib.graph.NodeInfo@44e044e0
> DEBUG (init): node = java.lang.Object@22a022a0 info =
> org.apache.openjpa.lib.graph.NodeInfo@473c473c
> DEBUG (init): node = java.lang.Object@229c229c info =
> org.apache.openjpa.lib.graph.NodeInfo@52145214
> DEBUG (init): node = java.lang.Object@22982298 info =
> org.apache.openjpa.lib.graph.NodeInfo@53e653e6
> DEBUG (after init): node = java.lang.Object@22a422a4 info =
> org.apache.openjpa.lib.graph.NodeInfo@44e044e0
> DEBUG (after init): node = java.lang.Object@22a022a0 info =
> org.apache.openjpa.lib.graph.NodeInfo@473c473c
> DEBUG (after init): node = java.lang.Object@229c229c info =
> org.apache.openjpa.lib.graph.NodeInfo@52145214
> DEBUG (after init): node = java.lang.Object@22982298 info =
> org.apache.openjpa.lib.graph.NodeInfo@53e653e6
> DEBUG (visit): node = java.lang.Object@22a422a4
> DEBUG (visit): node = java.lang.Object@22a022a0
> DEBUG (visit): other = java.lang.Object@22982298 otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@53e653e6
> DEBUG (visit): node = java.lang.Object@22982298
> DEBUG (visit): other = java.lang.Object@229c229c otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@52145214
> DEBUG (visit): node = java.lang.Object@229c229c
> DEBUG (visit): other = java.lang.Object@22a022a0 otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@473c473c
> DEBUG (visit): other = java.lang.Object@229c229c otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@52145214
> DEBUG (visit): other = java.lang.Object@22a422a4 otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@44e044e0
> DEBUG (init): node = java.lang.Object@32643264 info =
> org.apache.openjpa.lib.graph.NodeInfo@33263326
> DEBUG (init): node = java.lang.Object@32603260 info =
> org.apache.openjpa.lib.graph.NodeInfo@354c354c
> DEBUG (init): node = java.lang.Object@32683268 info =
> org.apache.openjpa.lib.graph.NodeInfo@37863786
> DEBUG (init): node = java.lang.Object@325c325c info =
> org.apache.openjpa.lib.graph.NodeInfo@3a2c3a2c
> DEBUG (after init): node = java.lang.Object@32643264 info =
> org.apache.openjpa.lib.graph.NodeInfo@33263326
> DEBUG (after init): node = java.lang.Object@32603260 info =
> org.apache.openjpa.lib.graph.NodeInfo@354c354c
> DEBUG (after init): node = java.lang.Object@32683268 info =
> org.apache.openjpa.lib.graph.NodeInfo@37863786
> DEBUG (after init): node = java.lang.Object@325c325c info =
> org.apache.openjpa.lib.graph.NodeInfo@3a2c3a2c
> DEBUG (visit): node = java.lang.Object@32643264
> DEBUG (visit): other = java.lang.Object@325c325c otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@3a2c3a2c
> DEBUG (visit): node = java.lang.Object@325c325c
> DEBUG (visit): other = java.lang.Object@32603260 otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@354c354c
> DEBUG (visit): node = java.lang.Object@32603260
> DEBUG (visit): other = java.lang.Object@32643264 otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@33263326
> DEBUG (visit): other = java.lang.Object@32603260 otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@354c354c
> DEBUG (visit): other = java.lang.Object@32683268 otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@37863786
> DEBUG (visit): node = java.lang.Object@32683268
> DEBUG (init): node = java.lang.Object@71a471a4 info =
> org.apache.openjpa.lib.graph.NodeInfo@726e726e
> DEBUG (init): node = java.lang.Object@71ac71ac info =
> org.apache.openjpa.lib.graph.NodeInfo@74947494
> DEBUG (init): node = java.lang.Object@71a871a8 info =
> org.apache.openjpa.lib.graph.NodeInfo@33fc33fc
> DEBUG (init): node = java.lang.Object@71b071b0 info =
> org.apache.openjpa.lib.graph.NodeInfo@38003800
> DEBUG (after init): node = java.lang.Object@71a471a4 info =
> org.apache.openjpa.lib.graph.NodeInfo@726e726e
> DEBUG (after init): node = java.lang.Object@71ac71ac info =
> org.apache.openjpa.lib.graph.NodeInfo@74947494
> DEBUG (after init): node = java.lang.Object@71a871a8 info =
> org.apache.openjpa.lib.graph.NodeInfo@33fc33fc
> DEBUG (after init): node = java.lang.Object@71b071b0 info =
> org.apache.openjpa.lib.graph.NodeInfo@38003800
> DEBUG (visit): node = java.lang.Object@71a471a4
> DEBUG (visit): other = java.lang.Object@71a871a8 otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@33fc33fc
> DEBUG (visit): node = java.lang.Object@71a871a8
> DEBUG (visit): other = java.lang.Object@71ac71ac otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@74947494
> DEBUG (visit): node = java.lang.Object@71ac71ac
> DEBUG (visit): other = java.lang.Object@71a471a4 otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@726e726e
> DEBUG (visit): other = java.lang.Object@71b071b0 otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@38003800
> DEBUG (visit): node = java.lang.Object@71b071b0
> DEBUG (visit): other = java.lang.Object@71a871a8 otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@33fc33fc
> DEBUG (init): node = 5 info = 
> org.apache.openjpa.lib.graph.NodeInfo@a340a34
> DEBUG (init): node = 4 info = 
> org.apache.openjpa.lib.graph.NodeInfo@ec80ec8
> DEBUG (init): node = 3 info = 
> org.apache.openjpa.lib.graph.NodeInfo@10021002
> DEBUG (init): node = 2 info = 
> org.apache.openjpa.lib.graph.NodeInfo@113c113c
> DEBUG (init): node = 1 info = 
> org.apache.openjpa.lib.graph.NodeInfo@2a522a52
> DEBUG (after init): node = 5 info =
> org.apache.openjpa.lib.graph.NodeInfo@a340a34
> DEBUG (after init): node = 4 info =
> org.apache.openjpa.lib.graph.NodeInfo@ec80ec8
> DEBUG (after init): node = 3 info =
> org.apache.openjpa.lib.graph.NodeInfo@10021002
> DEBUG (after init): node = 2 info =
> org.apache.openjpa.lib.graph.NodeInfo@113c113c
> DEBUG (after init): node = 1 info =
> org.apache.openjpa.lib.graph.NodeInfo@2a522a52
> DEBUG (visit): node = 5
> DEBUG (visit): other = null otherInfo = null
> DEBUG (init): node = java.lang.Object@7bc27bc2 info =
> org.apache.openjpa.lib.graph.NodeInfo@25a625a6
> DEBUG (init): node = java.lang.Object@7bbe7bbe info =
> org.apache.openjpa.lib.graph.NodeInfo@27cc27cc
> DEBUG (init): node = java.lang.Object@7bba7bba info =
> org.apache.openjpa.lib.graph.NodeInfo@2fda2fda
> DEBUG (init): node = java.lang.Object@7bb67bb6 info =
> org.apache.openjpa.lib.graph.NodeInfo@31d231d2
> DEBUG (after init): node = java.lang.Object@7bc27bc2 info =
> org.apache.openjpa.lib.graph.NodeInfo@25a625a6
> DEBUG (after init): node = java.lang.Object@7bbe7bbe info =
> org.apache.openjpa.lib.graph.NodeInfo@27cc27cc
> DEBUG (after init): node = java.lang.Object@7bba7bba info =
> org.apache.openjpa.lib.graph.NodeInfo@2fda2fda
> DEBUG (after init): node = java.lang.Object@7bb67bb6 info =
> org.apache.openjpa.lib.graph.NodeInfo@31d231d2
> DEBUG (visit): node = java.lang.Object@7bc27bc2
> DEBUG (visit): node = java.lang.Object@7bbe7bbe
> DEBUG (visit): other = java.lang.Object@7bb67bb6 otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@31d231d2
> DEBUG (visit): node = java.lang.Object@7bb67bb6
> DEBUG (visit): other = java.lang.Object@7bba7bba otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@2fda2fda
> DEBUG (visit): node = java.lang.Object@7bba7bba
> DEBUG (visit): other = java.lang.Object@7bbe7bbe otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@27cc27cc
> DEBUG (visit): other = java.lang.Object@7bba7bba otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@2fda2fda
> DEBUG (visit): other = java.lang.Object@7bc27bc2 otherInfo =
> org.apache.openjpa.lib.graph.NodeInfo@25a625a6
> DEBUG (init): node = 5 info = 
> org.apache.openjpa.lib.graph.NodeInfo@163a163a
> DEBUG (init): node = 4 info = 
> org.apache.openjpa.lib.graph.NodeInfo@19b219b2
> DEBUG (init): node = 3 info = 
> org.apache.openjpa.lib.graph.NodeInfo@26782678
> DEBUG (init): node = 2 info = 
> org.apache.openjpa.lib.graph.NodeInfo@27b627b6
> DEBUG (init): node = 1 info = 
> org.apache.openjpa.lib.graph.NodeInfo@31283128
> DEBUG (after init): node = 5 info =
> org.apache.openjpa.lib.graph.NodeInfo@163a163a
> DEBUG (after init): node = 4 info =
> org.apache.openjpa.lib.graph.NodeInfo@19b219b2
> DEBUG (after init): node = 3 info =
> org.apache.openjpa.lib.graph.NodeInfo@26782678
> DEBUG (after init): node = 2 info =
> org.apache.openjpa.lib.graph.NodeInfo@27b627b6
> DEBUG (after init): node = 1 info =
> org.apache.openjpa.lib.graph.NodeInfo@31283128
> DEBUG (visit): node = 5
> DEBUG (visit): other = null otherInfo = null
> Tests run: 4, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 0.016 sec
> <<< FAILURE!
> testBackEdges(org.apache.openjpa.lib.graph.TestDepthFirstAnalysis)  Time
> elapsed: 0.016 sec  <<< ERROR!
> java.lang.NullPointerException
>        at org.apache.openjpa.lib.graph.DepthFirstAnalysis.visit(
> DepthFirstAnalysis.java:108)
>        at org.apache.openjpa.lib.graph.DepthFirstAnalysis.<init>(
> DepthFirstAnalysis.java:83)
>        at 
> org.apache.openjpa.lib.graph.TestDepthFirstAnalysis.setUpGraph2(
> TestDepthFirstAnalysis.java:78)
>        at 
> org.apache.openjpa.lib.graph.TestDepthFirstAnalysis.testBackEdges
> (TestDepthFirstAnalysis.java:105)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:64)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:615)
>        at junit.framework.TestCase.runTest(TestCase.java:154)
>        at junit.framework.TestCase.runBare(TestCase.java:127)
>        at junit.framework.TestResult$1.protect(TestResult.java:106)
>        at junit.framework.TestResult.runProtected(TestResult.java:124)
>        at junit.framework.TestResult.run(TestResult.java:109)
>        at junit.framework.TestCase.run(TestCase.java:118)
>        at org.apache.openjpa.lib.test.AbstractTestCase.run(
> AbstractTestCase.java:178)
>        at junit.framework.TestSuite.runTest(TestSuite.java:208)
>        at junit.framework.TestSuite.run(TestSuite.java:203)
>        at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:615)
>        at org.apache.maven.surefire.junit.JUnitTestSet.execute(
> JUnitTestSet.java:210)
>        at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet( 
>
> AbstractDirectoryTestSuite.java:)
>        at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(
> AbstractDirectoryTestSuite.java:122)
>        at org.apache.maven.surefire.Surefire.run(Surefire.java:129)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:64)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:615)
>        at
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(
> SurefireBooter.java:225)
>        at org.apache.maven.surefire.booter.SurefireBooter.main(
> SurefireBooter.java:747)
>
> testForwardEdges(org.apache.openjpa.lib.graph.TestDepthFirstAnalysis)  
> Time
> elapsed: 0 sec  <<< ERROR!
> java.lang.NullPointerException
>        at org.apache.openjpa.lib.graph.DepthFirstAnalysis.visit(
> DepthFirstAnalysis.java:108)
>        at org.apache.openjpa.lib.graph.DepthFirstAnalysis.<init>(
> DepthFirstAnalysis.java:83)
>        at 
> org.apache.openjpa.lib.graph.TestDepthFirstAnalysis.setUpGraph2(
> TestDepthFirstAnalysis.java:78)
>        at
> org.apache.openjpa.lib.graph.TestDepthFirstAnalysis.testForwardEdges(
> TestDepthFirstAnalysis.java:129)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:64)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:615)
>        at junit.framework.TestCase.runTest(TestCase.java:154)
>        at junit.framework.TestCase.runBare(TestCase.java:127)
>        at junit.framework.TestResult$1.protect(TestResult.java:106)
>        at junit.framework.TestResult.runProtected(TestResult.java:124)
>        at junit.framework.TestResult.run(TestResult.java:109)
>        at junit.framework.TestCase.run(TestCase.java:118)
>        at org.apache.openjpa.lib.test.AbstractTestCase.run(
> AbstractTestCase.java:178)
>        at junit.framework.TestSuite.runTest(TestSuite.java:208)
>        at junit.framework.TestSuite.run(TestSuite.java:203)
>        at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:615)
>        at org.apache.maven.surefire.junit.JUnitTestSet.execute(
> JUnitTestSet.java:210)
>        at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet( 
>
> AbstractDirectoryTestSuite.java:)
>        at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(
> AbstractDirectoryTestSuite.java:122)
>        at org.apache.maven.surefire.Surefire.run(Surefire.java:129)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:64)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:615)
>        at
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(
> SurefireBooter.java:225)
>        at org.apache.maven.surefire.booter.SurefireBooter.main(
> SurefireBooter.java:747)
>
>
> On 7/18/07, Markus Fuchs <Markus.Fuchs@sun.com> wrote:
>>
>> Thanks Marc. I added debug statements the the code accessing the
>> _nodeInfo Map. Could somebody please try the attached patch!
>>
>> -- markus.
>>
>> Marc Prud'hommeaux wrote:
>> >
>> > As a random shot in the dark (I can't reproduce the error on my
>> > machine), I notice that the _nodeInfo Map is relying on keys being of
>> > type java.util.Collection, and the javadoc for Collection.equals()
>> > does not actually require that equality be evaluated based on the
>> > content of the collection (although java.util.List.equals() does).
>> >
>> > So if somehow there is an IBM-specific list that is being put in there
>> > as a key, then a lookup using an equivalent collection might not be
>> > succeeding, resulting in _nodeInfo.get(other) returning null.
>> >
>> > Anyway, just a guess. Some debug statements would very quickly show it
>> > that might be the case or not.
>> >
>> >
>> >
>> >
>> >
>> > On Jul 18, 2007, at 8:59 AM, Patrick Linskey wrote:
>> >
>> >> From the source:
>> >>
>> >>>             otherInfo = (NodeInfo) _nodeInfo.get(other);
>> >>>             if (otherInfo.color == NodeInfo.COLOR_WHITE) {
>> >>
>> >> Assuming that the class constant is non-null, that leaves otherInfo.
>> >> _nodeInfo is populated during construction based on the graph passed
>> >> to the constructor. It looks like the null must be coming from
>> >> Graph.java:154 or Graph.java:162.
>> >>
>> >> -Patrick
>> >>
>> >> On 7/18/07, Craig L Russell <Craig.Russell@sun.com> wrote:
>> >>> So it's either a bug in the IBM vm or a bug in our code that 
>> exploits
>> >>> some loophole in the spec that the Sun JDK doesn't fail on...
>> >>>
>> >>> Craig
>> >>>
>> >>> On Jul 18, 2007, at 8:38 AM, Kevin Sutter wrote:
>> >>>
>> >>> > Yes, and the Sun JDK works just fine.  So, for the majority of
the
>> >>> > folks,
>> >>> > there is no problem...  :-(
>> >>> >
>> >>> > On 7/18/07, Craig L Russell <Craig.Russell@sun.com> wrote:
>> >>> >>
>> >>> >> I don't suppose you have run this with the Sun JDK (that I've
>> tested
>> >>> >> on).
>> >>> >>
>> >>> >> Craig
>> >>> >>
>> >>> >> On Jul 18, 2007, at 8:00 AM, Kevin Sutter wrote:
>> >>> >>
>> >>> >> > Craig,
>> >>> >> > I haven't taken the time to figure out the source of the

>> problem
>> >>> >> > yet, but I
>> >>> >> > am experiencing two NPE's in our test bucket when running
with
>> the
>> >>> >> > IBM JDK (
>> >>> >> > 1.5.0 SR5).  I thought I would post a heads-up for any
IBM JDK
>> >>> >> > users...
>> >>>
>> >>> Craig Russell
>> >>> Architect, Sun Java Enterprise System 
>> http://java.sun.com/products/jdo
>> >>> 408 276-5638 mailto:Craig.Russell@sun.com
>> >>> P.S. A good JDO? O, Gasp!
>> >>>
>> >>>
>> >>>
>> >>
>> >>
>> >> --Patrick Linskey
>> >> 202 669 5907
>> >
>>
>>
>

Mime
View raw message