Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

Subprocess hangs if created by Java

 

Re: Subprocess hangs if created by Java

Does this help you?


SDA> read/exec
%SDA-I-READSYM, 739 symbols read from SYS$COMMON:[SYS$LDR]SYS$RMDRIVER.STB;1
%SDA-I-READSYM, 1 symbols read from SYS$COMMON:[SYS$LDR]SYS$LTDRIVER.EXE;1
%SDA-I-READSYM, 1 symbols read from SYS$COMMON:[SYS$LDR]LAT$RATING.EXE;1
%SDA-W-OPENIN, error opening SDA$READ_DIR:PWIPDRIVER as input
-RMS-W-FNF, file not found
%SDA-I-READSYM, 1 symbols read from SYS$COMMON:[SYS$LDR]TCPIP$PROXY_SERVICES.EXE;1
%SDA-I-READSYM, 1 symbols read from SYS$COMMON:[SYS$LDR]TCPIP$TNDRIVER.EXE;1
%SDA-I-READSYM, 1 symbols read from SYS$COMMON:[SYS$LDR]TCPIP$INTERNET_SERVICES.EXE;1
...
%SDA-I-READSYM, 645 symbols read from SYS$COMMON:[SYS$LDR]X25$NWDRIVER.STB;1
%SDA-W-LINKTIMEMISM, link time of SYS$COMMON:[SYS$LDR]X25$NWDRIVER.STB;1 (24-MAY-2001 17:57) does not match link time of image in system (27-JUL-2001 16:49)
%SDA-I-READSYM, 245 symbols read from SYS$COMMON:[SYS$LDR]X25$XOT.STB;1
%SDA-I-READSYM, 167 symbols read from SYS$COMMON:[SYS$LDR]X25$RELAY.STB;1
...

SDA> read SDA$READDIR:SYSDEF
%SDA-W-OPENIN, error opening SDA$READDIR:SYSDEF as input
-RMS-W-DEV, error in device name or inappropriate device type for operation
SDA> set proc/id=20202CB0
SDA> show call

Call Frame at 00000000.7FF9DC00
-------------------------------
Stack Frame Procedure Descriptor
Flags: Base Register = FP, No Jacket, Native
Procedure Entry: FFFFFFFF.8015A8A0 SYS$SYNCH_C
Return address on stack = FFFFFFFF.80577290 RMS+47290

Registers saved on stack
------------------------
7FF9DC40 00000000.7AF42050 Saved R13
7FF9DC48 00000000.7FF9DC50 Saved R29



SDA> show call/next

Call Frame at 00000000.7FF9DC50
-------------------------------
Stack Frame Procedure Descriptor
Flags: Base Register = FP, No Jacket, Native
Procedure Entry: FFFFFFFF.80577200 RMS+47200
Return address on stack = FFFFFFFF.80578268 SYS$PUT_C+00098

Registers saved on stack
------------------------
7FF9DC70 FFFFFFFF.811B8410 Saved R2 SYS$PUT
7FF9DC78 00000000.0000000F Saved R3
7FF9DC80 00000000.7FFCEFB0 Saved R4
7FF9DC88 00000000.7FF9DC90 Saved R29



SDA> show call/next

Call Frame at 00000000.7FF9DC90
-------------------------------
Stack Frame Procedure Descriptor
Flags: Base Register = FP, No Jacket, Native
Procedure Entry: FFFFFFFF.805781D0 SYS$PUT_C
Return address on stack = 00000000.7AFA0D64

Registers saved on stack
------------------------
7FF9DCB0 00000000.7FF9FEB6 Saved R2
7FF9DCB8 00000000.7FF9DE00 Saved R29



SDA> show call/next

Call Frame at 00000000.7FF9DE00
-------------------------------
Stack Frame Procedure Descriptor
Flags: Base Register = FP, No Jacket, Native
Procedure Entry: 00000000.7AF7C100
Handler at 00000000.7AF3D270
Return address on stack = FFFFFFFF.80170C24 AMAC$EMUL_CALL_NATIVE_C+00084

Registers saved on stack
------------------------
7FF9DE18 00000000.0000000B Saved R2
7FF9DE20 FFFFFFFF.810C6380 Saved R3 EXE$CMODEXECX
7FF9DE28 FFFFFFFF.81B15AC0 Saved R4 KTB
7FF9DE30 00000000.00000088 Saved R5
7FF9DE38 00000000.00041B04 Saved R6
7FF9DE40 00000000.7FF8BFC0 Saved R7
7FF9DE48 00000000.7FFA4F30 Saved R8
7FF9DE50 00000000.7FFABFC0 Saved R9
7FF9DE58 00000000.00000000 Saved R10
7FF9DE60 00000000.7FF1A1B2 Saved R11
7FF9DE68 00000000.7AF3D248 Saved R13
7FF9DE70 00000000.7FFD0620 Saved R15 CTL$GL_IAFEXE
7FF9DE78 00000000.7FFABFC0 Saved R29



SDA> show call/next

Call Frame at 00000000.7FFABFC0
-------------------------------
Stack Frame Procedure Descriptor
Flags: Base Register = FP, No Jacket, Native
Procedure Entry: 00000000.7AF7C060
Return address on stack = FFFFFFFF.80170C24 AMAC$EMUL_CALL_NATIVE_C+00084

Registers saved on stack
------------------------
7FFABFD0 00000000.00000000 Saved R8
7FFABFD8 FFFFFFFF.81012620 Saved R9 SYS$GB_CALLOUTS
7FFABFE0 00000000.7AF3D200 Saved R13
7FFABFE8 00000000.00000000 Saved R29


SDA> show call/next
%SDA-E-NOTINPHYS, 00000000.00000000 : virtual data not in physical memory
SDA>


By the way, this is what the main process is doing at the same time:


SDA> pthread thread

Process name: _FTA155: Extended PID: 20202EBF Thread data: "thread"
-----------------------------------------------------------------------------
Thread Name State Substate Policy Pri
------ ------------------------- --------------- ----------- ------------ ---
1 default thread blocked join 2 SCHED_OTHER 11
-3 exit-handling thread blocked SCHED_FIFO 32
2 blocked t-cv 2 SCHED_OTHER 11
3 JAVA$JAVA_VMS_SHR/DATA+0x blocked delay SCHED_OTHER 11
4 Garbage Collector Thread blocked cond 3 SCHED_OTHER 11
5 Garbage Collector Thread blocked cond 3 SCHED_OTHER 11
6 Reference Handler blocked cond 5 SCHED_OTHER 15
7 Finalizer blocked cond 6 SCHED_OTHER 14
8 blocked cond 7 SCHED_OTHER 11
9 SeedGenerator Thread blocked cond 8 SCHED_OTHER 8
32 Thread-0 blocked t-cv 9 SCHED_OTHER 11
33 Thread-1 blocked t-cv 11 SCHED_OTHER 11
34 Thread-2 blocked t-cv 12 SCHED_OTHER 11
36 Thread-3 blocked $synch 64 SCHED_OTHER 11
41 Thread-4 blocked $synch 64 SCHED_OTHER 11
42 Thread-5 blocked $synch 64 SCHED_OTHER 11
43 Thread-6 blocked $synch 64 SCHED_OTHER 11
57 Thread-7 blocked $waitfr 62 SCHED_OTHER 11
60 zombie exited SCHED_OTHER 11
SDA>

Re: Subprocess hangs if created by Java

This is a bug within VMS or Java for VMS.

Because I did not get or find any solution to my problem on VMS, I now use Windows. It's by the way much faster using Java on Windows than on VMS.
Highlighted

Re: Subprocess hangs if created by Java

For those guys who experience the same problem: Recently I found a hint in the latest Release Notes: Don't use "$ set verify" before the call to Java.
I can't verify this hint because we now use JNI instead of Runtime().exec()

Greetings
Dominik