-
Notifications
You must be signed in to change notification settings - Fork 384
Description
We see sporadic GWT compiler errors reported during the "Computing all possible rebind results for '{some-GWT-RPC-service}'" phase. The problem occurs in roughly 10% of our builds. I'm attaching the log excerpt from when the issue occurred (bug.log) and when everything went fine (no-bug.log).
To see the full build log, check out https://github.com/SAP/sailing-analytics/actions/runs/19071837371 with its build log at https://github.com/SAP/sailing-analytics/actions/runs/19071837371/artifacts/4463965667, and https://github.com/SAP/sailing-analytics/actions/runs/19140961071 with its build log at https://github.com/SAP/sailing-analytics/actions/runs/19140961071/artifacts/4491062919, respectively.
As far as I was able to read from the compiler sources, the problem may be caused by the order in which all subtypes of Serializable or java.lang.Object are enumerated, differing between builds because they are provided by hashed collections (HashSet, HashMap). Ultimately, the error message is produced in SerializableTypeOracleBuilder.build(TreeLogger) calling the computeTypeInstantiability(...) method without success.
In the "good" case, the "Verifying instantiability" for java.io.Serializable starts descending into java.util.ArrayList<?>, whereas in the "bad" case the descending starts with a different type, com.sap.sse.security.shared.ServerAdminRole.
In our case, if a run fails for this problem, it is always the com.sap.sse.datamining.shared.impl.dto.StoredDataMiningReportDTOImpl type that is said to not have any instantiable subtypes. See also here: https://github.com/SAP/sailing-analytics/blob/main/java/com.sap.sse.datamining.shared/src/com/sap/sse/datamining/shared/impl/dto/StoredDataMiningReportDTOImpl.java
With only a 10% probability of this problem occurring, I have no good idea how I would work towards reproducibility of this issue...