[python-win32] Dr. Watson woes with ADO, mysql
Robert Brewer
fumanchu at amor.org
Mon Jan 10 23:55:45 CET 2005
I wrote:
> > I've spent the last year writing an ORM in Python which I'm
> reasonably
> > pleased with. But I have a recent problem: I can't seem to migrate
> > tables from Microsoft Access (using ADO) to MySQL (using MySQLdb)
> > without a crash. But, don't let the context fool you: when it
> > crashes, I
> > don't think I'm doing *anything* with the ADO connection, and
> > I actually
> > get the same crash when using Postgres instead of MySQL.
> >
> > I'm not a Windows guru by any means, but I have noticed a pattern:
> > throughout my (many, naive) code changes to try to avoid the
> > crash, the
> > same functions keep popping up in drwtsn32.log:
> >
> > function: PyComplex_AsCComplex
> > function: NtWaitForSingleObject (multiple times)
> > function: NtWaitForMultipleObjects
> > function: ZwReplyWaitReceivePortEx
> > function: NtDelayExecution
> > function: ScrollDC
and Mark Hammond replied:
> All except the first and last are quite usual. I'm not sure
> where ScrollDC has come from - are you using this from a GUI?
No, from a DOS prompt (cmd.exe). However, I get similar problems
launching from Pythonwin interactively.
> > ...where PyComplex_AsCComplex is the first one listed, and (if I'm
> > reading MSDN correctly) is therefore the function "where the fault
> > occurred".
> >
> > So the question is, what's the next step in tracking down the bug?
> > PyComplex_AsCComplex is a pretty simple function. Or am I
> way off-base
> > and should be looking elsewhere?
>
> If a GUI is involved, you should try and make sure you are
> living within its thread constraints. Its possible to cause
> a crash by mixing threading up in a GUI.
>
> PyComplex_AsCComplex does indeed look simple, but my guess is
> that given the trouble you are having reproducing, there is a
> subtle reference-count bug somewhere, and quite possibly
> relating to complex numbers. Given the nature of such bugs,
> the place where the crash occurs is generally *not* the place
> with the bug.
Okay. This is probably especially true since my app doesn't handle any
complex numbers (at least not in my code). I also can't find complex
mentioned anywhere in the ADO COM lib (in gen_py) or in the _mysql.pyd C
code (which I call directly instead of using the DBAPI wrapper).
http://cvs.sourceforge.net/viewcvs.py/mysql-python/mysql/_mysqlmodule.c?
rev=1.42&view=auto
> Unfortunately, we are piling speculation on speculation.
> Personally I would get a debug build running, so a decent
> stack-trace is available, but I understand that may not be an option.
...for which I'd need vc++, right? IIRC, I'd need at least version 7?
Would "Visual Studio .NET Professional Edition 2003" be okay? I can get
that cheap from TechSoup. ;)
I'm willing to do the research if I can just get pointed in the right
direction. Thanks for the help so far!
Robert Brewer
MIS
Amor Ministries
fumanchu at amor.org
More information about the Python-win32
mailing list