[SqueakDBX] Connection not Valid problem

Mariano Martinez Peck marianopeck at gmail.com
Fri Sep 25 16:00:24 UTC 2009


On Fri, Sep 25, 2009 at 2:42 PM, John Toohey <jt at parspro.com> wrote:

> Okay, have everything installed now, but am not sure what changes I need to
> make to my Glorp code. This is my current connect method, that I use for
> Glorp :-connect
> | accessor|
>
> JulietLogger log:'Database connecting'.
>
> self platform: PostgreSQLPlatform new.
>  accessor := DatabaseAccessor forLogin: self createLogin.
> self
> session: ((GlorpSession forSystem: self)
>  accessor: accessor;
> yourself);
> connectionFailed: false.
>  [accessor login] ifError: [:err | Transcript show: 'JulietDB - Connection
> Problem', err; cr. self connectionFailed: true].
>  accessor logging: self enableLogging.
> self glorpSession: self session.
>
> Do I need to rewrite this?
>

I think you should evaluate this:

    SqueakDatabaseAccessor DefaultDriver: SqueakDBXDriver.

somewhere before that code. In a future this will be done automatically when
you load GlorpDBX. I will commit this then.

Let me know if that worked.

Best,

Mariano


>
> On Fri, Sep 25, 2009 at 11:07, John Toohey <jt at parspro.com> wrote:
>
>> Had to rebuild a new image, changes file full, and Pharo still cannot
>> condense a change file. So, now I have a refresh image with just GlorpDBX
>> installed. Ran the tests and have 94 passed and one failure. The failed test
>> is DBXQueryNoTimeout and the failing method is #testNoTimeOut. The
>> DBXQuerySetting object's timeout property is Nil, and this throws a DNU
>> exception.
>> Going to try to install Seaside now, and hopefully my own app then.
>>
>>
>> On Fri, Sep 25, 2009 at 09:38, Mariano Martinez Peck <
>> marianopeck at gmail.com> wrote:
>>
>>>
>>>
>>> On Fri, Sep 25, 2009 at 12:21 PM, Mariano Martinez Peck <
>>> marianopeck at gmail.com> wrote:
>>>
>>>>
>>>>
>>>> On Fri, Sep 25, 2009 at 12:04 PM, John Toohey <jt at parspro.com> wrote:
>>>>
>>>>> I now have a new image with Seaside 3 installed, however when I run the
>>>>> follow :-
>>>>> Installer ss project: 'SqueakDBX'; install: 'SqueakDBXPharoLoader'.
>>>>> SqueakDBXPharoLoader loadGlorpDBX
>>>>>
>>>>> This package depends on the following classes:
>>>>>   PGConnection
>>>>> You must resolve these dependencies before you will be able to load
>>>>> these definitions:
>>>>>   PGConnection classSide>>buildDefaultFieldConverters
>>>>>   PGConnection classSide>>buildStateTransitionTable
>>>>>
>>>>> Do I need to install the Postgres driver before I do this? I thought it
>>>>> was part of the GlorpDBX install.
>>>>>
>>>>
>>>> Yeah, I know :(
>>>> It is difficult to explain but there is some places of Glorp which still
>>>> reference to PGConnection. However, it is not used. Don't worry. Do a
>>>> "proceed" and everything will be ok.
>>>>
>>>
>>> Ok. I found the problem. It's time to restrucutre some packages about
>>> Glorp.
>>>
>>>
>>>
>>>> I will then try to see how to fix this.
>>>>
>>>> what happened to SqueakDBX tests and the amount of connections? did it
>>>> work my commit ?
>>>>
>>>> Here is a summary of the things we did to GLorp and how to run GlorpDBX
>>>> tests:
>>>>
>>>> http://squeakdbx.smallworks.com.ar/GLORP integration
>>>>
>>>> Ok, it was a secret that webpage. It is our own website with seaside and
>>>> pier to replace the swiki :)   We will then do the public ANN hahaha.
>>>>
>>>>
>>>>
>>>>
>>>>>
>>>>>
>>>>> On Thu, Sep 24, 2009 at 21:16, Mariano Martinez Peck <
>>>>> marianopeck at gmail.com> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On Thu, Sep 24, 2009 at 10:12 PM, John Toohey <jt at parspro.com> wrote:
>>>>>>
>>>>>>> I am running the OpenDBX-Core tests both from the TestRunner and the
>>>>>>> OBPackageBrowser. The tests run successfully until my DB runs out of
>>>>>>> connections. Latest Pharo, and latest GlorpDBX installed.
>>>>>>>
>>>>>>>
>>>>>> John: I have just noticed that a lot of SqueakDBX tests don't release
>>>>>> the DB connections, as you guessed. I have just commit. can you please test
>>>>>> it and let me know ? of course, you must first reboot or kill all the active
>>>>>> connections ;)
>>>>>>
>>>>>>
>>>>>>
>>>>>> "Name: OpenDBX-Core-Mariano.230
>>>>>> Author: Mariano
>>>>>> Time: 24 September 2009, 10:15:03 pm
>>>>>> UUID: 19ce8340-3070-4495-a21d-cbe2b63aca0e
>>>>>> Ancestors: OpenDBX-Core-HMC.229
>>>>>>
>>>>>> There were a lot of SqueakDBX tests that don't release the connection
>>>>>> after testing. So, this can result in a "Too many connections error". Now,
>>>>>> all tests release connections."
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> On Thu, Sep 24, 2009 at 20:52, Mariano Martinez Peck <
>>>>>>> marianopeck at gmail.com> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Sep 24, 2009 at 3:13 PM, John Toohey <jt at parspro.com>wrote:
>>>>>>>>
>>>>>>>>> Okay, I've installed SqueakGlorp into my existing image, and added
>>>>>>>>> the symlink to the VM for openDBX. I can get up to 44 tests to pass, but it
>>>>>>>>> seems that the tests are not releasing their DB connections, so after a
>>>>>>>>> while the rest fail with a "Too many connections error"
>>>>>>>>
>>>>>>>>
>>>>>>>> These tests you are talking about are SqueakDBX tests or Glorp tests
>>>>>>>> when using SqueakDBX as the driver ?
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Is this how it should be for those tests? I am just selecting the
>>>>>>>>> test package and selecting "run tests".
>>>>>>>>>
>>>>>>>>>
>>>>>>>> I need to know which tests are you running, if OpenDBX-Core-Tests or
>>>>>>>> GlorpTest. Anyway, tests should release connections. If this is not done, so
>>>>>>>> we have a bug in our tests.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Thu, Sep 24, 2009 at 12:24, Mariano Martinez Peck <
>>>>>>>>> marianopeck at gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Thu, Sep 24, 2009 at 3:06 PM, John Toohey <jt at parspro.com>wrote:
>>>>>>>>>>
>>>>>>>>>>> - I've managed to build it on a VMWare VM running Ubunto, and
>>>>>>>>>>> using the --disable-utils switch, I've built it on OSX also. However on both
>>>>>>>>>>> systems when I run the test suite I see this :-
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Excellent news!!! I tell you: there is an utility called odbx-sql
>>>>>>>>>> that let you send queries trough OpenDBX. However, that utility requires
>>>>>>>>>> external libraries which seem to have problems, at least in Windows. So,
>>>>>>>>>> when we compile in Windows, we must disable that utility. But remember this
>>>>>>>>>> is an utility, not OpenDBX core or feature. It is not important. I didn't
>>>>>>>>>> know it has problems also with MacOS, so I will update the webpage. Thanks
>>>>>>>>>> for the testing!!!!
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> `--> ./odbxtest -b pgsql -h localhost -p 5432 -d juliet -u
>>>>>>>>>>> postgres -w postgres
>>>>>>>>>>>     ODBX_CAP_BASIC: 1
>>>>>>>>>>>     ODBX_CAP_LO: 0
>>>>>>>>>>>     ODBX_OPT_API_VERSION: 10200
>>>>>>>>>>>     ODBX_OPT_THREAD_SAFE: 1
>>>>>>>>>>>     ODBX_OPT_TLS: 1
>>>>>>>>>>>     ODBX_OPT_CONNECT_TIMEOUT: 1 (using)
>>>>>>>>>>>     ODBX_OPT_MULTI_STATEMENTS: 1 (using)
>>>>>>>>>>>     ODBX_OPT_PAGED_RESULTS: 0
>>>>>>>>>>>     ODBX_OPT_COMPRESS: 0
>>>>>>>>>>>     ODBX_CAP_BASIC: 1
>>>>>>>>>>>     ODBX_CAP_LO: 0
>>>>>>>>>>>     ODBX_OPT_API_VERSION: 10200
>>>>>>>>>>>     ODBX_OPT_THREAD_SAFE: 1
>>>>>>>>>>>     ODBX_OPT_TLS: 1
>>>>>>>>>>>     ODBX_OPT_CONNECT_TIMEOUT: 1 (using)
>>>>>>>>>>>     ODBX_OPT_MULTI_STATEMENTS: 1 (using)
>>>>>>>>>>>     ODBX_OPT_PAGED_RESULTS: 0
>>>>>>>>>>>     ODBX_OPT_COMPRESS: 0
>>>>>>>>>>> WARNING:  nonstandard use of \\ in a string literal
>>>>>>>>>>> LINE 1: SELECT * FROM odbxtest WHERE col = 'a''''\\''b'
>>>>>>>>>>>                                            ^
>>>>>>>>>>> HINT:  Use the escape string syntax for backslashes, e.g., E'\\'.
>>>>>>>>>>> Error in odbx_result(): ERROR:  relation "odbxtest" does not
>>>>>>>>>>> exist
>>>>>>>>>>>
>>>>>>>>>>> Error in odbx_result(): ERROR:  relation "odbxtest" does not
>>>>>>>>>>> exist
>>>>>>>>>>>
>>>>>>>>>>> Not sure if this means there is a problem with the build (I
>>>>>>>>>>> downloaded to latest one) or a problem with the test suite.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>> As you guessed this seems to be a problem with the test suit, but
>>>>>>>>>> the build is seems to be perfect. I will send this part to OpenDBX mailing
>>>>>>>>>> list and see if I receive some help. Thanks for the report.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> In order to continue and install GlorpDBX into my Pharo image, do
>>>>>>>>>>> I need to build a new image, as my current one already has Pharo-Glorp
>>>>>>>>>>> installed. I've never figured out how to uninstall packages in Smalltalk.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Yeah. Me neither :(
>>>>>>>>>>
>>>>>>>>>> But, what you can do is install just SqueakDBX in that image and
>>>>>>>>>> run the SqueakDBX tests, using PostgreSQL to see if everything is ok. You
>>>>>>>>>> should have all green tests. If you get this, I would really appreciate if
>>>>>>>>>> you can make a binary for MacOS :)
>>>>>>>>>>
>>>>>>>>>> Then, you can take a new image and install GlorpDBX as explained
>>>>>>>>>> in the wiki.  Most of the tests should be green. I say "most" because there
>>>>>>>>>> are some that fails because of what I told you that we don't support large
>>>>>>>>>> database fields.
>>>>>>>>>>
>>>>>>>>>> Best,
>>>>>>>>>>
>>>>>>>>>> Mariano
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Thu, Sep 24, 2009 at 11:15, Mariano Martinez Peck <
>>>>>>>>>>> marianopeck at gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Thu, Sep 24, 2009 at 1:59 PM, John Toohey <jt at parspro.com>wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> I'm currently trying to build openDBX on OSX. I've finally
>>>>>>>>>>>>> found the postgres client libs and include files, and I've run ./configure
>>>>>>>>>>>>> -with-backends="pgsql", but when I run make I get this error :-
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Excellent you are giving SqueakDBX at least a try. The real
>>>>>>>>>>>> thing is this: The squeakDBX team is composed by 4 people. Only one has a
>>>>>>>>>>>> Mac and he is very busy with his work. I have ALL databases working on Linux
>>>>>>>>>>>> and Windows. And I have also prepared binaries for that because I can (dlls,
>>>>>>>>>>>> .deb and .rpm). But I cannot do it with Mac because I don't have a mac and I
>>>>>>>>>>>> don't know how binaries work on Mac. If you make it work, I would really
>>>>>>>>>>>> love you help me generating the binaries so that I can update them to
>>>>>>>>>>>> OpenDBX website.
>>>>>>>>>>>>
>>>>>>>>>>>> Which OpenDBX version are you trying to compile? You should try
>>>>>>>>>>>> 1.4.3.
>>>>>>>>>>>>
>>>>>>>>>>>> Can you try configuring this way please ?
>>>>>>>>>>>>
>>>>>>>>>>>> ./configure --disable-utils --with-backends="pgsql"
>>>>>>>>>>>>
>>>>>>>>>>>> If it works, I then explain you why that :)
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Making all in po
>>>>>>>>>>>>> g++ -DHAVE_CONFIG_H -I. -I.. -I../lib
>>>>>>>>>>>>> -DLOCALEDIR=\"/usr/local/share/locale\"
>>>>>>>>>>>>> -DKEYWORDFILE=\"/usr/local/share/opendbx/keywords\"
>>>>>>>>>>>>> -I/opt/local/include/postgresql83  -g -O2 -MT odbx_sql-argmap.o -MD -MP -MF
>>>>>>>>>>>>> .deps/odbx_sql-argmap.Tpo -c -o odbx_sql-argmap.o `test -f 'argmap.cpp' ||
>>>>>>>>>>>>> echo './'`argmap.cpp
>>>>>>>>>>>>> mv -f .deps/odbx_sql-argmap.Tpo .deps/odbx_sql-argmap.Po
>>>>>>>>>>>>> g++ -DHAVE_CONFIG_H -I. -I.. -I../lib
>>>>>>>>>>>>> -DLOCALEDIR=\"/usr/local/share/locale\"
>>>>>>>>>>>>> -DKEYWORDFILE=\"/usr/local/share/opendbx/keywords\"
>>>>>>>>>>>>> -I/opt/local/include/postgresql83  -g -O2 -MT odbx_sql-commands.o -MD -MP
>>>>>>>>>>>>> -MF .deps/odbx_sql-commands.Tpo -c -o odbx_sql-commands.o `test -f
>>>>>>>>>>>>> 'commands.cpp' || echo './'`commands.cpp
>>>>>>>>>>>>> mv -f .deps/odbx_sql-commands.Tpo .deps/odbx_sql-commands.Po
>>>>>>>>>>>>> g++ -DHAVE_CONFIG_H -I. -I.. -I../lib
>>>>>>>>>>>>> -DLOCALEDIR=\"/usr/local/share/locale\"
>>>>>>>>>>>>> -DKEYWORDFILE=\"/usr/local/share/opendbx/keywords\"
>>>>>>>>>>>>> -I/opt/local/include/postgresql83  -g -O2 -MT odbx_sql-completion.o -MD -MP
>>>>>>>>>>>>> -MF .deps/odbx_sql-completion.Tpo -c -o odbx_sql-completion.o `test -f
>>>>>>>>>>>>> 'completion.cpp' || echo './'`completion.cpp
>>>>>>>>>>>>> mv -f .deps/odbx_sql-completion.Tpo
>>>>>>>>>>>>> .deps/odbx_sql-completion.Po
>>>>>>>>>>>>> g++ -DHAVE_CONFIG_H -I. -I.. -I../lib
>>>>>>>>>>>>> -DLOCALEDIR=\"/usr/local/share/locale\"
>>>>>>>>>>>>> -DKEYWORDFILE=\"/usr/local/share/opendbx/keywords\"
>>>>>>>>>>>>> -I/opt/local/include/postgresql83  -g -O2 -MT odbx_sql-odbx-sql.o -MD -MP
>>>>>>>>>>>>> -MF .deps/odbx_sql-odbx-sql.Tpo -c -o odbx_sql-odbx-sql.o `test -f
>>>>>>>>>>>>> 'odbx-sql.cpp' || echo './'`odbx-sql.cpp
>>>>>>>>>>>>> odbx-sql.cpp: In function 'int main(int, char**)':
>>>>>>>>>>>>> odbx-sql.cpp:228: error: invalid conversion from 'char*
>>>>>>>>>>>>> (*)(const char*, int)' to 'int (*)(const char*, int)'
>>>>>>>>>>>>> make[3]: *** [odbx_sql-odbx-sql.o] Error 1
>>>>>>>>>>>>> make[2]: *** [all-recursive] Error 1
>>>>>>>>>>>>> make[1]: *** [all-recursive] Error 1
>>>>>>>>>>>>> make: *** [all] Error 2
>>>>>>>>>>>>>
>>>>>>>>>>>>> Do you know of any pre-built binaries that will work on OSX?
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> I don't know, but I would love to have them!!!
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Wed, Sep 23, 2009 at 23:09, Mariano Martinez Peck <
>>>>>>>>>>>>> marianopeck at gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Wed, Sep 23, 2009 at 11:27 PM, John Toohey <jt at parspro.com
>>>>>>>>>>>>>> > wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hey,
>>>>>>>>>>>>>>> Thanks for looking into this for me. I'm just using Pharo as
>>>>>>>>>>>>>>> my app is using the beta of Seaside 3.0. I'm going to do as you suggested
>>>>>>>>>>>>>>> and put some debug statements in PGConnection, and see where that leads.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Ok, let us know what the problem was if you find it :)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Is it a lot of changes from me to switch to DBX on Pharo?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> No. Your application shouldn't have any changes. You
>>>>>>>>>>>>>> application will use just Glorp. But in this case Glorp won't use the native
>>>>>>>>>>>>>> PostgreSQL driver, but SqueakDBX with PostgreSQL.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I assume there are no changes in my Glorp code, but what else
>>>>>>>>>>>>>>> do I need to do.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The only thing you must do is:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> - Install the PostgreSQL client library (if you don't have it
>>>>>>>>>>>>>> already installed).
>>>>>>>>>>>>>> - Compile or Install (if you are in Linux you can use the .rpm
>>>>>>>>>>>>>> or .deb) OpenDBX with PostgreSQL,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> You can read how to do it here:
>>>>>>>>>>>>>> http://wiki.squeak.org/squeak/6129
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> You must do it only once. Once this is done, everything is
>>>>>>>>>>>>>> easy and you can take advantage of all the SqueakDBX features (
>>>>>>>>>>>>>> http://wiki.squeak.org/squeak/6106). OpenDBX works perfect
>>>>>>>>>>>>>> with PostgreSQL in Linux, Mac and Windows. We have also have GlorpDBX
>>>>>>>>>>>>>> working with SqueakDBX and PostgreSQL and it is very easy to install:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> http://wiki.squeak.org/squeak/6130    (where it says
>>>>>>>>>>>>>> GlorpDBX).
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The only limitation we have right now is that we don't support
>>>>>>>>>>>>>> large objects (blob, clob, etc) yet.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> If you try it and have any problem, please, let us know!!!
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I develop on OSX and deploy to Linux for production.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> No problem.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Mariano
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Wed, Sep 23, 2009 at 21:03, Mariano Martinez Peck <
>>>>>>>>>>>>>>> marianopeck at gmail.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I was thinking if you have the problem in Squeak also or
>>>>>>>>>>>>>>>> just Pharo ?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Wed, Sep 23, 2009 at 8:12 PM, Mariano Martinez Peck <
>>>>>>>>>>>>>>>> marianopeck at gmail.com> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Wed, Sep 23, 2009 at 8:25 PM, John Toohey <
>>>>>>>>>>>>>>>>> jt at parspro.com> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 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 ;)
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 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.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 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 ?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>  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.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 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 ?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I looked for the code to see where can be the socket set to
>>>>>>>>>>>>>>>>> nil, and I found some places:  PGConnection stTerminalError:  , stTerminated
>>>>>>>>>>>>>>>>> Perhaps you can put a "self halt" in those methods and then
>>>>>>>>>>>>>>>>> debug them.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> The PGConnection seems to do a lot of "self log: 'XXXX'".
>>>>>>>>>>>>>>>>> So, perhaps you can have a Transcript opened to see that.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Finally, why don't you give a try to GlorpDBX + SqueakDBX
>>>>>>>>>>>>>>>>> ?   It works pretty well and has good performance.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 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.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Mariano
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>  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 :-
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> PGConnection(Object)>>error:
>>>>>>>>>>>>>>>>>> Receiver: a PGConnection
>>>>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>>>>  aString: 'Connection not valid'
>>>>>>>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>>>>>>>  trace: 0
>>>>>>>>>>>>>>>>>> state: #Terminated
>>>>>>>>>>>>>>>>>>  events: an OrderedCollection()
>>>>>>>>>>>>>>>>>> socket: nil
>>>>>>>>>>>>>>>>>>  readBuffer: 'PblankT id ��name �$password
>>>>>>>>>>>>>>>>>> �6client...etc...
>>>>>>>>>>>>>>>>>> readIndex: 384
>>>>>>>>>>>>>>>>>>  lastReadIndex: 384
>>>>>>>>>>>>>>>>>> writeBuffer: nil
>>>>>>>>>>>>>>>>>>  processId: 28132
>>>>>>>>>>>>>>>>>> secretKey: 1795051851
>>>>>>>>>>>>>>>>>>  sql: 'SELECT t1.id, t1.name, t1.password, t1.client,
>>>>>>>>>>>>>>>>>> t1.role, t1.mobile, t1.ema...etc...
>>>>>>>>>>>>>>>>>>  functionCallOid: nil
>>>>>>>>>>>>>>>>>> functionCallArgs: nil
>>>>>>>>>>>>>>>>>>  copyStream: nil
>>>>>>>>>>>>>>>>>> result: a PGResult
>>>>>>>>>>>>>>>>>>  connectionArgs: a PGConnectionArgs
>>>>>>>>>>>>>>>>>> notificationSubscribers: nil
>>>>>>>>>>>>>>>>>>  fieldConverters: an IdentityDictionary(16->[closure] in
>>>>>>>>>>>>>>>>>> PGConnection class>>boo...etc...
>>>>>>>>>>>>>>>>>>  sqlStringConverter: [closure] in
>>>>>>>>>>>>>>>>>> PGConnection>>clientEncoding:
>>>>>>>>>>>>>>>>>> receivingTextConverter: an UTF8TextConverter
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> PGConnection>>execute:
>>>>>>>>>>>>>>>>>> Receiver: a PGConnection
>>>>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>>>>  sqlString: 'SELECT t1.id, t1.typename, t1.description,
>>>>>>>>>>>>>>>>>> t1.selectioncount, t1.pr...etc...
>>>>>>>>>>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>>>>>>>>>> trace: 0
>>>>>>>>>>>>>>>>>>  state: #Terminated
>>>>>>>>>>>>>>>>>> events: an OrderedCollection()
>>>>>>>>>>>>>>>>>>  socket: nil
>>>>>>>>>>>>>>>>>> readBuffer: 'PblankT id ��name �$password
>>>>>>>>>>>>>>>>>> �6client...etc...
>>>>>>>>>>>>>>>>>>  readIndex: 384
>>>>>>>>>>>>>>>>>> lastReadIndex: 384
>>>>>>>>>>>>>>>>>>  writeBuffer: nil
>>>>>>>>>>>>>>>>>> processId: 28132
>>>>>>>>>>>>>>>>>>  secretKey: 1795051851
>>>>>>>>>>>>>>>>>> sql: 'SELECT t1.id, t1.name, t1.password, t1.client,
>>>>>>>>>>>>>>>>>> t1.role, t1.mobile, t1.ema...etc...
>>>>>>>>>>>>>>>>>>  functionCallOid: nil
>>>>>>>>>>>>>>>>>> functionCallArgs: nil
>>>>>>>>>>>>>>>>>>  copyStream: nil
>>>>>>>>>>>>>>>>>> result: a PGResult
>>>>>>>>>>>>>>>>>>  connectionArgs: a PGConnectionArgs
>>>>>>>>>>>>>>>>>> notificationSubscribers: nil
>>>>>>>>>>>>>>>>>>  fieldConverters: an IdentityDictionary(16->[closure] in
>>>>>>>>>>>>>>>>>> PGConnection class>>boo...etc...
>>>>>>>>>>>>>>>>>>  sqlStringConverter: [closure] in
>>>>>>>>>>>>>>>>>> PGConnection>>clientEncoding:
>>>>>>>>>>>>>>>>>> receivingTextConverter: an UTF8TextConverter
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> SqueakDatabaseAccessor>>basicExecuteSQLString:
>>>>>>>>>>>>>>>>>> Receiver: a SqueakDatabaseAccessor
>>>>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>>>>  aString: 'SELECT t1.id, t1.typename, t1.description,
>>>>>>>>>>>>>>>>>> t1.selectioncount, t1.prio...etc...
>>>>>>>>>>>>>>>>>>  result: nil
>>>>>>>>>>>>>>>>>> rowCollection: nil
>>>>>>>>>>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>>>>>>>>>> connection: a PGConnection
>>>>>>>>>>>>>>>>>>  currentLogin: a Login(a PostgreSQLPlatform, 'postgres',
>>>>>>>>>>>>>>>>>> '847129', 'localhost_ju...etc...
>>>>>>>>>>>>>>>>>>  logging: true
>>>>>>>>>>>>>>>>>> reusePreparedStatements: nil
>>>>>>>>>>>>>>>>>>  deniedCommands: nil
>>>>>>>>>>>>>>>>>> mutex: a Semaphore()
>>>>>>>>>>>>>>>>>>  dependents: nil
>>>>>>>>>>>>>>>>>> isInTransaction: false
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Any help would be appreciated, as this is stopping me from
>>>>>>>>>>>>>>>>>> going to a Beta test at the moment.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>> -JT
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>>>> SqueakDBX mailing list
>>>>>>>>>>>>>>>>>> SqueakDBX at lists.squeakfoundation.org
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> -JT
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> -JT
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> -JT
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> -JT
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> SqueakDBX mailing list
>>>>>>>> SqueakDBX at lists.squeakfoundation.org
>>>>>>>> http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> -JT
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> SqueakDBX mailing list
>>>>>> SqueakDBX at lists.squeakfoundation.org
>>>>>> http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> -JT
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>> _______________________________________________
>>> SqueakDBX mailing list
>>> SqueakDBX at lists.squeakfoundation.org
>>> http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx
>>>
>>>
>>
>>
>> --
>> -JT
>>
>>
>>
>
>
> --
> -JT
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeakdbx/attachments/20090925/80468e1a/attachment-0001.htm


More information about the SqueakDBX mailing list