zowe / zss

Zowe System Services Server for enabling low-level microservices
Eclipse Public License 2.0
13 stars 45 forks source link

Upgrade ZOWE from 2.8 to 2.14 : ZSS S0C4 - #685

Closed GilPen closed 5 months ago

GilPen commented 8 months ago

Hello

I upgraded ZOWE from 2.8 to 2.14 because 2.8 is not compatible with zos 3.1

I installed the two PTF with SMPE from the support download site.

Now when ZSS starts, I get a message

ZWES1013I ZSS Server has started. Version '2.14.0+20240109' 64-bit
CEE3204S The system detected a protection exception (System Completion Code=0C4).
From compile unit ZZOW08:../../deps/zss/quickjs/quickjs.c/ at entry point __JS_FindAtom at statement 3813 at compile unit offset +000000002ECA379E at entry offset +00000000000000C6 at address 000000002ECA379E.

I added a CEEOPTS DD with the ZOWE support recommandation HEAP64(4M,4M,KEEP,1M,1M,KEEP,0K,0K,FREE) but ZOWE refuses to read them CEE3611I THE RUN-TIME OPTION HEAP64 WAS AN INVALID RUN-TIME OPTION OR IS NOT SUPPORTED IN THIS RELEASE OF LANGUAGE
ENVIRONMENT.

ZOWE.D050224.txt

But I got the message

Steps to Reproduce

  1. Upgrade SMPE to 2.14 version
  2. Rerun 2.14 ZOWE version
1000TurquoisePogs commented 8 months ago

CEE3611I about HEAP64 may be printed from some 31 bit code in zowe but still accepted by ZSS I hope. But it may be overridden in some places.

You could try adding it on this line https://github.com/zowe/zss/blob/v2.x/staging/bin/start.sh#L185 in components/zss/bin/start.sh as _CEE_RUNOPTS=HEAPPOOLS(OFF),HEAP64(4M,4M,KEEP,1M,1M,KEEP,0K,0K,FREE) to see if it helps

Does zss run when 64bit is set to false instead of its current value of true in zowe.yaml? Will try to reproduce this behavior...

GilPen commented 8 months ago

Hello

Thank you very much for your fast answer.

I run zss in 64bits mode zss: agent:
64bit: true

I modified the STDNEV DD card with your recommandations _CEE_RUNOPTS=HEAPPOOLS(OFF),HEAP64(4M,4M,KEEP,1M,1M,KEEP,0K,0K,FREE) CONFIG=/usr/lpp/zowe/instance/zowe.yaml
ZLDEBUG=OFF

But I syill get the abend S0C4 CEE3204S The system detected a protection exception (System Completion Code=0C4).
From compile unit ZZOW08:../../deps/zss/quickjs/quickjs.c/ at entry point js_def_malloc at statement 2647 at compile unit offset +00000000265E26E8 at entry offset +0000000000000120 at address 00000000265E26E8.

GilPen commented 8 months ago

Hello

It seems the line 185 in start.sh is already modified

if [ "$ZWES_LOG_FILE" = "/dev/null" ]; then
_BPX_SHAREAS=NO _BPX_JOBNAME=$éZWE_zowe_job_prefixèSZ $éZSS_SERVERè --schemas "$éZWES_SCHEMA_PATHSè" --configs "$éZWES_CONFIGè" 2>&1 else
_BPX_SHAREAS=NO _BPX_JOBNAME=$éZWE_zowe_job_prefixèSZ $éZSS_SERVERè --schemas "$éZWES_SCHEMA_PATHSè" --configs "$éZWES_CONFIGè" 2>&1 ! tee $ZWES_LOG_FILE fi

I also generated some CEEDUMP on component/zss/bin directory. I attached the DUMPs

Regards Gilles Peniguel [Uploading CEEDUMP.20240206.064804.zip…]()

GilPen commented 8 months ago

CEEDUMP.20240206.064707.186.txt CEEDUMP.20240206.064804.33554598.txt CEEDUMP.20240206.065206.67109023.txt

The DUMP files have been transfered in binary mode from ZOS.

GilPen commented 8 months ago

Hello

Also get DUMP in ZOS SYSLOG: +CEE0374C CONDITION=CEE3204S TOKEN=00030C84 59C3C5C5 00000000_00000000
875
WHILE RUNNING PROGRAM js_def_malloc WHICH STARTS AT 25DE25C8
AT THE TIME OF INTERRUPT
PSW 07850401 80000000 00000000_26687F96
GPR 0-2 00000000_00000000 00000000_00000020 00000050_00108398 GPR 3-5 00000000_00000020 00000050_082F9640 00000000_26687FB0 GPR 6-8 00000000_26687810 00000000_25DE26EA 00000000_000014A9 GPR 9-B 0A000000_0130E100 00000000_000014A8 FFFFFFFF_FFFFFFF9 GPR C-E 00000050_08A19C00 00000050_08A19A30 FFFFFFFF_FFFFFFF9 GPR F 00000000_00000020
+CEE0374C CONDITION=CEE3204S TOKEN=00030C84 59C3C5C5 00000000_00000000
876
WHILE RUNNING PROGRAM CELQLIB
AT THE TIME OF INTERRUPT
PSW 07852401 80000000 00000000_26687F82
GPR 0-2 00000000_0000000C 00000000_00000020 00000050_00108398 GPR 3-5 00000000_00000020 00000050_082F19E0 00000000_26687FB0 GPR 6-8 00000000_26687810 00000000_26DFEA8A 00000000_000014AA GPR 9-B 00000000_00000020 00000000_000014A9 0A000000_0130E100 GPR C-E 00000050_08A19C00 00000050_08A19A30 00000000_000004D0 GPR F 00000000_00000020
IEA995I SYMPTOM DUMP OUTPUT 877
USER COMPLETION CODE=4087 REASON CODE=00000000
TIME=08.04.38 SEQ=06754 CPU=0000 ASID=0107
PSW AT TIME OF ERROR 078D1401 A632401A ILC 2 INTC 0D
ACTIVE MODULE ADDRESS=00000000_2611D000 OFFSET=0020701A
NAME=CELQLIB
DATA AT PSW 26324014 - 00181610 0A0DEBEC 4C1C0096
AR/GR 0: 00000000/00000000_84000000 1: 00000002/00000000_84000FF7 2: 00000000/00000050_00000000 3: 00000000/00000050_00106EA0 4: 01FF000A/00000050_082ECA40 5: 00000000/00000000_26325BB8 6: 00000000/00000050_00108398 7: 00000000/00000050_00103E28 8: 00000000/00000050_00106E68 9: 00000000/00000050_082EF398 A: 00000000/00000050_082EDA3F B: 00000000/00000050_00108398 C: 00000000/00000050_082EEA3E D: 00000000/00000050_082F0E60 E: 00000000/00000000_26321112 F: 00000000/00000050_00000000 END OF SYMPTOM DUMP
BPXP018I THREAD 266A100000000000, IN PROCESS 50331761, ENDED 878
WITHOUT BEING UNDUBBED WITH COMPLETION CODE 84000FF7
, AND REASON CODE 00000000.

GilPen commented 7 months ago

Hello

ZLUX is temporarily disabled on our mainframe development partition.. We will reactive it as soon as the patch will be available.

We continue to run our own APIs but it was usefull to use the ZLUX editors for some users.

Regatds Gilles Peniguel

Martin-Zeithaml commented 7 months ago

Based on cooperation with Gilles, the ABEND is occurring when processing embedded JS in zss/defaults.yaml. The last successfully processed embedded JS is port configuration.

embededjs.c: ejsEvalBuffer1 -> JS_Eval (NOT_MODULE) -> buffer:
00000000  2028293D 3E207B20 69662028 636F6D70  6F6E656E 74732E7A 73732E74 6C732920 |......#......?_.?>.>...:....%...|
00000020  7B207265 7475726E 206E756C 6C207D20  656C7365 207B2072 65747572 6E20636F |#......>.>.%%.'..%...#......>..?|
00000040  6D706F6E 656E7473 2E7A7373 2E706F72  74207D20 7D282920                   |_.?>.>...:....?...'.'...|
CEE3204S The system detected a protection exception (System Completion Code=0C4).
  From compile unit CA007:../../deps/zss/quickjs/quickjs.c/
  at entry point js_def_malloc at statement 2647
  at compile unit offset +00000000265E3008
  at entry offset +0000000000000120 at address 00000000265E3008.

I am not able to reproduce it on our systems.

JoeNemo commented 6 months ago

Does anyone in the Zowe development community have test system with more variety in language/CCSID settings?

Martin-Zeithaml commented 6 months ago

It seems that the HEAPPOOLS64(OFF) is the solution:

//ZWESLSTC  PROC RGN=0M,HAINST='{{ha_instance_id}}'
...
//STDENV   DD  *
_CEE_ENVFILE_CONTINUATION=\
_CEE_RUNOPTS=HEAPPOOLS(OFF),HEAPPOOLS64(OFF)
_EDC_UMASK_DFLT=0002
CONFIG=/zowe/zowe.yaml
/*
Martin-Zeithaml commented 5 months ago

Seems the HEAPPOOLS64(OFF) is the solution here, closing the issue.