Opened 18 years ago

Closed 18 years ago

Last modified 18 years ago

#25 closed task (fixed)

Port Psi to OS/2

Reported by: dmik Owned by: dmik
Priority: normal Milestone:
Component: [ports] Version:
Severity: normal Keywords: Psi
Cc:

Description (last modified by dmik)

Psi (http://psi-im.org) is one of the best jabber clients I know, and it is based on Qt. It will be really nice to have an OS/2 version of this application.

Attachments (3)

psios2-first-screenshot.png (214.3 KB ) - added by dmik 18 years ago.
see name
PSI_PackageBuilder.zip (10.6 KB ) - added by Juergen Ulbts 18 years ago.
Scripts and documentation to build WarpIN packages (*.wpi, *.exe) and ZIP archives for PSI.
japanese-warpsans.png (8.7 KB ) - added by dmik 18 years ago.
screenshot of Japanese characters (0xB5..0xBE in codepage 932) in Psi

Download all attachments as: .zip

Change History (54)

by dmik, 18 years ago

Attachment: psios2-first-screenshot.png added

see name

comment:1 by dmik, 18 years ago

Coool! I've successfully compiled Psi 0.10 for OS/2! This is a quick and dirty port and has some limitations (for example, some things like auto idle don't function yet), but it works quite nice in the most important part: I can chat :)

comment:2 by dmik, 18 years ago

Status: newassigned

I have fixed several issues in Qt (see the timeline for the last few days), so it's time for the first public alpha of Psi/2.

I've uploaded it to ftp://ftp.netlabs.org/pub/qt3/psi-0.10-os2-a1.zip. The location may be a bit incorrect, but I haven't found a way to upload it to incoming. Adrian, after you move the archive to a proper location, please report here.

comment:3 by dmik, 18 years ago

The current TODO list:

  1. Fix: unpainted vertical strip in QToolBar (to the left from the Clear chat window button)
  2. Fix: popups don't take the desktop work area size into account (appear over the xCenter widget)
  3. Fix: in the roster: press the status button (-> status popup), then press the Psi button (main menu) --> the Status button isn't unpressed
  4. Enhance: attach to ft2lib directly (usinng a configurable option)
  5. Check :chat window positions are not saved (the same is in Psi/Win)
  6. Integrate with SysTray/xCenter (tray icon)

comment:4 by Andy, 18 years ago

What would it take for me to add ssl support? Google Talk is a jabber server but requires ssl.

comment:5 by dmik, 18 years ago

There is a separately available qca-tls plugin for Psi that depends on the OpenSSL package. Once I've got/found OpenSSL for OS/2 (at least binaries and dev. libraries), there will be SSL support in Psi.

This link contains useful info: http://psi-im.org/wiki/Windows_Build_Instructions#Building_the_QCA_TLS_plugin_.28optional.29

comment:6 by dmik, 18 years ago

There is a binary package on hobbes: http://hobbes.nmsu.edu/pub/os2/util/encrypt/openssl-0.9.7a-os2-bin.zip. It requires emx though, so it'd be better to recompile it from sources using Innotek GCC.

Here some info on building OpenSSL for OS/2: http://silk.apana.org.au/apache/building-openssl.html

comment:7 by Andy, 18 years ago

I had noticed that I was loosing sound but wasn't sure it was caused by psi until I looked at my popuplog.os2 file: 07-26-2006 11:39:17 SYS3170 PID 0073 TID 0001 Slot 00b0 E:\PROGRAMS\MESSENGERS\PSIOS2\PSI.EXE c0010003 1ec9063f P1=00000003 P2=XXXXXXXX P3=XXXXXXXX P4=XXXXXXXX EAX=02a17090 EBX=050a1d28 ECX=167706fc EDX=02a17090 ESI=00000000 EDI=050a1d28 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:1ec9a7de CSACC=f0df CSLIM=ffffffff SS:ESP=0053:00a7ff8c SSACC=f0f3 SSLIM=ffffffff EBP=00a7ffb4 FLG=00012246

MMPM.DLL 0001:0006063f

comment:8 by ktk, 18 years ago

There seems to be an issue with Psi & german keyboards, I cannot enter any char that needs AltGr pressed to get it. This is for example the case for @ and #. It works just fine in any other OS/2 application.

comment:9 by dmik, 18 years ago

Andy, what driver/soundcard do you have? Fighter4 reported me that he observed similar problems with uniaud when too many events happened in Psi that caused many sounds to play simultaneously. The trap isn't in Psi code, it's in MMPM.DLL. This means that either Psi is doing something in the wrong order so that it screws up the MMPM subsystem (a rough check of used MMPM APIs didn't show anything) or that it's a bug in MMPM and/or in the driver. Fighter4 also told me that uniaud sometimes tries to play simultaneously more streams that a sound card can handle that leads to various "side" effects. This can be one of them. Please provide some more details on how to reproduce.

comment:10 by Juergen Ulbts, 18 years ago

I've created the WarpIN packages for PSI (*.wpi and *.exe) + Zip archives. They are currently here: ftp://ftp.netlabs.org/incoming/

I didn't follow the naming of the original *.zip archive for several reasons. The most important one: Dots in filenames are evil! ;) I also changed the version number a little bit (from "0.10-os2-a1" to "0-10-0a1_os2") because older version of Psi where available with revision numbers and it's most likely they will come back. It would be nice if it's possible to follow my style with future releases. More details can be found in the attached "PSI_PackageBuilder_2006-076-28.zip" that includes some *.cmd and the *.wis scripts to create the WarpIN packages and also a ZIP archive for distribution.

The directory inside the ZIP archive is will have the name from the selected directory under ".\WarpIN\Version\". Maybe this should be changed.

by Juergen Ulbts, 18 years ago

Attachment: PSI_PackageBuilder.zip added

Scripts and documentation to build WarpIN packages (*.wpi, *.exe) and ZIP archives for PSI.

comment:11 by Andy, 18 years ago

I am using Uniaud (latest testcase release) with a Soundmax

Vendor 8086h Intel Corporation Device 24C5h 82801DB/DBL AC'97 Audio Controller (ICH4/ICH4-L A1 step)

I had not heard any sounds from pci up till today where I found that it had a very low volume, necessitating me to increase my master control and therbey lower everything else. I have not recreated the crash thus far and I don't know how it happened last time as I had only realized I had no sounds but didn't really think about its causes until I saw the popuplog.os2 (I did wonder a bit at the time if it was related to psi but had no reason to suspect it other than it being new).

comment:12 by dmik, 18 years ago

Juergen, thanks for your contribution! I fully agree with you about the dots in the distro's file name. But I cannot agree about the version number for several reasons:

  1. The extra 'alpha X/beta X' status is related to the OS/2 version of Psi only. It is not correct then to apply it to the Psi version itself.
  2. Even if revision numbers come back to the official Psi releases for some reason, I see no problems to append them to the Psi version number.

On the other hand, I don't mind about appending the release date to the file name. So, I propose the following scheme (dots are replaced with _, spaces -- with -):

Psi-M_m[_R]-os2[-A]-YYYY_MM_DD

where M is the major version, m is the minor version, R is the possible revision number, A is the os2-specific version status/number.

I guess we can just rename the files you uploaded and then place it to /qt3 for distribution.

comment:13 by dmik, 18 years ago

I have contacted Kevin Smith, the official Psi maintainer, about applying OS/2 patches to the CVS tree of Psi. He told me that the Qt3 branch of Psi is discontinued. They've been using Qt4 for many months already. For this reason, I think it makes sense to create our own repo for Psi for Qt3, just to make sure the patches are not lost. Since it's not exactly known when I will find time to port Qt4 to OS/2, we'll have to stick to the Qt3 branch of Psi until then.

I don't think it's necessary to create a separate svn repo for Psi. I will make the http://svn.netlabs.org/repos/qt3/apps/psi subdir and import Psi there. The WPI package builder will go there as well.

comment:14 by Juergen Ulbts, 18 years ago

Hi Dmitry!

I would appriciate if you could follow the ISO-8601 date format notation which is: "YYYY-MM-DD" and not with an underscore. As for the version numbering I thought that the "os2" in the name is enough to show that it's not the standard Psi. You could modify the script in the "PSI_PackageBuilder.zip" file to use your naming (it's easy). :)

Problem - WarpIN Package version numbering: If [_R] is missing I assume it's "0". We need this in the WarpIN archive because it will show a warning if the number of a "new" version looks like an "old" one (see below). I don't know if/how we can get around it. Having that said my "0\10\0a1" may not have been a good idea either. I just checked the number displayed in WarpIN and there my "0a1" is just 0. The full version number displayed is "0.10.0.0".

Finally QT4: I've already read that the developers moved to 4.x and I also read yesterday at the Trolltech website that there is a preview of QT 4.2 available (release scheduled for the 4th quarter 2006). I assume QT 3.3.1 will be finished before any attempts to port QT 4.2 will be made. As all applications/projects I recently checked (e.g. http://openwengo.org/ with their "NG" SIP VoIP application) have already moved to QT 4.x this would make sense. I hope that most of the stuff working in QT 3.3.1 can be moved to QT 4.2 without too much headache, so only additional feature have to be included.

comment:15 by dmik, 18 years ago

Juergen, yep, I've now recalled how WarpIn works with version numbering. But I don't see the point of having the WarpIn's version of version in the name. a1 is more informative I guess. However, it makes sence to define a PSI -> WarpIn version mapping scheme. In Psi, we have M.m[.R=0]-os2[-A], which can be expressed just like M.m.R.N, where N is the sequentially increased number (1 for a1, 2 for b1,.. X for the release). Later, I may apply some fixes to Psi itself (there are few Psi bugs I'd like to fix) and will increase R to indicate this (makes sence until we've got Qt4 and therefore Psi 0.11 and higher).

Using the ISO date format is not a problem for me :)

comment:16 by Juergen Ulbts, 18 years ago

Hi Dmitry, sounds good to use the M.m.R.N numbering for the WarpIN Version. I think that's all for now.

comment:17 by Andy, 18 years ago

If it is possible to make volume adjustable it would be very nice (or at the least increase it some). As it is, to hear the sounds from psi I have to have my master volume so high that warpzilla sounds (another app with no volume control) make people across the room jump.

comment:18 by dmik, 18 years ago

Andy, I fully understand your problem, but the real problem is that there is no any mixer API in Qt. So, the only solution is to use MMPM calls directly from Psi (as a platform-dependent code). Will do it later after more important tasks are done.

comment:19 by dmik, 18 years ago

Moreover, there is no such concept as the application volume. So, making the volume adjustable will actually require some Qt hacks (via unportable interfaces). I'll think it over.

comment:20 by Andy, 18 years ago

I have been seeing a lot of cases where psi is using 99.9% cpu. It appears to occur most often when something occurs with the yahoo gateway (yahoo.jabber.anywise.com). It may well be that something is misconfigured on the gateway but if possible the client should protect the system from such a thing. I have lost access to the WPS from it before and even was unable to bring up CADH requiring me to hit Ctrl-Alt-Del a few more times to get it to reboot. One small issue... I was crashing just about each time I tried to open a new chat window (whether initiating or receiving). I finally recalled that I had turned on the use of the Innotek Font Engine. Turning it off cleared up the crashes. It would be nice to allow them to coexist. (I was having the previous problem prior to turning on the Font Engine).

comment:21 by dmik, 18 years ago

The new version of Psi for OS/2 0.10 Beta 1 has been released. Three kinds of distribution archives (zip, wpi, exe) are available at ftp://ftp.netlabs.org/pub/qt3/psi. Beta 1 is mainly a bug fix release (the list of changes is in the Readme-OS2.txt file).

Adrian, please announce it in the news.

P.S. I decided to remove the date part from the archives' names, because they look way too long with it.

comment:22 by dmik, 18 years ago

Andy, Beta 1 should fix both of your problems. Both were actually Qt malfunctions/bugs. Concerning the crash when opening a new chat window, it was a GCC optimizer error, so I don't think it's related to the Font Engine (at least I had a crash when not using it as well). But probably there is a different issue, so please recheck.

comment:23 by dmik, 18 years ago

One more note about the CPU usage. I've reduced it in some places (related to networking) in Qt, but the real problem is the way Psi works. It parses incoming XML on the main GUI thread and if there is a large incoming packet it may take quite a while (up to several seconds) which completely freezes the UI and the system. For example, when you run Service Discovery at jabber.ru it will freeze for upto 2,5 seconds (on my PD 920) at the beginning of the discovery process. So, it really depends on the server and service you use. The proper way is either to parse XML on a separate thread (with a lower priorty) or to continue processing the event loop frequently inside the parsing routine (may be I'll manage myself to implement that one day).

Btw, Psi for Windows behaves just exactly the same regarding the XML parsing and 100% CPU load (it freezes the UI in the same places but doesn't freeze the system due to a different input event queue model). So, it's always a good practice to test Psi/Win32 when you've found some problem to determine whether it is OS/2-only or not.

comment:24 by achain, 18 years ago

I'm very interested in this Psi ports. But both a1 and b1 don't start at here. Window frame appears then it hangs up with 100% CPU. PsiData and empty subdirectories has been created under %home.

Screenshot of the symptom: http://mikoto.org/files/bin.php?id=1

I tried them on several OS/2 boxes but I got always same results. My OS/2 is MCP2 Japanese edition with XRCJ004 applied. Libc061.dll is installed, of course.

Do I have anything else to check?

comment:25 by dmik, 18 years ago

achain, thanks for the report. I'm not exactly sure of what happens but I guess it's something related to font rendering routines. Qt has never been tested on Japanese OSes so that must be the the reason. Are you familiar with C++ programming a bit? If yes, you could checkout the current Qt/2 trunk from the SVN (instructions are on the first page), download GCC + ILINK + GNU Make (see http://svn.netlabs.org/repos/qt3/trunk/os2-doc/index.html) and build Qt + tutorial + examples on your machine. Running various examples could give us a hint. If it's too difficult for you, I can send you a couple of simple testcases for the same purpose.

comment:26 by achain, 18 years ago

Okay I have built Qt tutorials/examples and start looking at them. All tutorials work fine. Some examples crash with SYS3184 e.g. when I press "Select font..." of xform.exe. I wonder this is the root of the problem of Psi crash or not, but obviously Qt font stuff has a problem on Japanese OS/2. I'll look into more details.

comment:27 by Sergey, 18 years ago

psi doesnt connect if OS/2 builtin socks client enabled.

also its not possible to send files while socks server enabled in PSI connection config for account.

comment:28 by dmik, 18 years ago

achain, that's what I guessed. Then we have two options:

  1. You give me a link to a Japanese OS/2 ISO image (suitable for installing by a non-japanese person, e.g. me :)
  2. You try to debug into the problem yourself...

comment:29 by dmik, 18 years ago

Sergey, unfortunately, I'm not familiar with the SOCKS stuff. Can you give me more details on how can I reproduce the problem here (what I need to set up SOCKS, how to setup it, where to connect from Psi etc.)?

And what do you mean by "socks server enabled in PSI connection config for account"? "Manually Specify Server Host/Port"? "Data Transfer Proxy"? Again, more details, please.

comment:30 by Sergey, 18 years ago

  1. Builtin socks:

%ETC%\socks.cfg

%ETC%\socks.env

socks.cfg (sample)

direct 192.168.0.0 255.255.0.0

direct 10.0.0.0 255.0.0.0

direct 195.12.0.0 255.255.0.0

direct 62.177.0.0 255.255.0.0

direct 82.195.0.0 255.255.0.0

sockd @=62.33.x.x 0.0.0.0 255.255.0.0 *= *=

socks.env (sample)

socks_flag on

socks_user

socks_password

socks_server 62.33.x.x

socks_domain sample.dom

socks_ns 62.177.x.x

Specify in SPI setup "Proxy:none" and you should see no connection to jabber server. Jeti/2 does using this config.

  1. Setup socks proxy in account settings.

Use it in "Connection" for your jabber account.

Try to send/recv file to/from any jabber user in yr list. Here I cant success with it. Jeti/2 does perfectly.

Im behind firewall.

PS. About "Raise roster window on event" is it possible not to set focus to roster? Just raise w/o focus set to it...

Thanks

comment:31 by achain, 18 years ago

I look into the code with vac365 debugger. SYS3184(divided by 0) happens at the line qstring.cpp:6994

QCString qt_os2QString2MB( const QString& s, int uclen )
...
    while ( ucLeft ) {
        rc = UniUconvFromUcs ( uo, &ucPtr, &ucLeft, (void**)&mbPtr, &mbLeft, &nonIdent );
        if ( rc == ULS_BUFFERFULL ) {
            size_t mbDone = mblen - mbLeft;
            size_t ucDone = uclen - ucLeft;
            // assume that ucLeft/mbLeft is an approximation of ucDone/mbDone
    --->    mblen = mbDone + (ucLeft * mbDone) / ucDone;
            mbBuf.resize( mblen + 1 );
            mbPtr = mbBuf.data() + mbDone;
        } else if ( rc != ULS_SUCCESS ) {
...

I can't get the actual value by the debugger but the ucDone seems to be 0. This shows that ucLeft is equal to uclen after the UniUconvFromUcs(). My guess is that this the number of element seems increase by converting from UCS string to native string and then only output buffer (mbBuf) is shortage.

Tentatively, I changed

    size_t mblen = uclen;
    QCString mbBuf( mblen + 1 );

to

    size_t mblen = uclen * 2;
    QCString mbBuf( mblen + 1 );

then xframe.exe could avoid the SYS3184.

P.S. I will prepare OS/2-jp image for dmik this weekend.

comment:32 by dmik, 18 years ago

Sergey, can you please try some other app using libc061.dll through your socks? For example, the SVN client (http://www.smedley.info/os2ports/subversion.html). To be sure the proble is in Qt, not in libc.

Also, have you tried PSI/2 Alpha 1? Does it not work too?

comment:33 by dmik, 18 years ago

achain, you found the right place. I've committed a slightly better patch (that will also work if some Unicode char requires more than two bytes in the local code page). Pleas checkout and test -- SYS3184 should completely go away.

I suppose that this fix doesn't solve the Psi hang on startup on your machine, right? If so, what about the xform example? Does its font dialog work correctly? Can you successfully select all installed fonts?

comment:34 by achain, 18 years ago

dmik, yes, the patched Qt library no longer crashes with SY3184. I can select any fonts in xform's font dialog though DBCS font names are broken.

screenshot: http://mikoto.org/files/article.php?id=2

I wonder how to verify Psi with the patched Qt library. I built Qt dll with name "qpsi" and replaced qpsi.dll of Psi package with it. Is this correct way? Psi.exe generated two windows on WPS only for 0.1 second then quit without error reporting. I couldn't verify the original problem...

I have difficulties to create OS/2-jp image for non-japanese people. Instead of that, I propose to use eCSen. I can reproduce the psi hang-up on eCS 2.0 beta 2 English edition with following two additional OS configurations.

  1. While installing eCS, select "Advanced installation" and install all international fonts.
  2. After eCS installed, modify config.sys to use codepage 932 (e.g. CODEPAGE=850,437 to CODEPAGE=932,437), though this makes error SYS1729 while booting.

comment:35 by dmik, 18 years ago

Since the patch didn't break the Qt DLL binary compatibility, the thing you did is the correct way to use it with Psi. You can try to redirect stderr to a file when running psi.exe -- if there is some trap recognized by libc061.dll, it will catch it and print the trap info to stderr (instead of letting OS/2 to put it to POPUPLOG.OS2).

Japanese font names are shown incorrectly most likely because there is a bug in the font glyph width/bearing calculation code for DBCS fonts. I have eCS 2.0 beta 2 EN. What you propose sounds like a possible way to reproduce the problem. I'll try it.

comment:36 by komh, 18 years ago

2 dmik both alpha & beta do not work. considering libc61: I have

Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.9a1) Gecko/20060531 SeaMonkey/1.5a it uses 061 libc and news, in it, work fine.

So looks like its psi err/feature...

Also there I have a wish about PSI chat logs... Better to tell it now or when?

comment:37 by dmik, 18 years ago

Ok, it's not libc061 then. Then please try to use Psi 0.10 for Win32 through your socks server. I just cannot guess how Qt/2 can influence that (from the Qt side it's all just TCP sockets). It's hard for me to reproduce it here because I have no socks server around.

What about "Raise roster window on event", I agree to your complain and will try to improve that. You can tell about your wish regarding chat logs (just to have it mentioned somewhere) however I'm not sure when I'm ready to improve the Psi functionality by itself.

comment:38 by axel.hagedorn@…, 18 years ago

Cannot say if this is a defect of the port or problems with other apps that Psi brings up. But since I see things with more than just one app it seems to be more on the Psi side...

When Psi is up and running, the Unread-Icon in of a new mail in PMMail does not automatically switch to read anymore when the mail is viewed in the preview pane. - If you shut down Psi, it works again.

When Psi is up and running, the animated train-symbol that can be seen when moving or copying a file with EFCommander is not displayed. - Again, if you switch off Psi, next copy job shows it again.

When Psi is up and running, you cannot rename files anymore in EFCommander by clicking on the filename twice. - Switch off Psi and it works again.

This is while working with Beta 1 of Psi.

Regards Axel

comment:39 by dmik, 18 years ago

Axel, as for now, I have no idea what causes this behavior. I've got one report that sounds like something similar: ticket:26. I did observe neither of these effects but I'll try more. Please mention the version of OS/2 and all other related apps you're using.

comment:40 by dmik, 18 years ago

I've just downloaded EFCommander 2.34 and tried it. Running Psi doesn't affect the train animation no matter what I do (start copying before or after starting Psi). Also, I can rename files by a click with no problem. The only reason that I can think of is that your system somehow runs out of the certain kind of PM resources when you run Psi -- in particular, window timers. I'm pretty sure all this stuff (PMMail and train icons, the rename action) is done using timers. Have you tried Psi/2 Alpha 1? Is the effect the same? Does it also happen right after a clean reboot, when you run the first copy of EFCommander and Psi?

Anyway, if you are not lucky to find a reason in your system's configuration, I can prepare a simple testcase for you that prints some timer statistics... And again, if you have some C++ experience, you can checkout the current Qt trunk from SVN (the how-to has already been discussed above), build a debug version and run various examples (using timers) to see what happens. This can really help.

comment:41 by dmik, 18 years ago

achain, first of all I was little bit wrong about using the custom build of qt.dll with Psi. I forgot that Psi uses a special build of Qt with workspace and canvas modules disabled. So if you built a full version it would not work because of the binary incompatibility (most likely causing a trap). You should disable these modules using the configure script and then it should work fine (but please don't distribute the patched version widely if it works ok for you -- I'll release a new beta soon).

I've got the 932 codepage working on my eCS 2.0 beta 2 and did some tests. As I already mentioned revision 119 of Qt/2 works just fine with Psi using this codepage, see the attached screenshot (I used bytes 0xB5..0xBE from a file to produce Japanese characters there). However, there are still some problems with codepont widths for some chars (DBCS ones, as I undertand). If I open the Qt font dialog, select Times New Roman MT 30 and select, say, the Katakana or Han script (which produces 41 61 42 62 83 4F 83 5F 83 6F 83 80 and 41 61 42 62 90 9F E4 70 8C 65 E8 D9 byte sequences in the Sample field, respectively), I get Japanese characters overlaid each other. I'll dig into this problem a bit later. If you have some useful info about the DBCS internals, let me know.

by dmik, 18 years ago

Attachment: japanese-warpsans.png added

screenshot of Japanese characters (0xB5..0xBE in codepage 932) in Psi

comment:42 by Sergey, 18 years ago

  1. SOCKS... The problem appear only with OS/2 builtin socks client. Cant reproduce this err on win.
  1. Wish about logs... Suppose we have: 111@….1.1 111@….2.2 (it was done in sake of stability, if one of gates will be down) So we have 2 different log files for this idents. Would be nice to have ONE log file, based on <number@proto> idetn.

funny how formating works here...

comment:43 by achain, 18 years ago

dmik, thanks for the info. I built custom qpsi.dll and now psi beta 1 is up and running well with it on MCP2 Japanese edition. And I can chat with others through local jabber server.

Screenshot: http://mikoto.org/files/bin.php?id=3

I see DBCS overlaid too. And also I cannot put chars to textbox via IME(Imput Method Editor). I'm looking around QFontEnginePM::stringToCMap but I'm not familiar with OS/2 PM system so I will call someone to see these problems.

I think it is better now to open another ticket for these DBCS problems because these symptoms are not in Psi but in Qt3.

comment:44 by axel.hagedorn@…, 18 years ago

dmik, thanks for looking into this matter. I did some further testing with the following observations:

  • I could not reproduce the problem from ticket #26 (btw, sorry for opening #27)
  • your suggestion about a resource-problem seems to be it, bacause by closing one or the other app, at least PMMail got back the automatic unread to read icon change (it was enough to close WarpAMP for example)

also the filename edit-function was working again in EFCommander after closing WarpAMP - for the train I also had to close Emperoar [that does not mean, that just these two apps are interfering somehow - these were just the ones I identified first]

  • i found another app that is showing problems when Psi is running: XPager from XWorkplace (1.0.5) -> I have three desktops set up - once you started Psi, the XPager Control-Window does not get updated anymore and you can only switch between desktops via the control-window by clicking on the background of a virtual desktop inside the control-window, clicking on a small app-window does not work anymore

and this behaviour can be seen regardless of what other programs i close or don't even start!!!

  • a general observation: the problems start, when psi finishes its connection - while the icons of my accounts are still flashing, everything works
  • the problems occour even right after a rebootwhen loading the progs for the first time
  • now a big question for me is - how can I find out, how many timers there are available and can I change it? (with a setting similar to threads=xxx for example), is maybe theseus able to tell me something about it?

I wouldn't mind playing around with the source but I must admit that I have never used timers yet. If it would be possible for you to build such a test version that tells us something about the timer issue I would very much appreciate that!

  • some data about my system: It's basically a Warp 4.5 with fix 17 and some higher fixes that were available (up to CP2 Fix 5) applied manually. Kernel 14.104a W4

The lowest workload after startup is around 45 Tasks, 70 Processes and 300 Threads, 500MB RAM used, 1Gig left - but already enough to get the seen problems The related apps-versions are: WarpAMP b4, Emperoar 1.08r, EFCommander 2.34, PMMail/2 2.20.2382, Fx 1.5.0.5,XWP 1.0.5

  • the only app that was able to eat up my system's ressources (mainly file-handles) was the Java program Phex so far (after running for more than 24 hours) - but even that one has improved in last couple of versions

besides that I can run virtually as many other programs as my memory can live with without running into problems like these.

All in all - I guess I'm a bit lost - but willing to track down and eliminate the problem, cause Psi is the program I have been waiting for for a long time already since pwICQ did not work anymore after the latest protocol changes by ICQ

Thanks for any help or hints you might be able to provide! Axel

comment:45 by axel.hagedorn@…, 18 years ago

One important thing that I forgot to mention:

  • these problems do NOT occour with Alpha1! - though the Alpha version has some other problems of course - the worst one is that it blocks the WPS for quite some time after starting it.

Regards Axel

comment:46 by Andy, 18 years ago

I wondered what was causing the xpager switching to act up but hadn't had time to track it down.

comment:47 by dmik, 18 years ago

Axel, I confirm the timer issue (got an evidence from another reporter). Seems that most of your problems are caused by that. Will try to fix it and send you a test case.

Sergey, please tell me whether chat works when you set Proxy to Socks5 in the Connection settigs. Do you mean that Psi (with Proxy:None) doesn't connect to a jabber server that matches the 'direct' rule of your socks.cfg when the socks client is enabled or what? What about the file transfer, it seems that Psi ignores any Proxy settings and always wants the direct connection by its design (need to look at the sources deeper in order to find that out). So in this case, this problem is not OS/2 specific. Unfortunately, I don't have so much time to enhance Psi itself so I cannot promice it will be fixed by me in the near feature.

I understand your wish about logging, but I'm afraid it's not easy to implement what you want. The problem is that Psi cannot make a safe assumption that 111@icq.111 and 111@icq.222 is the same user in the same network. icq.111 and icq.222 are just two different gates for it (consider that icq.222 is a gate to some private ICQ network).

achain, I've created ticket:28 for tracking the DBCS problem.

comment:48 by dmik, 18 years ago

The timer resource leak issue should have been fixed now. Here is the test dll for Psi: ftp://ftp.netlabs.org/pub/qt3/psi/qpsi_dll_b1_timers_fix.zip. Axel, please check it to see whether your problems have gone. You should download the zip and unpack it to the Psi installation directory (over the original qpsi.dll).

comment:49 by axel.hagedorn@…, 18 years ago

dmik, problems are fixed!I tested all issues I had and could notsee any of them anymore. Great job! Only thing that I still noticed is that when the connection to the icq transport is successfully established, the wps is quite unresponsive for about 2 or three seconds. But I would not say that's an issue since it happes just at startup (if the transport isn't unstable). Thanks a whole lot for the fix - now Psi will be placed in my autostart folder :-)

comment:50 by dmik, 18 years ago

Resolution: fixed
Status: assignedclosed

Adrian has created a separate repository for for OS/2 ports of Qt-based applications where I committed the Psi source code including all current OS/2-related patches. There is also a Trac system, http://svn.netlabs.org/qtapps, that acts like a home page for all applications. The individual Psi page is http://svn.netlabs.org/qtapps/wiki/Psi.

Please report all future bugs and feature requests related to Psi/2 into the ticket system at http://svn.netlabs.org/qtapps/ using 'psi' as the component name.

Sergey, since your problem doesn't seem to be resolved yet, I've moved our discussion to a separate ticket here: http://svn.netlabs.org/qtapps/ticket/1.

Axel, as I found, the unresponsivity of Psi is a cross-platform thing. See my comment above (08/19/06 13:01:49) about the '100 CPU usage'. At least, I experience exactly the same thing at exactly the same points of time with Psi 0.10 under Win32.

comment:51 by dmik, 18 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.