I was thinking if you have the problem in Squeak also or just Pharo ?<br><br><div class="gmail_quote">On Wed, Sep 23, 2009 at 8:12 PM, Mariano Martinez Peck <span dir="ltr"><<a href="mailto:marianopeck@gmail.com">marianopeck@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br><br><div class="gmail_quote">On Wed, Sep 23, 2009 at 8:25 PM, John Toohey <span dir="ltr"><<a href="mailto:jt@parspro.com" target="_blank">jt@parspro.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<div><br></div></blockquote><div><br><br>
Hi John! This list is SqueakDBX related, so perhaps I am not the best
one to help you. I just make Glorp and PostgreSQL native driver to work
on Pharo. Actually, the only thing I did is to have all green tests. No
more than that. I don't have a Glorp + native postgresql driver
application. Anyway, I will try to help you ;)<br>
<br> </div><div class="im"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div></div><div>My app frequently losses the connection the Postgres, and throws a "Connection not Valid" exception. Unfortunately on the latest Pharo images, there is a bug that causes this to write the stack trace to disk, and then the image locks up.</div>
</blockquote></div><div><br>you meat there is a Pharo bug that when there is a walkback and the stacktrace is written to disk, it freezes the image ? is there a bug report of that ? Could you reproduce that ?<br> </div>
<div class="im"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div> I think the socket on the PGConnection class is being closed or times out, and I need to know is there someway that I can debug this or if its a know issue. </div>
<div><br></div></blockquote></div><div><br>Yes, that's probably the case. I can see in code that the error 'Connection not valid' when the connection is not connected or if it is nil. If you see your stacktrace, you can see that the socket variable is nil. That's why the error. Now, the question is why the socket is nil ?<br>
<br>I looked for the code to see where can be the socket set to nil, and I found some places: PGConnection stTerminalError: , stTerminated<br>Perhaps you can put a "self halt" in those methods and then debug them.<br>
<br>The PGConnection seems to do a lot of "self log: 'XXXX'". So, perhaps you can have a Transcript opened to see that. <br><br>Finally, why don't you give a try to GlorpDBX + SqueakDBX ? It works pretty well and has good performance. <br>
<br>I hope this helps. Remember I am not a native postgresql driver guru. Perhaps you can ask also in squeak-dev or pharo mailing lists.<br><br>Best,<br><br>Mariano<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="h5">
<div></div><div>I am using the latest Pharo image, with the latest Pharo-Glorp package, and the newest Postgres driver. I think this is the relevant part of the stack trace :-</div>
<div><br></div><div><div><br></div><div>
PGConnection(Object)>>error:</div><div><span style="white-space: pre;">        </span>Receiver: a PGConnection</div><div><span style="white-space: pre;">        </span>Arguments and temporary variables: </div>
<div><span style="white-space: pre;">                </span>aString: <span style="white-space: pre;">        </span>'Connection not valid'</div><div><span style="white-space: pre;">        </span>Receiver's instance variables: </div>
<div><span style="white-space: pre;">                </span>trace: <span style="white-space: pre;">        </span>0</div><div><span style="white-space: pre;">                </span>state: <span style="white-space: pre;">        </span>#Terminated</div>
<div><span style="white-space: pre;">                </span>events: <span style="white-space: pre;">        </span>an OrderedCollection()</div><div><span style="white-space: pre;">                </span>socket: <span style="white-space: pre;">        </span>nil</div>
<div><span style="white-space: pre;">                </span>readBuffer: <span style="white-space: pre;">        </span>'PblankT id ��name �$password �6client...etc...</div><div><span style="white-space: pre;">                </span>readIndex: <span style="white-space: pre;">        </span>384</div>
<div><span style="white-space: pre;">                </span>lastReadIndex: <span style="white-space: pre;">        </span>384</div><div><span style="white-space: pre;">                </span>writeBuffer: <span style="white-space: pre;">        </span>nil</div>
<div><span style="white-space: pre;">                </span>processId: <span style="white-space: pre;">        </span>28132</div><div><span style="white-space: pre;">                </span>secretKey: <span style="white-space: pre;">        </span>1795051851</div>
<div><span style="white-space: pre;">                </span>sql: <span style="white-space: pre;">        </span>'SELECT <a href="http://t1.id" target="_blank">t1.id</a>, <a href="http://t1.name" target="_blank">t1.name</a>, t1.password, t1.client, t1.role, t1.mobile, t1.ema...etc...</div>
<div><span style="white-space: pre;">                </span>functionCallOid: <span style="white-space: pre;">        </span>nil</div><div><span style="white-space: pre;">                </span>functionCallArgs: <span style="white-space: pre;">        </span>nil</div>
<div><span style="white-space: pre;">                </span>copyStream: <span style="white-space: pre;">        </span>nil</div><div><span style="white-space: pre;">                </span>result: <span style="white-space: pre;">        </span>a PGResult</div>
<div><span style="white-space: pre;">                </span>connectionArgs: <span style="white-space: pre;">        </span>a PGConnectionArgs</div><div><span style="white-space: pre;">                </span>notificationSubscribers: <span style="white-space: pre;">        </span>nil</div>
<div><span style="white-space: pre;">                </span>fieldConverters: <span style="white-space: pre;">        </span>an IdentityDictionary(16->[closure] in PGConnection class>>boo...etc...</div>
<div><span style="white-space: pre;">                </span>sqlStringConverter: <span style="white-space: pre;">        </span>[closure] in PGConnection>>clientEncoding:</div><div><span style="white-space: pre;">                </span>receivingTextConverter: <span style="white-space: pre;">        </span>an UTF8TextConverter</div>
<div><br></div><div>PGConnection>>execute:</div><div><span style="white-space: pre;">        </span>Receiver: a PGConnection</div><div><span style="white-space: pre;">        </span>Arguments and temporary variables: </div>
<div><span style="white-space: pre;">                </span>sqlString: <span style="white-space: pre;">        </span>'SELECT <a href="http://t1.id" target="_blank">t1.id</a>, t1.typename, t1.description, t1.selectioncount, t1.pr...etc...</div>
<div><span style="white-space: pre;">        </span>Receiver's instance variables: </div><div><span style="white-space: pre;">                </span>trace: <span style="white-space: pre;">        </span>0</div>
<div><span style="white-space: pre;">                </span>state: <span style="white-space: pre;">        </span>#Terminated</div><div><span style="white-space: pre;">                </span>events: <span style="white-space: pre;">        </span>an OrderedCollection()</div>
<div><span style="white-space: pre;">                </span>socket: <span style="white-space: pre;">        </span>nil</div><div><span style="white-space: pre;">                </span>readBuffer: <span style="white-space: pre;">        </span>'PblankT id ��name �$password �6client...etc...</div>
<div><span style="white-space: pre;">                </span>readIndex: <span style="white-space: pre;">        </span>384</div><div><span style="white-space: pre;">                </span>lastReadIndex: <span style="white-space: pre;">        </span>384</div>
<div><span style="white-space: pre;">                </span>writeBuffer: <span style="white-space: pre;">        </span>nil</div><div><span style="white-space: pre;">                </span>processId: <span style="white-space: pre;">        </span>28132</div>
<div><span style="white-space: pre;">                </span>secretKey: <span style="white-space: pre;">        </span>1795051851</div><div><span style="white-space: pre;">                </span>sql: <span style="white-space: pre;">        </span>'SELECT <a href="http://t1.id" target="_blank">t1.id</a>, <a href="http://t1.name" target="_blank">t1.name</a>, t1.password, t1.client, t1.role, t1.mobile, t1.ema...etc...</div>
<div><span style="white-space: pre;">                </span>functionCallOid: <span style="white-space: pre;">        </span>nil</div><div><span style="white-space: pre;">                </span>functionCallArgs: <span style="white-space: pre;">        </span>nil</div>
<div><span style="white-space: pre;">                </span>copyStream: <span style="white-space: pre;">        </span>nil</div><div><span style="white-space: pre;">                </span>result: <span style="white-space: pre;">        </span>a PGResult</div>
<div><span style="white-space: pre;">                </span>connectionArgs: <span style="white-space: pre;">        </span>a PGConnectionArgs</div><div><span style="white-space: pre;">                </span>notificationSubscribers: <span style="white-space: pre;">        </span>nil</div>
<div><span style="white-space: pre;">                </span>fieldConverters: <span style="white-space: pre;">        </span>an IdentityDictionary(16->[closure] in PGConnection class>>boo...etc...</div>
<div><span style="white-space: pre;">                </span>sqlStringConverter: <span style="white-space: pre;">        </span>[closure] in PGConnection>>clientEncoding:</div><div><span style="white-space: pre;">                </span>receivingTextConverter: <span style="white-space: pre;">        </span>an UTF8TextConverter</div>
<div><br></div><div>SqueakDatabaseAccessor>>basicExecuteSQLString:</div><div><span style="white-space: pre;">        </span>Receiver: a SqueakDatabaseAccessor</div><div><span style="white-space: pre;">        </span>Arguments and temporary variables: </div>
<div><span style="white-space: pre;">                </span>aString: <span style="white-space: pre;">        </span>'SELECT <a href="http://t1.id" target="_blank">t1.id</a>, t1.typename, t1.description, t1.selectioncount, t1.prio...etc...</div>
<div><span style="white-space: pre;">                </span>result: <span style="white-space: pre;">        </span>nil</div><div><span style="white-space: pre;">                </span>rowCollection: <span style="white-space: pre;">        </span>nil</div>
<div><span style="white-space: pre;">        </span>Receiver's instance variables: </div><div><span style="white-space: pre;">                </span>connection: <span style="white-space: pre;">        </span>a PGConnection</div>
<div><span style="white-space: pre;">                </span>currentLogin: <span style="white-space: pre;">        </span>a Login(a PostgreSQLPlatform, 'postgres', '847129', 'localhost_ju...etc...</div>
<div><span style="white-space: pre;">                </span>logging: <span style="white-space: pre;">        </span>true</div><div><span style="white-space: pre;">                </span>reusePreparedStatements: <span style="white-space: pre;">        </span>nil</div>
<div><span style="white-space: pre;">                </span>deniedCommands: <span style="white-space: pre;">        </span>nil</div><div><span style="white-space: pre;">                </span>mutex: <span style="white-space: pre;">        </span>a Semaphore()</div>
<div><span style="white-space: pre;">                </span>dependents: <span style="white-space: pre;">        </span>nil</div><div><span style="white-space: pre;">                </span>isInTransaction: <span style="white-space: pre;">        </span>false</div>
<div><br></div><div>Any help would be appreciated, as this is stopping me from going to a Beta test at the moment.</div><div><br></div><div>Thanks,</div><div><br></div><div><br></div><br>-- <br>-JT<br><br><br>
</div>
<br></div></div>_______________________________________________<br>
SqueakDBX mailing list<br>
<a href="mailto:SqueakDBX@lists.squeakfoundation.org" target="_blank">SqueakDBX@lists.squeakfoundation.org</a><br>
<a href="http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx" target="_blank">http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx</a><br>
<br></blockquote></div><br>
</blockquote></div><br>