Hi Marc, I finally found the bug. It had nothing to do with pywin32 (which is installed with ActiveState Python 2.7 BTW). It was an insidious change introduced with the new python-ldap-2.4.9 for 2.7 which expects CertificateRevocationList;binary as the attribute name for a CRL where CertificateRevocationList worked under the old python-ldap module. Before the correction this returned nothing which appeared as an object exception in the .dll. I thought it was the binding that was broken.
Thanks for the time, Ed On Sun, May 20, 2012 at 3:04 AM, Mark Hammond <skippy.hamm...@gmail.com>wrote: > On 20/05/2012 1:22 AM, EdShallow wrote: > >> Hi Mark, >> >> After much more testing here is some more to go on: >> >> Background again: >> - I have a VisualBasic-generated ActiveX COM object called >> capiCrypto.clsCrypto >> - I call it like this >> clsCrypto = win32com.client.Dispatch("**capiCrypto.clsCrypto") >> clsCrypto.InStringBuffer = newCert >> clsCrypto.CRLFileName = self.Request.FqdnCRL >> result = clsCrypto.**CheckCertBufferAgainstCRLFile(**) >> - it was generated on WinXP SP2 >> - It can successfully be called from Python 2.3 win32-208 without problem >> - As soon as I upgrade to Python 2.7 I get this stack trace without >> touching the dll or its registration >> 2012/05/19 10:18:12 INFO Traceback (most recent call last): >> File "cherrypy\_cphttptools.pyo", line 271, in run >> File "cherrypy\_cphttptools.pyo", line 502, in main >> File "checkcertcrld.pyw", line 113, in crlHandler >> File "CrlDispatch.pyo", line 121, in handle >> File "CheckCertCrl.pyo", line 38, in execute >> File "<COMObject capiCrypto.clsCrypto>", line 3, in >> CheckCertBufferAgainstCRLFile >> com_error: (-2147417851, 'The server threw an exception.', None, None) >> >> Now here is some strange feedback . . . >> - Knowing that everything was OK with Python 2.3, I isolated the above >> code >> in its own HTTP process and py2exe'ed it thinking py2exe would preserve >> the >> whole 2.3 call environment >> - My thought was I would call the HTTP daemon which was packaged with 2.3 >> and 208 from my 2.7 environment both in their own py2exe-created exe's one >> in 2.7 the other in 2.3 >> - So check this, the very first call to the dll in the 2.3 exe from the >> 2.7 >> exe worked !!! Then all successive calls failed ???? >> > > So you have a Python 2.3 process that accepts incoming http connections > and calls the crypto DLL, and it fails after making one call? So it should > be possible to reproduce the problem in your 2.3 environment by simulating > the incoming http connection and get the same behaviour? And are you sure > this isn't the same thing you are seeing with 2.7 - one successful call > then failure? (You didn't mention what version of pywin32 you were using > with 2.7, which could be useful info.) > > I'm afraid it just sounds like a problem with the other DLL though. > pywin32 still has a test case against a vb6 dll, so it doesn't seem a > generic problem. I'd try asking them for some help diagnosing this... > > Cheers, > > Mark > > - here is the log: >> >> 2012/05/19 08:53:28 INFO CheckCertCRL completed with TransactionStatus >> ===> 1763 and TransactionStatusString ==> Certificate Revocation Check >> failed Current time is NOT within the CRL validity period >> >> 2012/05/19 10:18:12 HTTP INFO 127.0.0.1 - POST /crlHandler HTTP/1.1 >> 2012/05/19 10:18:12 INFO Traceback (most recent call last): >> File "cherrypy\_cphttptools.pyo", line 271, in run >> File "cherrypy\_cphttptools.pyo", line 502, in main >> File "checkcertcrld.pyw", line 113, in crlHandler >> File "CrlDispatch.pyo", line 121, in handle >> File "CheckCertCrl.pyo", line 38, in execute >> File "<COMObject capiCrypto.clsCrypto>", line 3, in >> CheckCertBufferAgainstCRLFile >> com_error: (-2147417851, 'The server threw an exception.', None, None) >> >> - Note the first call which successfully checked the revocation status of >> a >> certificate and returned a 1763 indicating a successful call to the COM >> dll >> (although the cert check failed) >> - Every subsequent time I called the dll it fails ??? >> - Something happened in the environment after the first call and I have no >> clue ??? >> >> Ed >> >> >> On Mon, May 14, 2012 at 8:50 AM, Mark Hammond <mhamm...@skippinet.com.au> >> **wrote: >> >> [re-adding python-win32 - please keep replies on list] >>> >>> >>> On 14/05/2012 10:39 PM, EdShallow wrote: >>> >>> Hi Mark, >>>> >>>> Python 2.3 with pywin32-208 works. The error I receive reads >>>> "Object through and exception at line 3". >>>> >>>> >>> How do you get that error? You say "my dll throws an exception >>> immediately upon entry" - I can't reconcile that "with the error I >>> receive". What does Python do when calling your failing DLL? (ie, do >>> you >>> get a traceback? If so, please include it completely. If not, what >>> result >>> does Python get? I'm still very unclear on the context of your problem. >>> >>> >>> Un-registering and re-registering the dll does not help. >>> >>>> >>>> >>> But that's just unregistering and re-registering your DLL right? >>> >>> >>> The test was conducted on the same machine after uninstalling >>> >>>> Python and re-installing numerous combinations of Python 2.4, 2.5, 2.6, >>>> 2.7 with associated pywin32-208 thry pywin32-214. >>>> >>>> If I uninstall the newer Python and re-install Python 2.3 and >>>> pywin32-208 all is OK again. It is definitely environmental as opposed >>>> to the code. >>>> >>>> >>> Well - it's *someone's* code :) To be clear, 2.3 + pywin32 209 fails? >>> >>> Mark >>> >>> >>>> Thanks, >>>> Ed >>>> >>>> On Sun, May 13, 2012 at 9:07 PM, Mark Hammond <skippy.hamm...@gmail.com >>>> <mailto:skippy.hammond@gmail.****com <skippy.hamm...@gmail.com>>> >>>> wrote: >>>> >>>> You haven't given us enough information to help. What error do you >>>> see? What is the most recent combination of Python and pywin32 that >>>> works? >>>> >>>> Mark >>>> >>>> >>>> On 12/05/2012 10:31 PM, EdShallow wrote: >>>> >>>> Hi Folks, >>>> >>>> I have an ActiveX COM dll generated by VisualBasic 6 in >>>> WinXP. I >>>> can call it and use it successfully with Python 2.3 and >>>> pywin32-208 >>>> without problems. >>>> >>>> As soon as I upgrade either pywin32- or Python to anything >>>> itself >>>> to anything newer, my dll throws an exception immediately upon >>>> entry. >>>> >>>> Can anyone point me in a general direction with respect to >>>> addressing this incompatibility? >>>> >>>> Thanks, >>>> Ed >>>> >>>> -- >>>> Ed's Contact Information: >>>> Mobile Phone: 613-852-6410 <tel:613-852-6410> >>>> Gmail: ed.shal...@gmail.com <mailto:ed.shal...@gmail.com> >>>> <mailto:ed.shal...@gmail.com <mailto:ed.shal...@gmail.com>> >>>> VOIP Address: 107...@sip.ca1.voip.ms >>>> <mailto:107...@sip.ca1.voip.ms****> <mailto: >>>> 107...@sip.ca1.voip.ms >>>> <mailto:107...@sip.ca1.voip.ms****>__> >>>> >>>> >>>> VOIP DID#: 613-458-5004 <tel:613-458-5004> >>>> Skype ID: edward.shallow >>>> Home Phone: 613-482-2090 <tel:613-482-2090> >>>> >>>> >>>> >>>> ______________________________****___________________ >>>> python-win32 mailing list >>>> python-win32@python.org <mailto:python-win32@python.****org< >>>> python-win32@python.org> >>>> >>>>> >>>>> >>>>> http://mail.python.org/__****mailman/listinfo/python-win32<http://mail.python.org/__**mailman/listinfo/python-win32> >>>> <**http://mail.python.org/__**mailman/listinfo/python-win32<http://mail.python.org/__mailman/listinfo/python-win32> >>>> > >>>> >>>> >>>> <http://mail.python.org/****mailman/listinfo/python-win32<http://mail.python.org/**mailman/listinfo/python-win32> >>>> <**http://mail.python.org/**mailman/listinfo/python-win32<http://mail.python.org/mailman/listinfo/python-win32> >>>> > >>>> >>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>>> -- >>>> Ed's Contact Information: >>>> Mobile Phone: 613-852-6410 >>>> Gmail: ed.shal...@gmail.com <mailto:ed.shal...@gmail.com> >>>> VOIP Address: 107...@sip.ca1.voip.ms <mailto:107...@sip.ca1.voip.ms** >>>> **> >>>> >>>> VOIP DID#: 613-458-5004 >>>> Skype ID: edward.shallow >>>> Home Phone: 613-482-2090 >>>> >>>> >>>> >>> >>> >> >> >> >> ______________________________**_________________ >> python-win32 mailing list >> python-win32@python.org >> http://mail.python.org/**mailman/listinfo/python-win32<http://mail.python.org/mailman/listinfo/python-win32> >> >> > > -- Ed's Contact Information: Mobile Phone: 613-852-6410 Gmail: ed.shal...@gmail.com VOIP Address: 107...@sip.ca1.voip.ms VOIP DID#: 613-458-5004 Skype ID: edward.shallow Home Phone: 613-482-2090
_______________________________________________ python-win32 mailing list python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32