Re: [HACKERS] Re: SIGBUS in AllocSetAlloc & jdbc - Mailing list pgsql-hackers
From | Tatsuo Ishii |
---|---|
Subject | Re: [HACKERS] Re: SIGBUS in AllocSetAlloc & jdbc |
Date | |
Msg-id | 199905021452.XAA00509@ext16.sra.co.jp Whole thread Raw |
In response to | Re: [HACKERS] Re: SIGBUS in AllocSetAlloc & jdbc (Tatsuo Ishii <t-ishii@sra.co.jp>) |
Responses |
Re: [HACKERS] Re: SIGBUS in AllocSetAlloc & jdbc
Re: [HACKERS] Re: SIGBUS in AllocSetAlloc & jdbc |
List | pgsql-hackers |
> This morning I started to look into this. First, JDBC driver coming > with 6.5b did not compile. The reason was my JDK (JDK 1.1.7 v1 on > LinuxPPC) returns version string as "root:10/14/98-13:50" and > makeVersion expected it started with "1.1". This was easy to fix. So I > went on and tried the ImageViewer sample. It gave me SQL an exception: > > java example.ImageViewer jdbc:postgresql:test t-ishii "" > Connecting to Database URL = jdbc:postgresql:test > Exception caught. > java.sql.SQLException: The postgresql.jar file does not contain the correct JDBC classes for this JVM. Try rebuilding. > Exception thrown was java.lang.ClassNotFoundException: postgresql.jdbc2.Connection > java.sql.SQLException: The postgresql.jar file does not contain the correct JDBC classes for this JVM. Try rebuilding. > Exception thrown was java.lang.ClassNotFoundException: postgresql.jdbc2.Connection > at postgresql.Driver.connect(Compiled Code) > at java.sql.DriverManager.getConnection(Compiled Code) > at java.sql.DriverManager.getConnection(Compiled Code) > at example.ImageViewer.<init>(Compiled Code) > at example.ImageViewer.main(Compiled Code) > > I had no idea how to fix this. I gave up to use the 6.5 JDBC driver. I > had to get back to the 6.4 JDBC driver. This time ImageViewer seemed > to work. I imported 3 images. Worked fine. Then I tried to take a > glance at the first image. I got SIGSEGV on the backend! It happened in > AllocSetAlloc () and seems in the same place as Brian P Millett > mentioned. Next I switched the backend to 6.4.2(+ large object fixes > basically same as 6.5). Worked great! > > In summary: > > (1) 6.5 ImageViewer + 6.4.2 JDBC driver + 6.5 backend failed > (2) 6.5 ImageViewer + 6.4.2 JDBC driver + 6.4.2 backend worked > > So I suspect there is something wrong with the 6.5 backend. I'll look > into this more. > > P.S. Peter, do you have any suggestion to make JDBC driver under JDK > 1.1.7? So far I couldn't find nothing special with the backend by now. Going back to the ImageViewer, I think I found possible problem with it. In my understanding, every lo call should be in single transaction block. But ImageViwer seems does not give any "begin" or "end" SQL commands. I made a small modifications(see below patches) to the ImageViewer and now it starts to work again with 6.5 backend! I suspect that difference of palloc() code between 6.4.2 and 6.5 made the problem opened up. --- Tatsuo Ishii *** ImageViewer.java~ Mon Oct 12 11:45:45 1998 --- ImageViewer.java Sun May 2 23:16:27 1999 *************** *** 390,395 **** --- 390,396 ---- { try { System.out.println("Selecting oid for "+name); + stat.executeUpdate("begin"); ResultSet rs = stat.executeQuery("select imgoid from images where imgname='"+name+"'"); if(rs!=null) { // Even though there should only be one image, we still have to *************** *** 402,407 **** --- 403,409 ---- } } rs.close(); + stat.executeUpdate("end"); } catch(SQLException ex) { label.setText(ex.toString()); }
pgsql-hackers by date: