Keyboard Shortcuts
ctrl + shift + ? :
Show all keyboard shortcuts
ctrl + g :
Navigate to a group
ctrl + shift + f :
Find
ctrl + / :
Quick actions
esc to dismiss
Likes
Search
DIRECTMAP issue
Hello,
When I run DISKMAP again for the USER DIRECT FILE (adding only one new mini-disk (3380 001 for 121), I'm getting the following error: 01:56:39 ? ? ? ? ?PASCAL ? ? ?192 ? ? ?3350 ? 00006 ? ?00025 ? ?00020
01:56:41 ? ? 99 *-* ?start = start + 0 ? ? ? ? ? ? ? /* Suppress leading 0s */
01:56:41 Error 41 running diskmap, line 99: Bad arithmetic conversion
01:56:41 Ready(20041); T=0.87/0.97 01:56:41
The next line in the directory is: MDISK ? 193 3350 026 060 VM50-8 MR ? ALL ? ? ?WRITE ? ?MULT Just wondering if anyone else has seen this issue. Bertram Moshier WB8ERT |
>> Just wondering if anyone else has seen this issue.
Yes, I have seen this issue, when using SDL Hercules. My solution to it is to uncomment the line # ECPSVM ? ? ? ?DISABLE DISP1 DISP2 in the file vm370ce.conf. I don't remember where I learned this (lucky?) "work around". I am not aware of possible side effects of it, as I rarely use SDL Hercules with VM/370 CE. Cheers, René FERLAND, Montréal |
Hello, What version of Hercules do you use? Bert On Tue, May 21, 2024, 05:36 René Ferland via <ferland.rene=[email protected]> wrote: >> Just wondering if anyone else has seen this issue. |
On Tue, May 21, 2024 at 06:36 René Ferland via <ferland.rene=[email protected]> wrote: >> Just wondering if anyone else has seen this issue. I believe it is mentioned in the VM/370 Community Edition readme file, specifically citing the DISKMAP command. I am not aware of possible side effects of it, Turning off the DISP1 and DISP2 Extended CP Assist instructions makes the process of dispatching a virtual machine slower.? So just about everything in a VM system takes more time to run.? In my opinion, it's not a ?dramatic effect, and my laptop is still faster than and 370 I worked on. The problem is well documented at ? , but the summary is that these ECPS instructions damage the vm's floating point registers, that the VM/370CE Rexx implementation uses FPRs heavily, and that DISKMAP is a Rexx program. Ross |
贬别濒濒辞?搁别苍é, I'm wondering what's going on. I'm using version 4.7.0.11119-SDL-gf7d2360a, but the comments say this is for pre-4.4.0. Did it get broken again by the time 4.7 rolled around?
I'll check how it runs with ECPSVM disabled. Bertram Moshier of Chicago WB8ERT On Tue, May 21, 2024 at 5:36?AM René Ferland via <ferland.rene=[email protected]> wrote: >> Just wondering if anyone else has seen this issue. |
On Tue, May 21, 2024 at 17:49 Bertram Moshier via <herc370390vm=[email protected]> wrote:
No.? It was still broken - the previous fix was insufficient.? There is a good fix in the current "develop" branch of SDL Hyperion, but it didn't happen in time for 4.7.
It should run fine. Ross |
On Tue, May 21, 2024 at 05:02 PM, Ross Patterson wrote:
No.? It was still broken - the previous fix was insufficient.? There is a good fix in the current "develop" branch of SDL Hyperion, but it didn't happen in time for 4.7.Have to admit I am puzzled, as I have run DISKMAP EXEC today, several times without problems, and have the following: [xmas@vm370dev pdf]$ grep -Ei 'ecpsvm' ~/Hercules/VM/370/CE_V1R1M2_MAS/sixpackv4.conf # is being used, without the fix for HERCULES ECPSVM issue #382 (closed). ## ECPSVM ? ? ? ?DISABLE DISP1 DISP2 ECPSVM ? ? ? ? ?YES [xmas@vm370dev pdf]$? and I am running: 20:13:06 HHC00100I Thread id 00007f4f58acbb80, prio 5, name 'impl_thread' started 20:13:06 HHC00100I Thread id 00007f4f562da700, prio 4, name 'logger_thread' started 20:13:06 HHC01413I Hercules version 4.4.1.10647-SDL-gd0ccfbc9 20:13:06 HHC01414I (C) Copyright 1999-2022 by Roger Bowler, Jan Jaeger, and others 20:13:06 HHC01417I ** The SoftDevLabs version of Hercules ** 20:13:06 HHC01415I Build date: May 29 2022 at 16:31:27 20:13:06 HHC01417I Built with: Clang 13.0.1 (Red Hat 13.0.1-1.module+el8.6.0+825+7e27476a) 20:13:06 HHC01417I Build type: GNU/Linux x86_64 host architecture build ... 20:13:06 HHC02204I DIAG8CMD ? ? ? set to DISABLE ?NOECHO 20:13:06 HHC02204I ECPSVM ? ? ? ? set to enabled, trap support enabled 20:13:06 HHC02204I TZOFFSET ? ? ? set to -0000 20:13:06 HHC02204I PORT ? ? ? ? ? set to port=8081 noauth ?... Mark S. |
On Sat, Jun 1, 2024 at 9:23?PM Mark A. Stevens via <marXtevens=[email protected]> wrote: On Tue, May 21, 2024 at 05:02 PM, Ross Patterson wrote: The negative interaction between BREXX and ECPSVM is extremely timing dependent.? The ECPSVM DISP2 instruction damages certain floating?point registers for the newly-dispatched user every time it runs.? But very little VM software uses the floating point instructions.? The one notable exception is BREXX, because it treats every?number as floating point when comparing or displaying it (among other uses).? But even then, the BREXX code needs to depend upon the value in the damaged register across an un-dispatch/re-dispatch sequence.? If it doesn't happen within that window, everything works fine.? If it does, though, all manner of bad numerical results can occur.? DISKMAP does a lot of arithmetic, and it loops over two different stem arrays, comparing the loop counter to whatever.0, and it displays a lot of numbers.? So it has a higher-than-average likelihood of getting harmed by this bug. There is nothing you can do to reduce the probability of encountering the DISP2 floating point bug except to disable both DISP1 and DISP2 ECPSVM instructions.? There are things you can do that will increase?the probability.? You can use the victim registers a lot.? You can force your virtual machine to be undispatched during floating point math - for example, use the CP PER command to trace code that uses those registers.? I'm sure there are others. It took me six weeks of increasingly-intensive diagnostics, and thousands of executions, to pin this down.? My test case was an extremely simple Rexx program:
If you told me when I started that the problem would be an incorrectly-simulated instruction (albeit an extremely complex one), I'd have laughed. Ross |
to navigate to use esc to dismiss