Skip to content

Commit 3d76597

Browse files
Update known issues for WPILib 2022.4.1 (#1740)
* Update known issues for WPILib 2022.4.1 Add known issue for synchronized deadlock * Update source/docs/yearly-overview/known-issues.rst Co-authored-by: Peter Johnson <[email protected]> Co-authored-by: Peter Johnson <[email protected]>
1 parent 725e79b commit 3d76597

File tree

1 file changed

+35
-7
lines changed

1 file changed

+35
-7
lines changed

source/docs/yearly-overview/known-issues.rst

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,6 @@ Onboard I2C Causing System Lockups
1515

1616
**Workaround:** The only surefire mitigation is to use the MXP I2C port instead. Acessing the device less frequently and/or using a different roboRIO may significantly reduce the likelihood/frequency of lockups, it will be up to each team to assess their tolerance of the risk of lockup. This lockup can not be definitively identified on the field and a field fault will not be called for a match where this behavior is believed to occur. This lockup is a CPU/kernel hang, the roboRIO will completely stop responding and will not be accessible via the DS, webpage or SSH. If you can access your roboRIO via any of these methods, you are experiencing a different issue.
1717

18-
ADIS16448 not reading values in Java
19-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
20-
21-
**Issue:** In WPILib 2022.3.1, using the no-args constructor for the ADIS16448 IMU in Java results in an divide by zero exception in a separate thread and no IMU data updates.
22-
23-
**Workaround:** Instead of the no-args constructor, use ``new ADIS16448_IMU(ADIS16448_IMU.IMUAxis.kZ, SPI.Port.kMXP, ADIS16448_IMU.CalibrationTime._1s);``.
24-
2518
CAN bus utilization is noisy
2619
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2720

@@ -119,6 +112,41 @@ LabVIEW Autorun graphics say 2020
119112

120113
**Workaround:** This can be safely ignored, if the menu item says 2022, you are installing the correct software.
121114

115+
Fixed in WPILib 2022.4.1
116+
------------------------
117+
118+
Reentrant uses of synchronized may cause deadlock in Java
119+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
120+
121+
**Issue:** If multiple threads call a `synchronized` object, there may be a deadlock. This is caused by a bug in the version of JDK bundled with the 2022.1.1 to 2022.3.1 versions of WPILib.
122+
123+
**Workaround:** There are two options for workarounds:
124+
125+
#. Install the 2021 JDK. This is performed automatically in WPILib 2022.4.1 and later.
126+
127+
#. Download the `2021 JDK <https://frcmaven.wpi.edu/artifactory/release/edu/wpi/first/jdk/roborio-2021/11.0.9u11-1/roborio-2021-11.0.9u11-1.ipk>`__.
128+
129+
#. :doc:`Copy </docs/software/roborio-info/roborio-ftp>` the downloaded ``.ipk`` file to the roboRIO.
130+
131+
#. :doc:`SSH </docs/software/roborio-info/roborio-ssh>` as admin to the roborio and execute ``opkg remove frc2022-openjdk*`` and ``opkg install roborio-2021-11.0.9u11-1.ipk``
132+
133+
#. Replace uses of ``synchronized`` with ``reentrantLock``
134+
135+
.. code-block:: Java
136+
137+
try {
138+
reentrantLock.lock()
139+
...do code here...
140+
} finally {
141+
reentrantLock.unlock()
142+
}
143+
144+
ADIS16448 not reading values in Java
145+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
146+
147+
**Issue:** In WPILib 2022.3.1, using the no-args constructor for the ADIS16448 IMU in Java results in an divide by zero exception in a separate thread and no IMU data updates.
148+
149+
**Workaround:** Instead of the no-args constructor, use ``new ADIS16448_IMU(ADIS16448_IMU.IMUAxis.kZ, SPI.Port.kMXP, ADIS16448_IMU.CalibrationTime._1s);``.
122150

123151
Fixed in Image 2022_v4.0 (Game Tools 2022 f1 and WPILib 2022.3.1)
124152
-----------------------------------------------------------------

0 commit comments

Comments
 (0)