[Pljava-dev] java.sql.SQLException: An attempt was made to call a PostgreSQL backend function while main thread was not in the JVM - RESOLVED!

From: pmichalek at click(dot)cz ( Petr Michálek )
To:
Subject: [Pljava-dev] java.sql.SQLException: An attempt was made to call a PostgreSQL backend function while main thread was not in the JVM - RESOLVED!
Date: 2004-09-19 16:53:48
Message-ID: 414DB99C.3050006@click.cz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pljava-dev

Thomas Hallgren wrote:
> Petr,
>
>> Hi!
>>
>> I am repeatedly calling SQL function, and trigger function fired by
>> "UPDATE" in sql function crashes with folowing exception. Crash is
>> reliable after 100 calls.
>>
>> java.sql.SQLException: ERROR: java.sql.SQLException: An attempt was
>> made to call a PostgreSQL backend function while main thread was not
>> in the JVM
>> org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1130)
>> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:933)
>>
>> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:139)
>>
>> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:346)
>>
>> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:294)
>>
>> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:285)
>>
>>
>> Exception is generated by native method in class
>> org.postgresql.pljava.internal.TriggerData function
>>
>> public boolean isFiredAfter() throws SQLException
>> {
>> synchronized(Backend.THREADLOCK)
>> {
>> >>> return this._isFiredAfter();
>> }
>> }
>
>
> I'd like to see the error generated by the backend (the backtrace above
> is from the client driver). Can you copy that from the backend log and
> email it to me? Also, info concerning the versions of postgresql,
> pljava, and java is helpful. A code example that I can run in order to
> reproduce your problem is of course ideal.
>
> Thanks,
>
> Thomas Hallgren
>
>
>
Hi!

It was my fault! I forgot to close prepared statement!

Petr Michalek

Postgresql 8.0.0beta2
Java JDK1.5 RC

Backend log example:

LOG: database system was shut down at 2004-09-19 18:40:51 CEST
LOG: checkpoint record is at 0/979AAA9C
LOG: redo record is at 0/979AAA9C; undo record is at 0/0; shutdown TRUE
LOG: next transaction ID: 1463312; next OID: 82024
LOG: database system is ready
LOG: unexpected EOF on client connection
WARNING: Freeing plan using finalizer. Someone forgot to close a
PreparedStatement
.
.
.
WARNING: Freeing plan using finalizer. Someone forgot to close a
PreparedStatement
LOG: Exception
LOG: in thread "main"
java.sql.SQLException: An attempt was made to call a PostgreSQL backend
function while main thread was not in the JVM
at org.postgresql.pljava.internal.TriggerData._isFiredAfter(Native Method)
at
org.postgresql.pljava.internal.TriggerData.isFiredAfter(TriggerData.java:219)
at com.aca.app.acc.core.postgresql.Triggers.document1(Triggers.java:569)
ERROR: java.sql.SQLException: An attempt was made to call a PostgreSQL
backend function while main thread was not in the JVM
LOG: server process (PID 22300) was terminated by signal 6
LOG: terminating any other active server processes
LOG: all server processes terminated; reinitializing
LOG: database system was interrupted at 2004-09-19 18:40:57 CEST
LOG: checkpoint record is at 0/979AAA9C
LOG: redo record is at 0/979AAA9C; undo record is at 0/0; shutdown TRUE
LOG: next transaction ID: 1463312; next OID: 82024
LOG: database system was not properly shut down; automatic recovery in
progress
LOG: redo starts at 0/979AAAD8
LOG: record with zero length at 0/97A96E54
LOG: redo done at 0/97A96E14
LOG: database system is ready

In response to

Responses

Browse pljava-dev by date

  From Date Subject
Next Message Thomas Hallgren 2004-09-19 17:14:27 [Pljava-dev] java.sql.SQLException: An attempt was made to call a PostgreSQL backend function while main thread was not in the JVM - RESOLVED!
Previous Message Thomas Hallgren 2004-09-19 16:19:04 [Pljava-dev] java.sql.SQLException: An attempt was made to call a PostgreSQL backend function while main thread was not in the JVM