On Monday 29 October 2007 15:26:17 -0400, Jason Hihn wrote: > I have an application that works 90% of the time. It is rock-solid on > desktops, but the 10% is laptop installed base. The laptops seem to have > two issues: > > On 1 computer in particular, python.exe crashes whenever you open a > document outside of the application, such as an Excel file, but it does nto > crash when a browser is opening cache files. Right after the double click > but before excel has actually opened, the application crash dialog comes > up. This violates the notion of private address space and process > separation. (This is on XP.)
I have no idea how you would track down this kind of bug. If it's a Python rather than PyQt problem, you might get some answers on one of the python.org hosted mailing lists. :-( > The other crazy problem is with QHttp, as far as I can tell. We have a > function that does a simple get() to obtain the latest version number of > the software (to see if an update is available) in the "background". This > request is performed, but it seems when the response is received it crashes > the program. Weirder yet, the affected laptops seem to have Verizon > wireless cards, but not in every case, just most of them. It does not seem > to matter if they are using VZW or a CAT5 cable. See my suggestion below, but bear in mind that it may not help if there's something fundamentally wrong with some other software or hardware. > I can't imagine what could be causing these issues, I am hoping someone out > there could see a potential conflict, or some GIL knowledge that I am > lacking, or if there is some debugging technique that I can use. If you can produce a minimal working example that exhibits the problem then that might help. If it's a bug in Qt then it would help if the example is written in C++, but the HTTP example supplied with Qt might serve this purpose nicely. > AFAIK, all this is happening in one thread. The illusion is multitasking > is created by signals/slots. The crashes were reported in the original > version using 4.2.3, and are still present in 4.3.1. > > Update code: > > self.x=QHttp('www.mysite.com') > self.buffer=QBuffer(self.bytes, self.x) > > self.buffer.open(QIODevice.ReadWrite) > QObject.connect(self.x, SIGNAL('done(bool)'), self.versionCheckDone) > self.x.get('/version.txt') > > def versionCheckDone(self, b): > > data=str(self.x.readAll()) > print 'data:', data Here, I think you should probably read the contents of the buffer instead: def versionCheckDone(self, b): data=str(self.buffer.data()) print 'data:', data You could also seek and read the buffer if you prefer to do things that way. David _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt