Skip to content

Commit

Permalink
Merge pull request #2668 from cloudflare/hoodmane/tracing-top-level-e…
Browse files Browse the repository at this point in the history
…ntropy

* FIX SHOULD_GATE_ENTROPY condition
* Always invalidate_caches when loading snapshots
  • Loading branch information
hoodmane authored Sep 10, 2024
2 parents 35a35c3 + 884486d commit 91b7770
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
5 changes: 2 additions & 3 deletions src/pyodide/internal/snapshot.ts
Original file line number Diff line number Diff line change
Expand Up @@ -437,9 +437,8 @@ let TEST_SNAPSHOT: Uint8Array | undefined = undefined;
})();

export function finishSnapshotSetup(pyodide: Pyodide): void {
if (DSO_METADATA?.settings?.baselineSnapshot) {
// Invalidate caches if we have a baseline snapshot because the contents of site-packages may
// have changed.
if (LOADED_SNAPSHOT_VERSION !== undefined) {
// Invalidate caches if we have a snapshot because the contents of site-packages may have changed.
simpleRunPython(
pyodide._module,
'from importlib import invalidate_caches as f; f(); del f'
Expand Down
7 changes: 4 additions & 3 deletions src/pyodide/internal/topLevelEntropy/lib.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,15 @@
import { default as entropyPatches } from 'pyodide-internal:topLevelEntropy/entropy_patches.py';
import { default as entropyImportContext } from 'pyodide-internal:topLevelEntropy/entropy_import_context.py';
import { default as importPatchManager } from 'pyodide-internal:topLevelEntropy/import_patch_manager.py';
import { IS_TRACING } from 'pyodide-internal:metadata';
import { LOADED_SNAPSHOT_VERSION } from 'pyodide-internal:snapshot';
import { simpleRunPython } from 'pyodide-internal:util';

// Disable entropy gating when we've restored a snapshot of version 1. Version 1 snapshots were
// created without entropy gating and will crash if they are used with it. If we are creating a new
// snapshot or using one of version at least 2 we should gate.
// TODO: When we've updated all the snapshots, remove this.
const SHOULD_GATE_ENTROPY =
!IS_TRACING &&
(LOADED_SNAPSHOT_VERSION === undefined || LOADED_SNAPSHOT_VERSION === 2);
LOADED_SNAPSHOT_VERSION !== 0 && LOADED_SNAPSHOT_VERSION !== 1;

let allowed_entropy_calls_addr: number;

Expand Down

0 comments on commit 91b7770

Please sign in to comment.