Re: NPE in creating a SQLException

From: Peter Royal <proyal(at)pace2020(dot)com>
To: "Scot P(dot) Floess" <floess(at)mindspring(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: NPE in creating a SQLException
Date: 2003-07-29 15:26:28
Message-ID: 06356E8E-C1D9-11D7-AC9E-000393B61B56@pace2020.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

On Tuesday, July 29, 2003, at 11:17 AM, Scot P. Floess wrote:
> Can you send more code? Is "s" initialized in your synchronized
> block? You might print s before the synchronized block to verify...
> It could be your null pointer is there...

Sorry I didn't include more.. This is with JVM 1.4.1, so all the java.*
stuff is the standard source for that.

>>
>> I'm getting the below NPE:
>
> java.lang.NullPointerException
> at java.io.PrintWriter.write(PrintWriter.java:247)
> at java.io.PrintWriter.print(PrintWriter.java:392)
> at java.io.PrintWriter.println(PrintWriter.java:529)
> at java.lang.Throwable.printStackTrace(Throwable.java:509)
> at java.sql.SQLException.<init>(SQLException.java:103)
> at
> org.postgresql.util.PSQLException.<init>(PSQLException.java:19)
> at
> org.postgresql.jdbc1.AbstractJdbc1Connection.ExecSQL(AbstractJdbc1Conne
> c
> tion.java:480)
> at
> org.postgresql.jdbc1.AbstractJdbc1Connection.ExecSQL(AbstractJdbc1Conne
> c
> tion.java:461)
> at
> org.postgresql.jdbc1.AbstractJdbc1Connection.setAutoCommit(AbstractJdbc
> 1
> Connection.java:942)
>
> The offense starts here (SQLException:103)
>
> if (!(this instanceof SQLWarning)) {
> if (DriverManager.getLogWriter() != null) {
> printStackTrace(DriverManager.getLogWriter());
> }
> }
>
> And then continues on to (Throwable:509)
>
> synchronized (s) {
> s.println(this);
> StackTraceElement[] trace = getOurStackTrace();

Which is fully:

public void printStackTrace(PrintWriter s) {
synchronized (s) {
s.println(this);
StackTraceElement[] trace = getOurStackTrace();
for (int i=0; i < trace.length; i++)
s.println("\tat " + trace[i]);

Throwable ourCause = getCause();
if (ourCause != null)
ourCause.printStackTraceAsCause(s, trace);
}
}

> It is the "s.println(this)" that is causing errors... All of this is
> happening in the constructor, so I guess that is why 'this' is null?
> I'm not 100% sure and pretty confused by it all :/

But 'this' is null.... which is very weird to me.
-pete

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Scot P. Floess 2003-07-29 15:50:08 Re: NPE in creating a SQLException
Previous Message Scot P. Floess 2003-07-29 15:17:08 Re: NPE in creating a SQLException