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 | 199905021251.VAA00445@ext16.sra.co.jp Whole thread Raw |
In response to | Re: SIGBUS in AllocSetAlloc & jdbc (Peter T Mount <peter@retep.org.uk>) |
Responses |
Re: [HACKERS] Re: SIGBUS in AllocSetAlloc & jdbc
Re: [HACKERS] Re: SIGBUS in AllocSetAlloc & jdbc |
List | pgsql-hackers |
> On Thu, 29 Apr 1999, Brian P Millett wrote: > > > Peter, I hope this long and boring message can shed some light on my > > difficulties getting jdbc & postgres6.5b1(current snapshot) to work > > with blobs. I have NO problem with text, numeric, etc. Just blobs & > > the LO interface. > > > > I feel that it is a 64 vs 32 bit memory management problem. > > At first glance, the JDBC code looks ok. In fact it is similar to the > ImageViewer example that's included with the source. > > Do you get the same problem when using ImageViewer? > > > // Getting the value of the item_picture column and > > // displaying it > > System.err.println("Got oid "+queryResults.getInt(2)); > > byte itemPictureArray [] = queryResults.getBytes(2); > > if (itemPictureArray != null) { > > Image img = > > Toolkit.getDefaultToolkit().createImage(itemPictureArray); > > itemPictureCanvas.setImage(img); > > itemPictureCanvas.repaint(); > > } > > Using an array is perfectly valid, and the driver does support this method > of getting an Image from a BLOB. 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.Connectionat postgresql.Driver.connect(Compiled Code)atjava.sql.DriverManager.getConnection(Compiled Code)at java.sql.DriverManager.getConnection(Compiled Code)at example.ImageViewer.<init>(CompiledCode)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? --- Tatsuo Ishii
pgsql-hackers by date: