diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/env/REnvironment.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/env/REnvironment.java index dcb01ee548ac70950daf8f94469abd7aa8adf2c2..eb109fbe93ed659235e053747d6d184eed4293d6 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/env/REnvironment.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/env/REnvironment.java @@ -930,7 +930,8 @@ public abstract class REnvironment extends RAttributeStorage { slots = namespacesFrame.getFrameDescriptor().getSlots().toArray(slots); for (int i = 0; i < slots.length; i++) { REnvironment namespaceEnv = (REnvironment) FrameSlotChangeMonitor.getValue(slots[i], namespacesFrame); - if (namespaceEnv != Base.baseNamespaceEnv()) { + // Could be 'null' due to multi slot data and an error during package loading + if (namespaceEnv != Base.baseNamespaceEnv() && namespaceEnv != null) { // base namespace frame redirects all accesses to base frame and this would // result in processing the slots twice fun.apply(namespaceEnv.getFrame(), true);