Opened 18 years ago
Closed 17 years ago
#8 closed defect (fixed)
Still Timer-Problems
Reported by: | guest | Owned by: | dmik |
---|---|---|---|
Priority: | major | Component: | psi |
Version: | psios2-0.10.1 | Keywords: | timer |
Cc: | axel.hagedorn@… |
Description
Hi dmik!
I still have problems with Psi leaking timers or at least using too many. You fixed the problems I had with quite a few applications when I first reported it. But I'm still having problems with one: FamilyTree 1.2e (Buildt with VAC++ 3 - if that is helpful to know). Depending on how long Psi is running and on how many contacts are active or how many chats have been taken place FamilyTree crashes or does not even start. Sometimes it crashes with "Feedback" : WINSTARTTIMER: UNK 20F9 E or just with a POPUPLOG Entry like this one:
01-14-2007 20:51:30 SYS3170 PID 00ac TID 0001 Slot 00e5 G:\FAMILYTREE\FTREE.EXE c0010001 1ffdc541 EAX=00000000 EBX=00623aac ECX=00222e70 EDX=001c358c ESI=00000000 EDI=00296a60 DS=0053 DSACC=f0f3 DSLIM=ffffffff ES=0053 ESACC=f0f3 ESLIM=ffffffff FS=150b FSACC=00f3 FSLIM=00000030 GS=0000 GSACC= GSLIM= CS:EIP=005b:001716f8 CSACC=f0df CSLIM=ffffffff SS:ESP=0053:002969ac SSACC=f0f3 SSLIM=ffffffff EBP=00296a1c FLG=00012202
DOSCALL1.DLL 0003:0000c541
(Don't know if that is of any help)
Not knowing what you did to improve the situation - may I ask if there is any more room for improvement? Any chance to check if Psi can be trained not to eat up that many timers?
Best regards Axel
Change History (16)
comment:1 by , 18 years ago
comment:2 by , 18 years ago
Yes, I can confirm the problem existence. The reason is that (I was shocked once I tried it) timer resources in PM are global and very limited: here I can create no more than 28 timers (or so) at a time, and all PM programs have to share this amount. Probably, the programs you've mentioned above just don't (always) check for timer creation errors (0x20F9 is PMERR_RESOURCE_DEPLETION btw), or may be PM doesn't handle its own limits properly (I don't have an idea of what place in DOSCALL1.DLL can it be).
Anyway, the only improvement to Qt that will really help to solve conflicts with other programs is to reimplement the PM timer functionality on my own using DosStartTimer() (provided, of course, that it is free of the above limitations). This is not very difficult, but requires some time (and one more dedicated thread per every Qt app). I cannot tell exactly when I'm able to implement it (but I'll try to do it soon).
follow-up: 4 comment:3 by , 18 years ago
Hello dmik,
I just want to let you know that I very much appreciate your efforts! Thanks a whole lot!
Regards Axel
comment:5 by , 18 years ago
I'm planning to release Psi with a proper Japanese/Chinese support soon and hope a timer rewrite will appear there as well.
comment:7 by , 17 years ago
Hello dmik,
Are you still working on a new version?
Thanks for a live-sign!
Regards Axel
comment:8 by , 17 years ago
Since this is a generic Qt issue, I've created a separate ticket http://svn.netlabs.org/qt3/ticket/35 to track it. This defect will act like a test case later.
comment:9 by , 17 years ago
Here is a testcase of the new timer implementation: ftp://ftp.dmik.org/pub/common/qtapps/psi/test/psios2-0_10_2-dev-os2-timer_fix.zip.
Please test it and report back here if it solves the problem or not.
comment:10 by , 17 years ago
Thanks a lot for your work dmik!
But I have to report that this version does not want to play with me. It starts up and immediately closes again without any errormessage or log-entry.
I noticed that qpsi.dll is missing in the package. Can this be just a version conflict since I have to use the old dll?
Regards Axel
comment:11 by , 17 years ago
Oh, sorry, I forgot to put the new qpsi.dll inside. Please try this ftp://ftp.dmik.org/pub/common/qtapps/psi/test/psios2-0_10_2-dev-os2-timer_fix_2.zip.
Also keep in mind that it needs libc063.dll (ftp://ftp.netlabs.org/pub/gcc/libc-0.6.3-csd3.zip).
comment:12 by , 17 years ago
Yessss!
Psi found its way back to my Autostart-folder! No anomalies whatsoever yet! Seems to work just perfectly - even after several hours and running these conflicting applications in parallel.
Great work! Thanks a lot!
I will report again after a week of usage....
Axel
comment:13 by , 17 years ago
Until now I had this effect twice now: In Firefox (PmWFx2.0.0.12) the arrow keys did not work anymore inside a text-field (like the one I'm just typing this message in). Closing Psi/2 immediately fixed it. The second time (which was just minutes ago) Psi was running for 6 hours already. FF was just started half an hour ago. Axel
comment:14 by , 17 years ago
Chances are low that it's related to Psi/2 somehow. I see this kind of things in Firefox from time to time (I even mean Firefox for Windows here). It's some sort of cross-platform focus issue in the Mozilla GUI toolkit (GECKO it is called AFAIR). So what you experienced is most likely a coincident (closing Psi/2 could have triggered some system message that resurrected arrow keys in Firefox).
comment:15 by , 17 years ago
Hi dmik,
I had Psi/2 now running for two weeks - always autostarted and left up all the time - and I definitely don't have any timer issue until now!!! Regarding the Firefox-Problem you're most probably right that it's not connected. Didn't have the prob again.
All in all I'd say marvellous work! Finally Psi/2 can be left open all the time.
Thanks a whole lot! Axel
comment:16 by , 17 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Good to hear that. Thank you for testing.
Hello dmik!
Any chance you will have a look at this problem again? Or at least any chance for a new build of Psi based on newest qt code?
I have further sporadic crashes of PMMail/2 if Psi/2 is up with two active accounts. I just did a couple of tests and PMMail crashed three times in row while just writing a mail. When I ended Psi/2 PMMail/2 did not suffer from any instability anymore for quite some mails already.
This is the POPUPLOG Entry of one of the crashes:
02-06-2007 19:47:16 SYS3175 PID 0201 TID 0001 Slot 00c8 I:\PMMAIL\PMMAIL.EXE c0000005 80000713 P1=00000001 P2=80000713 P3=XXXXXXXX P4=XXXXXXXX EAX=00000000 EBX=00181be4 ECX=00101438 EDX=00181be4 ESI=00101414 EDI=00000038 DS=0053 DSACC=f0f3 DSLIM=ffffffff ES=0053 ESACC=f0f3 ESLIM=ffffffff FS=150b FSACC=00f3 FSLIM=00000030 GS=0000 GSACC= GSLIM= CS:EIP=005b:000bbcbc CSACC=f0df CSLIM=ffffffff SS:ESP=0053:00101220 SSACC=f0f3 SSLIM=ffffffff EBP=0010123c FLG=00012202
02-06-2007 19:47:16 SYS3170 PID 0201 TID 0003 Slot 0100 I:\PMMAIL\PMMAIL.EXE c0010002 1ffdc541 P1=00000001 P2=XXXXXXXX P3=XXXXXXXX P4=XXXXXXXX EAX=00000000 EBX=0081ffec ECX=0082ee84 EDX=0081ffec ESI=0082ee60 EDI=00000038 DS=0053 DSACC=f0f3 DSLIM=ffffffff ES=0053 ESACC=f0f3 ESLIM=ffffffff FS=150b FSACC=00f3 FSLIM=00000030 GS=0000 GSACC= GSLIM= CS:EIP=005b:000bbcbc CSACC=f0df CSLIM=ffffffff SS:ESP=0053:0082ec74 SSACC=f0f3 SSLIM=ffffffff EBP=0082ec90 FLG=00012202
DOSCALL1.DLL 0003:0000c541
02-06-2007 19:47:16 SYS3175 PID 0201 TID 0001 Slot 00c8 I:\PMMAIL\PMMAIL.EXE c0000005 80000713 P1=00000001 P2=80000713 P3=XXXXXXXX P4=XXXXXXXX EAX=02e701e7 EBX=00000000 ECX=00000000 EDX=00000000 ESI=00000000 EDI=00000000 DS=0053 DSACC=f0f3 DSLIM=ffffffff ES=0053 ESACC=f0f3 ESLIM=ffffffff FS=150b FSACC=00f3 FSLIM=00000030 GS=0000 GSACC= GSLIM= CS:EIP=005b:000af91f CSACC=f0df CSLIM=ffffffff SS:ESP=0053:00181bc4 SSACC=f0f3 SSLIM=ffffffff EBP=00181bd8 FLG=00012206
Regards Axel