You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Serializing an EXTERNALSXP can lead to an endless loop #1303
Reproducing this issue is a bit trickier, easiest way I found was with the recording tool: triggering a EnvStubMaterialized deopt, which has a LazyEnvironment as a trigger, creates a new event with this trigger saved and at the end of execution forces a LazyEnvironment to be serialized, which leads to an endless loop described above.
Smallest example I've been able to find:
RIR_RECORD_SERIALIZE=1 RIR_RECORD=/tmp/rec.rds RIR_RECORD_FILTER=Deopt R -e "library(ggplot2)"
By putting an assert(false) on line 18 in interpreter/decompile.cpp, the code fails faster on the incorrect inputs.
Activity
rihafilip commentedon Aug 9, 2024
Reproducing this issue is a bit trickier, easiest way I found was with the recording tool: triggering a
EnvStubMaterializeddeopt, which has aLazyEnvironmentas a trigger, creates a new event with this trigger saved and at the end of execution forces aLazyEnvironmentto be serialized, which leads to an endless loop described above.Smallest example I've been able to find:
RIR_RECORD_SERIALIZE=1 RIR_RECORD=/tmp/rec.rds RIR_RECORD_FILTER=Deopt R -e "library(ggplot2)"By putting an
assert(false)on line 18 ininterpreter/decompile.cpp, the code fails faster on the incorrect inputs.