Ticket #87 (accepted defect)

Opened 7 years ago

Last modified 4 years ago

Incident windows stop updating

Reported by: nhockada Owned by: jdalbey
Priority: High Milestone: May 2021 Training
Component: CAD Client Version:
Severity: Minor Keywords:
Cc:

Description

Occurred during full simulation with at least six CAD clients running. One user's incident windows simply stopped updating. Other users unaffected. Closing incident windows and re-opening resolved the issue.

Change History

comment:1 Changed 7 years ago by nhockada

  • Component changed from none to CAD Client

comment:2 Changed 7 years ago by nhockada

  • Severity changed from Minor to Major

comment:3 Changed 7 years ago by nhockada

  • Priority changed from Medium to High

comment:4 Changed 7 years ago by jdalbey

  • Owner set to jdalbey
  • Status changed from new to assigned

comment:5 Changed 7 years ago by jdalbey

Note: This did not require terminating the application.

This may be related to the timing problem between client and server causing exceptions during panel refresh that results in temporary missing data.

See Exception Message in prepareRenderer:  https://pastebin.com/raw/wn8pzqv3

Also, in CAD Server we see

coordinator.getCadDataUnitStatus unitnum parameter is blank

comment:6 Changed 7 years ago by jdalbey

  • Type changed from task to defect

Also,

Null Pointer Exception
at tmcsim.cadsimulator.Coordinator.getCadDataUnitStatus(Coordinator.java 2169)

Also, this exception was thrown that's probably related:

ClassCastException: ImageIcon can't be cast to String at 
tmcsim.client.cadclientgui.Screens.AssignedIncidents$1.prepareRenderer:135

comment:7 Changed 7 years ago by jdalbey

  • Status changed from assigned to accepted
  • Severity changed from Major to Minor

Made some changes to put some of the code that modifies the data model into the Swing Event Dispatch Thread which will hopefully remove some of the concurrency issues. Created a "load test" script with 15 incidents to put the client under some load stress and it works fine under limited testing. Reducing the severify of this ticket since there is an easy workaround: just close the unresponsive Incident Viewer windows.

comment:8 Changed 7 years ago by jdalbey

Another stack trace:  https://pastebin.com/zhx9FVAA
Array Index OOB in DefaultTableModel.getValueAt in UnitStatus$1.prepareRenderer(UnitStatus.java:172)

comment:9 Changed 7 years ago by jdalbey

Is this related?

ClassCastException: javax.swing
.ImageIcon cannot be cast to java.lang.String
        at tmcsim.client.cadclientgui.screens.AssignedIncidents$1.prepareRendere
r(AssignedIncidents.java:135)

 https://pastebin.com/vT0dyeHY

comment:10 Changed 7 years ago by jdalbey

In CADData tableForUnitStatus() I made toUnitTableVector local instead of a static instance field and this seems to fix Array Index OOB errors, but still getting null ptr exception:
 https://pastebin.com/JMSgGHsh

NullPointerException
        at tmcsim.cadsimulator.Coordinator.getCadDataUnitStatus(Coordinator.java
:2310)

at least this is in Coordinator, not UnitStatus ... so at least something is different.

comment:11 Changed 7 years ago by nhockada

  • Milestone changed from May 2019 Training to March 2020 Training

comment:12 Changed 4 years ago by jdalbey

Another example?  https://pastebin.com/SEHTtQBR
This happened during a development run in NetBeans.

Note: See TracTickets for help on using tickets.