Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Experiment: statically override malloc on Windows & Linux #14263

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

Jarred-Sumner
Copy link
Collaborator

What does this PR do?

On Linux, we are importing the libc free and libc malloc symbols

What if we don't do that

How did you verify your code works?

@Jarred-Sumner Jarred-Sumner changed the title Experiment: statically override mimalloc on Windows & Linux Experiment: statically override malloc on Windows & Linux Oct 1, 2024
@robobun
Copy link

robobun commented Oct 1, 2024

@Jarred-Sumner, your commit 1479d8d has 32 failures in #4125:

  • test/js/third_party/socket.io/socket.io-close.test.ts - timeout on 🐧 12 x64
  • test/js/third_party/socket.io/socket.io-close.test.ts - timeout on 🐧 22.04 x64
  • test/js/third_party/socket.io/socket.io-close.test.ts - timeout on 🐧 20.04 x64
  • test/js/third_party/socket.io/socket.io-close.test.ts - timeout on 🐧 20.04 aarch64
  • test/js/third_party/socket.io/socket.io-close.test.ts - timeout on 🐧 12 aarch64
  • test/js/third_party/socket.io/socket.io-close.test.ts - timeout on 🐧 22.04 aarch64
  • test/js/third_party/socket.io/socket.io-connection-state-recovery.test.ts - timeout on 🐧 22.04 x64
  • test/js/third_party/socket.io/socket.io-connection-state-recovery.test.ts - timeout on 🐧 20.04 x64
  • test/js/third_party/socket.io/socket.io-connection-state-recovery.test.ts - timeout on 🐧 12 x64
  • test/js/third_party/socket.io/socket.io-connection-state-recovery.test.ts - timeout on 🐧 12 aarch64
  • test/js/third_party/socket.io/socket.io-connection-state-recovery.test.ts - timeout on 🐧 22.04 aarch64
  • test/js/third_party/socket.io/socket.io-connection-state-recovery.test.ts - timeout on 🐧 20.04 aarch64
  • test/js/third_party/grpc-js/test-retry.test.ts - timeout on 🐧 20.04 x64
  • test/js/third_party/grpc-js/test-retry.test.ts - timeout on 🐧 22.04 x64
  • test/js/third_party/grpc-js/test-retry.test.ts - timeout on 🐧 12 x64
  • test/js/third_party/grpc-js/test-retry.test.ts - timeout on 🐧 12 aarch64
  • test/js/third_party/grpc-js/test-retry.test.ts - timeout on 🐧 20.04 aarch64
  • test/js/third_party/grpc-js/test-retry.test.ts - timeout on 🐧 22.04 aarch64
  • test/js/node/util/util.test.js - timeout on 🐧 12 x64
  • test/js/node/util/util.test.js - timeout on 🐧 22.04 x64
  • test/js/node/util/util.test.js - timeout on 🐧 20.04 x64
  • test/js/node/util/util.test.js - timeout on 🐧 20.04 aarch64
  • test/js/node/util/util.test.js - timeout on 🐧 12 aarch64
  • test/js/node/util/util.test.js - timeout on 🐧 22.04 aarch64
  • test/js/third_party/grpc-js/test-channel-credentials.test.ts - timeout on 🐧 22.04 x64
  • test/js/third_party/grpc-js/test-channel-credentials.test.ts - timeout on 🐧 20.04 x64
  • test/js/third_party/grpc-js/test-channel-credentials.test.ts - timeout on 🐧 12 x64
  • test/js/third_party/grpc-js/test-channel-credentials.test.ts - timeout on 🐧 12 aarch64
  • test/js/third_party/grpc-js/test-channel-credentials.test.ts - timeout on 🐧 22.04 aarch64
  • test/js/third_party/grpc-js/test-channel-credentials.test.ts - timeout on 🐧 20.04 aarch64
  • test/js/node/test/parallel/fs-watch-recursive-linux-parallel-remove.test.js - 1 failing on 🐧 22.04 x64
  • test/js/node/test/parallel/fs-watch-recursive-linux-parallel-remove.test.js - 1 failing on 🐧 12 x64
  • test/js/node/test/parallel/fs-watch-recursive-linux-parallel-remove.test.js - 1 failing on 🐧 12 aarch64
  • test/js/node/test/parallel/fs-watch-recursive-linux-parallel-remove.test.js - 1 failing on 🐧 22.04 aarch64
  • test/js/bun/util/fuzzy-wuzzy.test.ts - timeout on 🐧 22.04 x64
  • test/js/bun/util/fuzzy-wuzzy.test.ts - timeout on 🐧 20.04 x64
  • test/js/bun/util/fuzzy-wuzzy.test.ts - timeout on 🐧 12 x64
  • test/js/bun/util/fuzzy-wuzzy.test.ts - timeout on 🐧 12 aarch64
  • test/js/bun/util/fuzzy-wuzzy.test.ts - timeout on 🐧 22.04 aarch64
  • test/js/bun/util/fuzzy-wuzzy.test.ts - timeout on 🐧 20.04 aarch64
  • test/js/third_party/@azure/service-bus/azure-service-bus.test.ts - timeout on 🐧 20.04 x64
  • test/js/third_party/@azure/service-bus/azure-service-bus.test.ts - timeout on 🐧 22.04 x64
  • test/js/third_party/@azure/service-bus/azure-service-bus.test.ts - timeout on 🐧 12 x64
  • test/js/third_party/@azure/service-bus/azure-service-bus.test.ts - timeout on 🐧 12 aarch64
  • test/js/third_party/@azure/service-bus/azure-service-bus.test.ts - timeout on 🐧 20.04 aarch64
  • test/js/third_party/@azure/service-bus/azure-service-bus.test.ts - timeout on 🐧 22.04 aarch64
  • test/js/node/process/process.test.js - timeout on 🐧 12 x64
  • test/js/node/process/process.test.js - timeout on 🐧 22.04 x64
  • test/js/node/process/process.test.js - timeout on 🐧 20.04 x64
  • test/js/node/process/process.test.js - timeout on 🐧 20.04 aarch64
  • test/js/node/process/process.test.js - timeout on 🐧 12 aarch64
  • test/js/node/process/process.test.js - timeout on 🐧 22.04 aarch64
  • test/js/third_party/grpc-js/test-client.test.ts - timeout on 🐧 22.04 x64
  • test/js/third_party/grpc-js/test-client.test.ts - timeout on 🐧 12 x64
  • test/js/third_party/grpc-js/test-client.test.ts - timeout on 🐧 20.04 x64
  • test/js/third_party/grpc-js/test-client.test.ts - timeout on 🐧 12 aarch64
  • test/js/third_party/grpc-js/test-client.test.ts - timeout on 🐧 20.04 aarch64
  • test/js/third_party/grpc-js/test-client.test.ts - timeout on 🐧 22.04 aarch64
  • test/js/node/fs/fs.test.ts - timeout on 🐧 22.04 x64
  • test/js/node/fs/fs.test.ts - timeout on 🐧 12 x64
  • test/js/node/fs/fs.test.ts - timeout on 🐧 20.04 x64
  • test/js/node/fs/fs.test.ts - timeout on 🐧 12 aarch64
  • test/js/node/fs/fs.test.ts - timeout on 🐧 22.04 aarch64
  • test/js/node/fs/fs.test.ts - timeout on 🐧 20.04 aarch64
  • test/js/bun/jsc/bun-jsc.test.ts - timeout on 🐧 22.04 x64
  • test/js/bun/jsc/bun-jsc.test.ts - timeout on 🐧 20.04 x64
  • test/js/bun/jsc/bun-jsc.test.ts - timeout on 🐧 12 x64
  • test/js/bun/jsc/bun-jsc.test.ts - timeout on 🐧 12 aarch64
  • test/js/bun/jsc/bun-jsc.test.ts - timeout on 🐧 22.04 aarch64
  • test/js/bun/jsc/bun-jsc.test.ts - timeout on 🐧 20.04 aarch64
  • test/js/web/timers/setTimeout.test.js - timeout on 🐧 20.04 x64
  • test/js/web/timers/setTimeout.test.js - timeout on 🐧 12 x64
  • test/js/web/timers/setTimeout.test.js - timeout on 🐧 22.04 x64
  • test/js/web/timers/setTimeout.test.js - timeout on 🐧 12 aarch64
  • test/js/web/timers/setTimeout.test.js - timeout on 🐧 22.04 aarch64
  • test/js/web/timers/setTimeout.test.js - timeout on 🐧 20.04 aarch64
  • test/js/bun/util/inspect.test.js - timeout on 🐧 22.04 x64
  • test/js/bun/util/inspect.test.js - timeout on 🐧 20.04 x64
  • test/js/bun/util/inspect.test.js - timeout on 🐧 12 x64
  • test/js/bun/util/inspect.test.js - timeout on 🐧 12 aarch64
  • test/js/bun/util/inspect.test.js - timeout on 🐧 20.04 aarch64
  • test/js/bun/util/inspect.test.js - timeout on 🐧 22.04 aarch64
  • test/js/bun/test/expect.test.js - timeout on 🐧 22.04 x64
  • test/js/bun/test/expect.test.js - timeout on 🐧 20.04 x64
  • test/js/bun/test/expect.test.js - timeout on 🐧 12 x64
  • test/js/bun/test/expect.test.js - timeout on 🐧 20.04 aarch64
  • test/js/bun/test/expect.test.js - timeout on 🐧 12 aarch64
  • test/js/bun/test/expect.test.js - timeout on 🐧 22.04 aarch64
  • test/js/bun/sqlite/sqlite.test.js - timeout on 🐧 12 x64
  • test/js/bun/sqlite/sqlite.test.js - timeout on 🐧 22.04 x64
  • test/js/bun/sqlite/sqlite.test.js - timeout on 🐧 20.04 x64
  • test/js/bun/sqlite/sqlite.test.js - timeout on 🐧 20.04 aarch64
  • test/js/bun/sqlite/sqlite.test.js - timeout on 🐧 12 aarch64
  • test/js/bun/sqlite/sqlite.test.js - timeout on 🐧 22.04 aarch64
  • test/js/bun/test/test-timers.test.ts - timeout on 🐧 22.04 x64
  • test/js/bun/test/test-timers.test.ts - timeout on 🐧 12 x64
  • test/js/bun/test/test-timers.test.ts - timeout on 🐧 20.04 x64
  • test/js/bun/test/test-timers.test.ts - timeout on 🐧 12 aarch64
  • test/js/bun/test/test-timers.test.ts - timeout on 🐧 22.04 aarch64
  • test/js/bun/test/test-timers.test.ts - timeout on 🐧 20.04 aarch64
  • test/js/node/v8/v8-date-parser.test.js - timeout on 🐧 22.04 x64
  • test/js/node/v8/v8-date-parser.test.js - timeout on 🐧 12 x64
  • test/js/node/v8/v8-date-parser.test.js - timeout on 🐧 20.04 x64
  • test/js/node/v8/v8-date-parser.test.js - timeout on 🐧 12 aarch64
  • test/js/node/v8/v8-date-parser.test.js - timeout on 🐧 20.04 aarch64
  • test/js/node/v8/v8-date-parser.test.js - timeout on 🐧 22.04 aarch64
  • test/js/bun/sqlite/sql-timezone.test.js - timeout on 🐧 22.04 x64
  • test/js/bun/sqlite/sql-timezone.test.js - timeout on 🐧 20.04 x64
  • test/js/bun/sqlite/sql-timezone.test.js - timeout on 🐧 12 x64
  • test/js/bun/sqlite/sql-timezone.test.js - timeout on 🐧 20.04 aarch64
  • test/js/bun/sqlite/sql-timezone.test.js - timeout on 🐧 12 aarch64
  • test/js/bun/sqlite/sql-timezone.test.js - timeout on 🐧 22.04 aarch64
  • test/js/bun/shell/bunshell.test.ts - timeout on 🐧 22.04 x64
  • test/js/bun/shell/bunshell.test.ts - timeout on 🐧 20.04 x64
  • test/js/bun/shell/bunshell.test.ts - timeout on 🐧 12 x64
  • test/js/bun/shell/bunshell.test.ts - timeout on 🐧 12 aarch64
  • test/js/bun/shell/bunshell.test.ts - timeout on 🐧 20.04 aarch64
  • test/js/bun/shell/bunshell.test.ts - timeout on 🐧 22.04 aarch64
  • test/js/third_party/grpc-js/test-idle-timer.test.ts - timeout on 🐧 20.04 x64
  • test/js/third_party/grpc-js/test-idle-timer.test.ts - timeout on 🐧 12 x64
  • test/js/third_party/grpc-js/test-idle-timer.test.ts - timeout on 🐧 22.04 x64
  • test/js/third_party/grpc-js/test-idle-timer.test.ts - timeout on 🐧 12 aarch64
  • test/js/third_party/grpc-js/test-idle-timer.test.ts - timeout on 🐧 22.04 aarch64
  • test/js/third_party/grpc-js/test-idle-timer.test.ts - timeout on 🐧 20.04 aarch64
  • test/cli/install/registry/bun-install-registry.test.ts - timeout on 🐧 22.04 x64
  • test/cli/install/registry/bun-install-registry.test.ts - timeout on 🐧 20.04 x64
  • test/cli/install/registry/bun-install-registry.test.ts - timeout on 🐧 12 x64
  • test/cli/install/registry/bun-install-registry.test.ts - timeout on 🐧 22.04 aarch64
  • test/cli/install/registry/bun-install-registry.test.ts - timeout on 🐧 12 aarch64
  • test/cli/install/registry/bun-install-registry.test.ts - timeout on 🐧 20.04 aarch64
  • test/regression/issue/ctrl-c.test.ts - illegal instruction at address 0x7ff81421537b on 🍎 13 x64
  • test/js/web/fetch/fetch-tcp-stress.test.ts - timeout on 🍎 14 aarch64
  • test/js/web/fetch/fetch-tcp-stress.test.ts - timeout on 🍎 13 x64
  • test/js/web/fetch/fetch-tcp-stress.test.ts - timeout on 🍎 14 x64
  • test/js/node/test/parallel/fs-watch-recursive-add-file-with-url.test.js - 1 failing on 🍎 14 aarch64
  • test/js/node/test/parallel/fs-watch-recursive-add-file-with-url.test.js - 1 failing on 🍎 14 x64
  • test/integration/next-pages/test/dev-server.test.ts - 1 failing on 🍎 14 aarch64
  • test/js/node/watch/fs.watch.test.ts - 1 failing on 🍎 13 aarch64
  • test/js/node/watch/fs.watch.test.ts - timeout on 🍎 14 x64
  • test/cli/run/run-crash-handler.test.ts - timeout on 🪟 x64-baseline
  • test/cli/run/run-crash-handler.test.ts - timeout on 🪟 x64
  • test/js/bun/http/fetch-file-upload.test.ts - 1 failing on 🪟 x64-baseline
  • test/js/bun/http/bun-serve-static.test.ts - 3 failing on 🍎 13 aarch64
  • test/cli/watch/watch.test.ts - 2 failing on 🪟 x64-baseline
  • test/cli/watch/watch.test.ts - 2 failing on 🪟 x64
  • test/cli/hot/watch.test.ts - 2 failing on 🪟 x64-baseline
  • test/cli/hot/watch.test.ts - 2 failing on 🪟 x64
  • @Jarred-Sumner
    Copy link
    Collaborator Author

    In microbenchmarks, this increased memory usage across the board

    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.

    2 participants