OS/2, eCS & ArcaOS - Technical > Applications

Old problem.. any known solution ? (American Heritage Dictionary by DUX)

<< < (6/7) > >>

OS4User:

--- Quote from: Doug Bissett on May 27, 2022, 05:50:24 pm ---Others need to distribute the patches, and let the user do the work to apply them. Patches are often done automatically, by installers, when something is installed.

--- End quote ---

Seems this idea is not new. Once, I have seen ftp with patches to convert OS/2 kernel to OS/4 level. Somehow I did not pay attention to this and did not add it to my bookmarks. I tried to find it again, but unfortunately without success.

Andy Willis:
Have all the (DUX/AHD) patches been applied?  I had crashes in pmmerge.dll with DUX, however, I fixed it long enough ago I don't recall what it was... my recollection is it was the patches.

Glenn:

--- Quote from: Andy Willis on May 28, 2022, 10:34:12 pm ---Have all the (DUX/AHD) patches been applied?  I had crashes in pmmerge.dll with DUX, however, I fixed it long enough ago I don't recall what it was... my recollection is it was the patches.

--- End quote ---
I did apply all the patches I found... As mentioned previously, the remedy is worse than the disease, as applying the patches now causes the WPS to freeze when trying to start the program.

Glenn:

--- Quote from: Roderick Klein on May 26, 2022, 11:17:18 pm ---
Glenn can you put back the original version of pmmerge.dll and run the program ? Post the popuplog.os2 entry and then I might be able to tell why it crashes. Maybe a font that is installed ? I have no clue but then we MIGHT be able to trace why it crashes.

Roderick

--- End quote ---

The app not starting produces the following (do not look at the dates, I put back the original unpatched files tonight, to recreate the error message):

06-01-2022  16:07:21  SYS3175  PID 0058  TID 0001  Slot 0094
C:\AHD\AHD.EXE
c0000005
1fabd544
P1=00000002  P2=005bb000  P3=XXXXXXXX  P4=XXXXXXXX
EAX=000000e4  EBX=00039280  ECX=00000022  EDX=000081d3
ESI=000392f4  EDI=005bb000
DS=0053  DSACC=d0f3  DSLIM=5fffffff
ES=0053  ESACC=d0f3  ESLIM=5fffffff
FS=150b  FSACC=00f3  FSLIM=00000030
GS=0000  GSACC=****  GSLIM=********
CS:EIP=005b:1fabd544  CSACC=d0df  CSLIM=5fffffff
SS:ESP=0053:00039274  SSACC=d0f3  SSLIM=5fffffff
EBP=0003938c  FLG=00010206

PMMERGE.DLL 0004:0004d544


After applying the patches, when it freezes the WPS, it shows:

05-15-2022  17:04:40  SYS3170  PID 0026  TID 0001  Slot 004b
C:\OS2\PMSHELL.EXE
c0010001
1ffde411
EAX=00000002  EBX=00000000  ECX=00000000  EDX=00673720
ESI=00000000  EDI=00000000 
DS=0053  DSACC=d0f3  DSLIM=5fffffff 
ES=0053  ESACC=d0f3  ESLIM=5fffffff 
FS=150b  FSACC=00f3  FSLIM=00000030
GS=0000  GSACC=****  GSLIM=********
CS:EIP=005b:1f8f454e  CSACC=d0df  CSLIM=5fffffff
SS:ESP=0053:0004f80c  SSACC=d0f3  SSLIM=5fffffff
EBP=0004f814  FLG=00010202

DOSCALL1.DLL 0003:0000e411


Lars:
The trap in PMMERGE happens in a routine called "MoveAndXform".
It happens when copying a string via the "movsd" instruction.
The exception code is C000005 which means "XCPT_ACCESS_VIOLATION".
P1 = 2 which means XCPT_WRITE_ACCESS which means the target buffer is obviously too small to receive the string.
What's more important: "MoveAndXform" calls routines "GetFaceName" and "GetCellTransform" which seems to indicate that this this is all about using fonts and displaying them in a window.

So I think, Roderick is correct and this is a problem with using fonts. The fix might be to set a proper "default font", maybe the font name of the font that is being used is too long or some such.
I seem to remember that there was a OS2SYS.INI setting for this. An alternative might be to drop a new font onto the program window (it it opens at all).

What I would try is to properly install the fonts that come with the program. Open the fonts palette, select "edit" button, then select "Add..." button and browse to the programs dir to select "AHDPHON.AFM" and "AHDPHONI.AFM". This will install the fonts to the \PSFONTS folder.

Unfortunately, I cannot test the prog as I don't have the encyclopedia data as such.
One thing you obviously need to do is to set up env vars DUX_AHD_DATA and DUX_ENC_DATA to point to the directory where you have the encyclopedia data.

I have installed AHD_PATH_2-0 and then copied over the contents of AHD_PATH_2-02 and I don't experience any crashes but the prog will not display anything either (due to the missing encyclopedia data).

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version