Skip to content

Crashes jTraverser2 and Python when evaluating two nodes in C-Mod shot #1150923010 #3075

Description

@mwinkel-dev

Affiliation
MIT PSFC

Version(s) Affected
Found in alpha_release-7-160-2 for both client and server. Also found in current alpha for both. Probably occurs in all recent versions (and older versions too).

Platform(s)
Found on Ubuntu 24, but likely exists on all platforms.

Installation Method(s)
Installed from the official *.deb packages. Also did a developer install of current alpha.

Describe the bug
On C-Mod shot #1150923010, accessing the following two nodes triggers various problems: segfault, Null response from server, connection lost and so forth.

EDGE.PROBES.CAMAC_FPORT.J221_01.OUTPUT_01
EDGE.PROBES.CAMAC_FPORT.J221_01.OUTPUT_02

This might be related to bug #3070.

This is output from Python evaluating both nodes in the order listed above. (Note that PROBES_CAMAC is a tag / alias for PROBES.CAMAC_FPORT.)

15891 :  \EDGE::PROBES_CAMAC:J221_01:OUTPUT_01
Next node
Segmentation fault (core dumped)

These errors are from two jTraverser2 sessions.

mds.MdsException: Not Connected.
	at mds.mdsip.MdsIp.getMessage(MdsIp.java:707)
	at mds.mdsip.MdsIp._getDescriptor(MdsIp.java:524)
	at mds.Mds.getDescriptor(Mds.java:306)
	at mds.data.TREE$RecordInfo.<init>(TREE.java:140)
	at mds.data.TREE$RecordInfo.<init>(TREE.java:123)
	at mds.data.TREE.getRecordInfo(TREE.java:917)
	at mds.data.descriptor_s.NODE.getRecordInfoC(NODE.java:625)
	at mds.jtraverser.dialogs.DataDialog.<init>(DataDialog.java:61)
	at mds.jtraverser.dialogs.DataDialog.open(DataDialog.java:29)
	at mds.jtraverser.TreeManager$Menu$DataPanelAL$1.program(TreeManager.java:896)
	at mds.jtraverser.TreeManager$4.run(TreeManager.java:1221)
Node.readRecordInfo
Not Connected.
Error updating class
Not Connected.
Error updating timeinserted
Not Connected.
Node.readRecordInfo
Not Connected.
Error updating dtype
Not Connected.
Error updating class
Not Connected.
Error updating timeinserted
Not Connected.

=====

$ Connection lost: connection lost
Error updating dtype
Null response from server
Node.readRecordInfo
Not Connected.
Error updating dtype
Not Connected.
Error updating class
Not Connected.
Error updating timeinserted
Not Connected.

To Reproduce

  • Use jTraverser2 to plot the data for the OUTPUT_02 node and note that it displays OK.
  • Close jTraverser2 and re-open it (just to ensure have a clean slate).
  • Plot the data for OUTPUT_01 and then OUTPUT_02. It will crash on either node.

Expected behavior
If the node's expression is bad, evaluating it should return an error code or error message. It should not crash.

Screenshots
This screenshot shows a dev workstation running jTraverser2 to retrieve data from the C-Mod archive server.

Image

Additional context
There were several other problematic nodes in this shot. The assumption (perhaps incorrect) is that they all fail due to the same root cause.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugAn unexpected problem or unintended behaviorcoreRelates to the core libraries and scripts

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions