#30 closed defect (fixed)
epm crash when scrolling
Reported by: | abwillis | Owned by: | Andreas Schnellbacher |
---|---|---|---|
Priority: | major | Milestone: | Unsorted |
Component: | Other | Version: | 1.19 |
Keywords: | SMP | Cc: |
Description
This is not an nepmd issue, it occurs in epm with or without nepmd. When scrolling up and down epm/nepmd will crash. I am hopeful that the crash can be overcome in nepmd:
03-30-2020 20:52:50 SYS3175 PID 03c5 TID 0001 Slot 00de
D:\OS2\APPS\EPM.EXE
c0000005
0f890ea0
P1=00000001 P2=019a37c8 P3=XXXXXXXX P4=XXXXXXXX
EAX=00418010 EBX=019a0003 ECX=00000000 EDX=00000000
ESI=019a37e0 EDI=019a37c8
DS=0053 DSACC=d0f3 DSLIM=bfffffff
ES=0053 ESACC=d0f3 ESLIM=bfffffff
FS=150b FSACC=00f3 FSLIM=00000030
GS=0000 GSACC= GSLIM=
CS:EIP=005b:0f890ea0 CSACC=d0df CSLIM=bfffffff
SS:ESP=0053:00089fd0 SSACC=d0f3 SSLIM=bfffffff
EBP=00418010 FLG=00010246
ETKE603.DLL 0008:00000ea0
Change History (12)
comment:2 by , 5 years ago
With AMouse, it should be possible to limit the exception to an app or window class. That can be configured on page 5/5 of the Wheel tab.
The class name of the EMLE window is "NewEditWndClass". (I remember that I'd experimented with that, but unfortunately no more details.)
comment:3 by , 5 years ago
I find that Amouse does not work well with Thinkpad tracpoints, so I use the Single Mouse driver package. Anyhow, while I knew it was a long shot, I was hoping it could be fixed in NEPMD.
comment:4 by , 5 years ago
OK, If you already use SMouse (which uses keyboard messages), then your issue must be different from mine. I've no idea then.
comment:5 by , 5 years ago
I can reproduce this bug even with the latest ACPI Version. It is unlikely to be ACPI related.
comment:7 by , 5 years ago
I can reproduce it know:
- I see this only with large files.
- It doesn't happen here with the mouse.
- I have to grab the vertical slider and move it up and down, faster than the screen is repainted.
The good message is that apparently there exists a workaround. With 'Keep cursor on screen' disabled, I can't reproduce it anymore:
Edit -> Preferences -> Special keys -> Cursor and margins -> [ ] Keep cursor on screen
Background: There exist two callbacks in STDPROCS.E: ProcessBeginScroll and ProcessEndScroll. ProcessBeginScroll is called when a scroll action with a slider begins or when mouse wheel scrolling starts or changes its direction. ProcessEndScroll is only called when the slider is released. Probably ProcessEndScroll causes the crash, if the amount of pending calls reaches a limit. Both calls itself can't be disabled, but their effect can.
The NEPMD version is nearly unchanged compared to the EPMBBS version. A difference is that 'Keep cursor on screen' can be configured by an ini setting. The behavior is the same for me, if I comment the code of both commands out.
comment:8 by , 4 years ago
I could reproduce the crashes. It's not limited to scrolling, but sometimes it takes a few hours to reproduce it. Forget about 'Keep cursor on screen'. That won't change anything.
I had to change to an SMP system on 2020-04-04. My main machine before was 15 years old. Since then, I noticed many EPM traps with entries in epm.log and some go to popuplog.os2.
I'm now testing with the EPM executable changed to single-processor mode and had no crashes so far.
markexe [[no] mpunsafe] c:\os2\apps\epm.exe execmode [-l] [(-sp|-mp)] c:\os2\apps\epm.exe
comment:9 by , 4 years ago
OK, the single-processor mode fixes all these issues for me. Great! Refresh on very fast scrolling is not improved, but there are no traps anymore.
I've a script almost ready that will be added to the installation.
comment:10 by , 4 years ago
Owner: | set to |
---|---|
Status: | new → accepted |
Type: | enhancement → defect |
The script was checked in. It can be downloaded here. In the 'Configuration' part, one can change -sp to -mp for testing. When being executed in an EPM shell, the current EPM window is restarted.
For me, this issue is fixed. Andy and Lars, please try it out.
comment:11 by , 4 years ago
Keywords: | SMP added |
---|---|
Resolution: | → fixed |
Status: | accepted → closed |
Fixed with changeset r4008.
comment:12 by , 4 years ago
Thank you for finding that, I have not had much chance to test it but what little I have played with it, I have not had the crash.
I'd seen something similar when I'd tested Pasha's ACPI versions on a Thinkpad R61i. Whenever I reached the bottom of a file, EPM crashed. I couldn't believe that it was ACPI-related, but it was. I couldn't reproduce that with newer ACPI drivers.
Patching ETKE603.DLL without having the sources is beyond my knowledge.
I remember my workaround from many years ago for this: I've changed AMouse to use keyboard instead of scroll messages. Another option was it to use only the keyboard instead of the scroll wheel. This may apply to your issue as well.