You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by Myrna van Lunteren <m....@gmail.com> on 2008/04/12 23:59:22 UTC

Re: [jira] Commented: (DERBY-3574) With client, attempting to get the lob length after commit or connection close if there was a call to length() before commit does not throw an exception

On 4/12/08, Tiago R. Espinha (JIRA) <ji...@apache.org> wrote:
>
>    [ https://issues.apache.org/jira/browse/DERBY-3574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12588315#action_12588315 ]
>
> Tiago R. Espinha commented on DERBY-3574:
> -----------------------------------------
>
> Ok I have a problem.
>
> I ran the command that Kathey posted (without the -D switch and with -Xmx1024M since it gave out of memory with just 512MiB) and I got a stackload of error lines after a few hours of running. Here's what it said in the end:
>
> FAILURES!!!
> Tests run: 8010,  Failures: 1,  Errors: 8
>
> Somehow I get the feeling that this is still a memory issue. I'm running the tests in a Virtual Machine running Ubuntu 7.10 with just 1GiB of RAM, and after a while, java is using all the RAM and has entered the swap file. Should I discard the VM and run it all natively on XP where I have 2GiB of RAM?
>
Actually, considering 8010 fixtures were run, 9 failing fixtures is
not that bad...
And yes, you'd get a stack for each of the failures/errors; that is to
help analyze the problems - obviously, there is something off still.

I'm not entirely certain what is enough RAM these days, but I can run
on a windows machine with 1.5 Gi RAM, and I used to be able to run on
a box that had 1/4 Gi, although it's been a while I tried it (machine
is slow as well as not much RAM). Ubuntu should be fine too.

What made you think there was still a memory issue, did any of the
error messages on the stacks indicate so?

I'm curious to see an example of the stack traces.

Myrna

Re: [jira] Commented: (DERBY-3574) With client, attempting to get the lob length after commit or connection close if there was a call to length() before commit does not throw an exception

Posted by Kathey Marsden <km...@sbcglobal.net>.
Tiago Espinha wrote:
>
> Tried the same test only to find the very same error after a couple of 
> hours. Could it somehow be that I'm running the tests with Java 1.4? 
> I'm gonna give it a try with 1.6 in the meanwhile anyway...
>
> If anyone has an idea, please let me know.
>
Does the test also fail when you run it by itself or just as part of the 
full suite?

Kathey



Re: [jira] Commented: (DERBY-3574) With client, attempting to get the lob length after commit or connection close if there was a call to length() before commit does not throw an exception

Posted by Tiago Espinha <ti...@espinhas.net>.
On Sun, Apr 13, 2008 at 4:47 PM, Bryan Pendleton <bp...@amberpoint.com>
wrote:

> specialCollation(org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest)java.sql.SQLException:
> > The exception 'java.lang.ClassNotFoundException: ERROR XBM0U: No class was
> > registered for identifier 495.' was thrown while evaluating an expression.
> >
>
>  Is this normal? Shouldn't all tests pass without errors?
> >
>
> Yes, all tests should pass without errors.
>
> I think the TableFunctionTest is new, and there have been some issues
> logged
> about getting it to run in various environments, so you may have found
> another
> such problem.
>
> I can see three possibilities:
>  - there's something about your DERBY-3574 patch that is causing the
> problem, or
>  - the patch is unrelated, and this problem simply shows up in your
> environment.
>  - the test fails intermittently, and you are the first to notice it.
>
> Can you:
>  - back our your patch so you have a clean codeline (svn stat shows no
> changes)
>  - re-run the tests
>
> If the test fails again, it might be something about your environment
> which is
> provoking this test to fail.
>
> If the test passes on a clean codeline, but fails with your patch applied,
> it might be something about your patch.
>
> If the test passes sometimes and fails sometimes, and the pattern doesn't
> seem
> to have to do with your patch, we'd have to do more work to try to figure
> out
> what's causing the failure.
>
> thanks,
>
> bryan
>
>
Reverted all my changes (deleted the files that were marked as modified in
svn stat and then ran svn update), did the whole:
ant
ant testing
ant buildjars

Tried the same test only to find the very same error after a couple of
hours. Could it somehow be that I'm running the tests with Java 1.4? I'm
gonna give it a try with 1.6 in the meanwhile anyway...

If anyone has an idea, please let me know.

I'll leave here some of my environment variables that might be useful:

tiago@tiago-vm-linux:~/Desktop/DerbyBuild/derbyTestResults$ echo $CLASSPATH
/home/tiago/Desktop/DerbyBuild/derby/jars/sane/derbyrun.jar:/home/tiago/Desktop/DerbyBuild/derby/jars/sane/derbyTesting.jar:/home/tiago/Desktop/DerbyBuild/derby/jars/sane/jakarta-oro-2.0.8.jar:/home/tiago/Desktop/DerbyBuild/derby/jars/sane/junit.jar

tiago@tiago-vm-linux:~/Desktop/DerbyBuild/derbyTestResults$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/tiago/Desktop/DerbyBuild/apache-ant-1.7.0/bin

tiago@tiago-vm-linux:~/Desktop/DerbyBuild/derbyTestResults$ echo $ANT_HOME
/home/tiago/Desktop/DerbyBuild/apache-ant-1.7.0

tiago@tiago-vm-linux:~/Desktop/DerbyBuild/derbyTestResults$ echo $JAVA_HOME
/usr/lib/jvm/java-6-sun-1.6.0.03

Re: [jira] Commented: (DERBY-3574) With client, attempting to get the lob length after commit or connection close if there was a call to length() before commit does not throw an exception

Posted by Bryan Pendleton <bp...@amberpoint.com>.
> specialCollation(org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest)java.sql.SQLException: 
> The exception 'java.lang.ClassNotFoundException: ERROR XBM0U: No class 
> was registered for identifier 495.' was thrown while evaluating an 
> expression.

> Is this normal? Shouldn't all tests pass without errors?

Yes, all tests should pass without errors.

I think the TableFunctionTest is new, and there have been some issues logged
about getting it to run in various environments, so you may have found another
such problem.

I can see three possibilities:
  - there's something about your DERBY-3574 patch that is causing the problem, or
  - the patch is unrelated, and this problem simply shows up in your environment.
  - the test fails intermittently, and you are the first to notice it.

Can you:
  - back our your patch so you have a clean codeline (svn stat shows no changes)
  - re-run the tests

If the test fails again, it might be something about your environment which is
provoking this test to fail.

If the test passes on a clean codeline, but fails with your patch applied,
it might be something about your patch.

If the test passes sometimes and fails sometimes, and the pattern doesn't seem
to have to do with your patch, we'd have to do more work to try to figure out
what's causing the failure.

thanks,

bryan


Re: [jira] Commented: (DERBY-3574) With client, attempting to get the lob length after commit or connection close if there was a call to length() before commit does not throw an exception

Posted by Tiago Espinha <ti...@espinhas.net>.
Well here I am again. I now have 2GiB of swap and the problem changed.
Here's the errors I got:

Time: 5,790.335
There were 2 errors:
1)
noSpecialCollation(org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest)java.sql.SQLException:
The exception 'java.lang.ClassNotFoundException: ERROR XBM0U: No class was
registered for identifier 495.' was thrown while evaluating an expression.
        at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
        at
org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
        at org.apache.derby.impl.jdbc.Util.seeNextException(Util.java:223)
        at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:398)
        at
org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:346)
        at
org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2125)
        at
org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81)
        at
org.apache.derby.impl.jdbc.EmbedResultSet.closeOnTransactionError(EmbedResultSet.java:4320)
        at
org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(EmbedResultSet.java:463)
        at
org.apache.derby.impl.jdbc.EmbedResultSet.next(EmbedResultSet.java:367)
        at
org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.assertResults(TableFunctionTest.java:1935)
        at
org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.assertResults(TableFunctionTest.java:1776)
        at
org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.assertResults(TableFunctionTest.java:1762)
        at
org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.simpleVTIResults(TableFunctionTest.java:1079)
        at
org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.tableFunctionTest(TableFunctionTest.java:920)
        at
org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.noSpecialCollation(TableFunctionTest.java:897)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at
org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:103)
Caused by: java.sql.SQLException: Java exception: 'ERROR XBM0U: No class was
registered for identifier 495.: java.lang.ClassNotFoundException'.
        at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
        at
org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
        at org.apache.derby.impl.jdbc.Util.javaException(Util.java:244)
        at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:403)
        ... 35 more
Caused by: java.lang.ClassNotFoundException: ERROR XBM0U: No class was
registered for identifier 495.
        at
org.apache.derby.iapi.services.io.FormatIdInputStream.readObject(FormatIdInputStream.java:129)
        at
org.apache.derby.catalog.types.TypeDescriptorImpl.readExternal(TypeDescriptorImpl.java:491)
        at
org.apache.derby.iapi.services.io.FormatIdInputStream.readObject(FormatIdInputStream.java:126)
        at
org.apache.derby.impl.sql.execute.VTIResultSet.thawReturnType(VTIResultSet.java:696)
        at
org.apache.derby.impl.sql.execute.VTIResultSet.getReturnColumnTypes(VTIResultSet.java:670)
        at
org.apache.derby.impl.sql.execute.VTIResultSet.populateFromResultSet(VTIResultSet.java:559)
        at
org.apache.derby.impl.sql.execute.VTIResultSet.getNextRowCore(VTIResultSet.java:347)
        at
org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.getNextRow(BasicNoPutResultSetImpl.java:460)
        at
org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(EmbedResultSet.java:423)
        ... 29 more
2)
specialCollation(org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest)java.sql.SQLException:
The exception 'java.lang.ClassNotFoundException: ERROR XBM0U: No class was
registered for identifier 495.' was thrown while evaluating an expression.
        at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
        at
org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
        at org.apache.derby.impl.jdbc.Util.seeNextException(Util.java:223)
        at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:398)
        at
org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:346)
        at
org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2125)
        at
org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81)
        at
org.apache.derby.impl.jdbc.EmbedResultSet.closeOnTransactionError(EmbedResultSet.java:4320)
        at
org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(EmbedResultSet.java:463)
        at
org.apache.derby.impl.jdbc.EmbedResultSet.next(EmbedResultSet.java:367)
        at
org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.assertResults(TableFunctionTest.java:1935)
        at
org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.assertResults(TableFunctionTest.java:1776)
        at
org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.assertResults(TableFunctionTest.java:1762)
        at
org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.simpleVTIResults(TableFunctionTest.java:1079)
        at
org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.tableFunctionTest(TableFunctionTest.java:920)
        at
org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.specialCollation(TableFunctionTest.java:907)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at
org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:103)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
        at junit.extensions.TestSetup.run(TestSetup.java:23)
        at
org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
        at junit.extensions.TestSetup.run(TestSetup.java:23)
        at
org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
        at junit.extensions.TestSetup.run(TestSetup.java:23)
Caused by: java.sql.SQLException: Java exception: 'ERROR XBM0U: No class was
registered for identifier 495.: java.lang.ClassNotFoundException'.
        at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
        at
org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
        at org.apache.derby.impl.jdbc.Util.javaException(Util.java:244)
        at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:403)
        ... 51 more
Caused by: java.lang.ClassNotFoundException: ERROR XBM0U: No class was
registered for identifier 495.
        at
org.apache.derby.iapi.services.io.FormatIdInputStream.readObject(FormatIdInputStream.java:129)
        at
org.apache.derby.catalog.types.TypeDescriptorImpl.readExternal(TypeDescriptorImpl.java:491)
        at
org.apache.derby.iapi.services.io.FormatIdInputStream.readObject(FormatIdInputStream.java:126)
        at
org.apache.derby.impl.sql.execute.VTIResultSet.thawReturnType(VTIResultSet.java:696)
        at
org.apache.derby.impl.sql.execute.VTIResultSet.getReturnColumnTypes(VTIResultSet.java:670)
        at
org.apache.derby.impl.sql.execute.VTIResultSet.populateFromResultSet(VTIResultSet.java:559)
        at
org.apache.derby.impl.sql.execute.VTIResultSet.getNextRowCore(VTIResultSet.java:347)
        at
org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.getNextRow(BasicNoPutResultSetImpl.java:460)
        at
org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(EmbedResultSet.java:423)
        ... 45 more

FAILURES!!!
Tests run: 8010,  Failures: 0,  Errors: 2


Is this normal? Shouldn't all tests pass without errors?

Thanks,
Tiago

On Sun, Apr 13, 2008 at 12:15 AM, Bryan Pendleton <bp...@amberpoint.com>
wrote:

> Well, on a second check, it's definitely memory-related. Check this bit
> > out:
> > E.java.io.IOException: java.io.IOException: Cannot allocate memory
> >        at java.lang.UNIXProcess.<init>(UNIXProcess.java:143)
> >        at java.lang.Runtime.execInternal(Native Method)
> >        at java.lang.Runtime.exec(Runtime.java:566)
> >
> ...
>
> >
> > How should I proceed? Do I inflate the swap file?
> >
>
> Yes, this sounds like a situation where adding swap space would work fine.
>
> I'd say, triple the amount of swap space that you currently have
> configured,
> and try the test run again.
>
> thanks,
>
> bryan
>
>
>

