Opened 17 years ago

Closed 16 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 Changed 17 years ago by guest

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

comment:2 Changed 17 years ago by dmik

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).

comment:3 Changed 17 years ago by guest

Hello dmik,

I just want to let you know that I very much appreciate your efforts! Thanks a whole lot!

Regards Axel

comment:4 in reply to:  3 Changed 17 years ago by guest

Hello dmik,

any news regarding the timer-rewrite?

Regards Axel

comment:5 Changed 17 years ago by dmik

I'm planning to release Psi with a proper Japanese/Chinese? support soon and hope a timer rewrite will appear there as well.

comment:6 Changed 17 years ago by guest

Hi again,

Did you succeed to rewrite the timer-stuff yet?

Regards Axel

comment:7 Changed 17 years ago by guest

Hello dmik,

Are you still working on a new version?

Thanks for a live-sign!

Regards Axel

comment:8 Changed 16 years ago by dmik

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 Changed 16 years ago by dmik

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 Changed 16 years ago by guest

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 Changed 16 years ago by dmik

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 Changed 16 years ago by guest

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 Changed 16 years ago by guest

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 Changed 16 years ago by dmik

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 Changed 16 years ago by guest

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 Changed 16 years ago by dmik

Resolution: fixed
Status: newclosed

Good to hear that. Thank you for testing.

Note: See TracTickets for help on using tickets.