MSW crash with <refcnt 0 at ...>

Frank Millman frank at chagford.com
Sat Jun 14 06:00:42 EDT 2003


Mark Hammond <mhammond at skippinet.com.au> wrote in message news:<5JhGa.3746$GU5.51113 at news-server.bigpond.net.au>...
> Frank Millman wrote:
> > Can anyone explain what is going on? Thanks in advance.
> 
> It smells like a reference count bug in the ODBC module.  What win32all 
> version are you using?  I have no database to test against, but if you 
> can reduce it down to the absolute minimum code needed to crash, I may 
> still be able to find it.
> 
> If you have an old win32all or ActivePython, please check the date - a 
> quick check of the log for the ODBC module shows the following checkin:
> 
> revision 1.5
> date: 2001/06/18 06:57:21;  author: mhammond;  state: Exp;  lines: +7 -7
> Patches from Alex Martelli that solves some crashes under error conditions.
> 
> A later ODBC module may fix your problem.
> 
> Mark.

Thanks for the prompt reply, Mark.

I am not sure how to check the version of win32all, but the
installation program is win32all-150.exe, so it looks as if it is
version 1.5. I downloaded it late last year.

Here is a smaller version of my program that still crashes.

######################################################

import odbc
db = odbc.odbc('frank/Adminstrator')
# c = db.cursor()    # [1]

def update():
    c = db.cursor()  # [2]
    try:
        c.execute("insect into fmtest values ('F001','FGH
Ltd','Frank','1234567')")
        return ['success']
    except:
        return ['fail']

print update()

######################################################

Note the deliberate spelling error "insect" intead of "insert". This
is an easier way of ensuring that the insert fails.

Another clue - note the lines flagged [1] and [2]. The former declares
the cursor outside the function, the latter declares it inside. If I
run the program with line [1] active and line [2] commented out, the
error does not occur.

Let me know if I can supply any further information.

Many thanks

Frank




More information about the Python-list mailing list