Re: [jira] Commented: (DERBY-3574) With client, attempting to get the lob length after commit or connection close if there was a call to length() before commit does not throw an exception

Posted by Bryan Pendleton <bp...@amberpoint.com>.
> Well, on a second check, it's definitely memory-related. Check this bit out:
> E.java.io.IOException: java.io.IOException: Cannot allocate memory
>         at java.lang.UNIXProcess.<init>(UNIXProcess.java:143)
>         at java.lang.Runtime.execInternal(Native Method)
>         at java.lang.Runtime.exec(Runtime.java:566)
...
> 
> How should I proceed? Do I inflate the swap file?

Yes, this sounds like a situation where adding swap space would work fine.

I'd say, triple the amount of swap space that you currently have configured,
and try the test run again.

thanks,

bryan



Re: [jira] Commented: (DERBY-3574) With client, attempting to get the lob length after commit or connection close if there was a call to length() before commit does not throw an exception

Posted by Tiago Espinha <ti...@espinhas.net>.
On Sat, Apr 12, 2008 at 10:59 PM, Myrna van Lunteren <m....@gmail.com>
wrote:

> On 4/12/08, Tiago R. Espinha (JIRA) <ji...@apache.org> wrote:
> >
> >    [
> https://issues.apache.org/jira/browse/DERBY-3574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12588315#action_12588315]
> >
> > Tiago R. Espinha commented on DERBY-3574:
> > -----------------------------------------
> >
> > Ok I have a problem.
> >
> > I ran the command that Kathey posted (without the -D switch and with
> -Xmx1024M since it gave out of memory with just 512MiB) and I got a
> stackload of error lines after a few hours of running. Here's what it said
> in the end:
> >
> > FAILURES!!!
> > Tests run: 8010,  Failures: 1,  Errors: 8
> >
> > Somehow I get the feeling that this is still a memory issue. I'm running
> the tests in a Virtual Machine running Ubuntu 7.10 with just 1GiB of RAM,
> and after a while, java is using all the RAM and has entered the swap file.
> Should I discard the VM and run it all natively on XP where I have 2GiB of
> RAM?
> >
> Actually, considering 8010 fixtures were run, 9 failing fixtures is
> not that bad...
> And yes, you'd get a stack for each of the failures/errors; that is to
> help analyze the problems - obviously, there is something off still.
>
> I'm not entirely certain what is enough RAM these days, but I can run
> on a windows machine with 1.5 Gi RAM, and I used to be able to run on
> a box that had 1/4 Gi, although it's been a while I tried it (machine
> is slow as well as not much RAM). Ubuntu should be fine too.
>
> What made you think there was still a memory issue, did any of the
> error messages on the stacks indicate so?
>
> I'm curious to see an example of the stack traces.
>
> Myrna
>

Well, on a second check, it's definitely memory-related. Check this bit out:
E.java.io.IOException: java.io.IOException: Cannot allocate memory
        at java.lang.UNIXProcess.<init>(UNIXProcess.java:143)
        at java.lang.Runtime.execInternal(Native Method)
        at java.lang.Runtime.exec(Runtime.java:566)
        at java.lang.Runtime.exec(Runtime.java:428)
        at
org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun$4.run(ReplicationRun.java:2295)
        at java.lang.Thread.run(Thread.java:534)
And it keeps going on and on throwing that one. Towards the end there were
also:
1)
testReplication_Local_StateTest_part1(org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_StateTest_part1)junit.framework.AssertionFailedError:
Unexpected SQLException: -1 08004 DERBY SQL error: SQLCODE: -1, SQLSTATE:
08004, SQLERRMC: Connection refused : java.sql.SQLException: Required
property 'slaveHost' has not been set.
        at
org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_StateTest_part1._testPreStartedMasterServer(ReplicationRun_Local_StateTest_part1.java:204)
        at
org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_StateTest_part1.testReplication_Local_StateTest_part1(ReplicationRun_Local_StateTest_part1.java:80)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at
org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:103)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
        at junit.extensions.TestSetup.run(TestSetup.java:23)


How should I proceed? Do I inflate the swap file?