Skip to content

deps: update sqlite to 3.53.0#17

Open
github-actions[bot] wants to merge 1 commit intomainfrom
deps/update-sqlite
Open

deps: update sqlite to 3.53.0#17
github-actions[bot] wants to merge 1 commit intomainfrom
deps/update-sqlite

Conversation

@github-actions
Copy link
Copy Markdown

@github-actions github-actions Bot commented Mar 8, 2026

What does this PR do?

Updates SQLite to version 3.53.0

Compare: https://sqlite.org/src/vdiff?from=3.51.2&to=3.53.0

Auto-updated by this workflow

@github-actions github-actions Bot force-pushed the deps/update-sqlite branch from 8e7890e to 7a5cf3d Compare March 15, 2026 18:52
@github-actions github-actions Bot changed the title deps: update sqlite to 3.52.0 deps: update sqlite to 3.51.300 Mar 15, 2026
@github-actions github-actions Bot force-pushed the deps/update-sqlite branch 2 times, most recently from e5ee548 to 1006dd9 Compare March 29, 2026 14:36
@github-actions github-actions Bot force-pushed the deps/update-sqlite branch from 1006dd9 to 6adb68e Compare April 5, 2026 16:35
@github-actions github-actions Bot changed the title deps: update sqlite to 3.51.300 deps: update sqlite to 3.53.0 Apr 12, 2026
@github-actions github-actions Bot force-pushed the deps/update-sqlite branch from 6adb68e to 46160d1 Compare April 12, 2026 17:57
yonas pushed a commit that referenced this pull request Apr 17, 2026
)

## Problem

Fuzzilli hit a flaky SIGSEGV (fingerprint `2519cad1804eace1`) from:

```js
const v13 = Bun.jest().vi;
try { v13.mock("function f2() {\n    const v6 = new ArrayBuffer();\n    ...\n}"); } catch (e) {}
Bun.gc(true);
```

`JSMock__jsModuleMock` calls `Bun__resolveSyncWithSource` on the
specifier before validating the callback, which sends the garbage string
through the resolver. The resolver's auto-install gate at
`loadNodeModules` only checks `esm_ != null`; `ESModule.Package.parse`
accepts anything that doesn't start with `.` or contain `\` / `%`, so
the whole function source is treated as a package name.
`enqueueDependencyToRoot` then calls `PackageManager.sleepUntil`, which
re-enters `EventLoop.tick()` from inside a call that is itself running
inside an event-loop tick:

```
#0 ConcurrentTask.PackedNextPtr.atomicLoadPtr
#1 UnboundedQueue(ConcurrentTask).popBatch
#3 event_loop.tickConcurrentWithCount
#7 AnyEventLoop.tick
#8 PackageManager.sleepUntil
#9 PackageManager.enqueueDependencyToRoot
#10 Resolver.resolveAndAutoInstall
#16 Bun__resolveSyncWithSource
#17 JSMock__jsModuleMock
```

The same path is reachable from `Bun.resolveSync`, `import()`, and
`require.resolve` with any user-provided string.

## Fix

Gate the auto-install branch on `strings.isNPMPackageName(esm_.?.name)`.
That validator already exists and is used by `bun link`, `bun pm view`,
and the bundler; it rejects newlines, spaces, braces, and anything else
that could never be a registry package. Specifiers failing the check
fall straight through to `.not_found` — the same result the registry
fetch would eventually produce — without initializing the package
manager or ticking the event loop.

This is a resolver-level fix, so it covers every entry point (not just
`mock.module`). It also avoids spurious network requests for garbage
specifiers; on this container a single resolve of a multi-line specifier
dropped from ~275ms to ~16ms.

## Tests

- `test/js/bun/resolve/resolve-autoinstall-invalid-name.test.ts` stands
up a local registry and verifies zero manifest requests for a set of
invalid names with `--install=force`, plus a positive control that a
valid name still hits the registry.
- `test/js/bun/test/mock/mock-module-non-string.test.ts` gains a case
for `mock.module` with newline / whitespace / bracket specifiers (with
and without a callback).
- Existing `test/cli/run/run-autoinstall.test.ts` (11 tests) and
`test/js/bun/test/mock/mock-module.test.ts` all pass.

Related: oven-sh#28945, oven-sh#28956, oven-sh#28500, oven-sh#28511.
Fingerprint: `2519cad1804eace1`
@github-actions github-actions Bot force-pushed the deps/update-sqlite branch from 46160d1 to ab63a1b Compare April 19, 2026 18:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant