Trouble updating to 3.0-alpha.17 (minisat)

Hi,

just tried to update from 2.13.3 to 3.0-alpha.17 and ran into a problem concering minisat memory allocation. Update fails on my M1 MBA with

MINISAT-out: Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value 67108864, (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.
MINISAT-err: Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value 67108864, (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.
abort() at Error                              
    at jsStackTrace (packages/logic-solver.js:21:18626)
    at stackTrace (packages/logic-solver.js:21:18809)
    at abort (packages/logic-solver.js:51:28956)
    at enlargeMemory (packages/logic-solver.js:21:19142)
    at Function.dynamicAlloc [as alloc] (packages/logic-solver.js:21:7927)
    at _sbrk (packages/logic-solver.js:21:58803)
    at Sd (packages/logic-solver.js:25:98389)
    at Ud (packages/logic-solver.js:25:109800)
    at gc (packages/logic-solver.js:25:41378)
    at pc (packages/logic-solver.js:25:46259)
    at _b (packages/logic-solver.js:25:31709)
    at $b (packages/logic-solver.js:25:35130)
    at Bc (packages/logic-solver.js:25:54870)
    at hd (packages/logic-solver.js:25:84479)
    at MiniSat.solveAssuming (packages/logic-solver.js:156:18)
    at Logic.Solver.solve (packages/logic-solver.js:1680:33)
    at Logic.Solver.solveAssuming (packages/logic-solver.js:1713:21)
    at minMaxWS (packages/logic-solver.js:1999:32)
    at packages/constraint-solver.js:1381:22
    at CS.Solver.minimize (packages/constraint-solver.js:1365:3)
    at CS.Solver.minimize (packages/constraint-solver.js:1359:5)
    at CS.Solver._getAnswer (packages/constraint-solver.js:1749:3)
    at Object.Logic.disablingAssertions (packages/logic-solver.js:389:12)
    at Function.CS.PackagesResolver._resolveWithInput (packages/constraint-solver.js:2333:10)
    at CS.PackagesResolver.resolve (packages/constraint-solver.js:2294:14)
    at /tools/project-context.js:669:26
    at /tools/project-context.js:665:11
    at Object.enterJob (/tools/utils/buildmessage.js:387:12)
    at /tools/packaging/catalog/catalog.js:100:5
    at Object.capture (/tools/utils/buildmessage.js:282:5)
    at Object.catalog.runAndRetryWithRefreshIfHelpful (/tools/packaging/catalog/catalog.js:99:18)
    at ProjectContext._resolveConstraints (/tools/project-context.js:636:5)
    at /tools/project-context.js:402:9
    at Object.enterJob (/tools/utils/buildmessage.js:387:12)
    at /tools/cli/commands-packages.js:1739:5
    at Object.capture (/tools/utils/buildmessage.js:282:5)
    at Object.main.captureAndExit (/tools/cli/main.js:275:16)
    at maybeUpdateRelease (/tools/cli/commands-packages.js:1738:3)
    at Command.func (/tools/cli/commands-packages.js:1812:29)
    at /tools/cli/main.js:1527:15
If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.

Any ideas eg how to set change the value TOTAL-MEMORY or how to solve this?

Just curious and off-topic: Is there a feature of package version resolution that requires SAT? Aren’t those just a big conjunction of linear inequalities if you embed version parts in sufficiently large integers (e.g. v1.2.3 → 001002003)? Of course, that would potentially require a linear program solver that handles arbitrarily large integers… In other words, is there something else than a naive translation of version constraints to disjunctions (e.g. v1.2.3 → major >= 2 || (major == 1 && minor >= 3) || (major == 1 && minor == 2 && patch >= 3)) that requires disjunctions or integrality constraints?

Meteor would need to recompile minisat with a higher memory limit - GitHub - meteor/minisat: A minimalistic and high-performance SAT solver.

@bratelefant could you please share the .meteor/packages, .meteor/versions, and .meteor/local/resolver-result-cache.json files? Also, what command are you running when you see this error?

If I have time this week I might try to reproduce it and look into it. This error happened occasionally with Meteor 1.4 when there were too many constraints on package versions, but I haven’t heard of it happening since then until the Meteor 3 alphas.

There are many package managers that use SAT, including Meteor. These package managers usually only allow a single version of each package, and use SAT to figure out the version of each package that is compatible with the other packages.

1 Like

Sure, thanks for having a look!

I’ll post that right below my reply.

Have you considered moving towards more modern sat solvers, like kissat (that one got some rewards at the 2022 SAT competition, runs like crazy on a single core, super fast results); how large is the CNF for this type of problem? I could see an check how memory consumption / wall time this needs on kissat.

Problem occurred when i ran meteor update --release 3.0-alpha.17 (also tried alpha 16, same error)

Here’s my packages:

# Meteor packages used by this project, one per line.
# Check this file (and the other files in this directory) into your repository.
#
# 'meteor add' and 'meteor remove' will edit this file for you,
# but you can also edit it by hand.

meteor-base@1.5.1             # Packages every Meteor app needs to have
feit:server-picker
mobile-experience@1.1.0       # Packages for a great mobile UX
mongo@1.16.7                   # The database Meteor supports right now
reactive-var@1.0.12            # Reactive variable for tracker

standard-minifier-css@1.9.2   # CSS minifier run for production mode
standard-minifier-js@2.8.1    # JS minifier run for production mode
es5-shim@4.8.0                # ECMAScript 5 compatibility for older browsers
ecmascript@0.16.7              # Enable ECMAScript2015+ syntax in app code
typescript@4.9.4              # Enable TypeScript syntax in .ts and .tsx modules
shell-server@0.5.0            # Server-side component of the `meteor shell` command
hot-module-replacement@0.5.3  # Update client in development without reloading the page

static-html@1.3.2             # Define static page content in .html files
react-meteor-data       # React higher-order component for reactively tracking Meteor data
dev-error-overlay@0.1.2
peerlibrary:xml2js
accounts-password
alanning:roles
babrahams:accounts-ldap
ostrio:files
session@1.2.1
check@1.3.2
aldeed:autoform
dburles:collection-helpers
http
ostrio:cstorage
mdg:validated-method
email@2.2.5
ostrio:logger
ostrio:loggermongo
aldeed:collection2
percolate:migrations
montiapm:agent
cinn:multitenancy
tracker@1.3.2
bratelefant:meteor-react-use-captain-hook
mikowals:batch-insert
montiapm:profiler
meteorhacks:picker
mixmax:smart-disconnect
meteortesting:mocha
xolvio:cleaner
dburles:factory
bratelefant:meteor-push

my versions

accounts-base@2.2.8
accounts-password@2.3.4
alanning:roles@3.4.0
aldeed:autoform@7.0.1
aldeed:collection2@3.5.0
allow-deny@1.1.1
autoupdate@1.8.0
babel-compiler@7.10.4
babel-runtime@1.5.1
babrahams:accounts-ldap@0.10.4
base64@1.0.12
binary-heap@1.0.11
blaze@2.7.1
blaze-tools@1.1.3
boilerplate-generator@1.7.1
bratelefant:meteor-push@3.0.0
bratelefant:meteor-react-use-captain-hook@0.0.1
caching-compiler@1.2.2
caching-html-compiler@1.2.1
callback-hook@1.5.1
check@1.3.2
cinn:multitenancy@0.0.8
dburles:collection-helpers@1.1.0
dburles:factory@1.5.0
ddp@1.4.1
ddp-client@2.6.1
ddp-common@1.4.0
ddp-rate-limiter@1.2.0
ddp-server@2.6.2
deps@1.0.12
dev-error-overlay@0.1.2
diff-sequence@1.1.2
dynamic-import@0.7.3
ecmascript@0.16.7
ecmascript-runtime@0.8.1
ecmascript-runtime-client@0.12.1
ecmascript-runtime-server@0.11.0
ejson@1.1.3
email@2.2.5
es5-shim@4.8.0
feit:server-picker@0.0.1
fetch@0.1.3
geojson-utils@1.0.11
hot-code-push@1.0.4
hot-module-replacement@0.5.3
html-tools@1.1.3
htmljs@1.1.1
http@1.4.4
id-map@1.1.1
inter-process-messaging@0.1.1
jquery@1.11.11
lai:collection-extensions@0.3.0
launch-screen@1.3.0
less@3.0.2
livedata@1.0.18
localstorage@1.2.0
logging@1.3.2
matb33:collection-hooks@1.3.0
mdg:validated-method@1.3.0
meteor@1.11.3
meteor-base@1.5.1
meteorhacks:picker@1.0.3
meteortesting:browser-tests@1.5.3
meteortesting:mocha@2.1.0
meteortesting:mocha-core@8.1.2
mikowals:batch-insert@1.3.0
minifier-css@1.6.4
minifier-js@2.7.5
minimongo@1.9.3
mixmax:smart-disconnect@0.0.5
mobile-experience@1.1.0
mobile-status-bar@1.1.0
modern-browsers@0.1.9
modules@0.19.0
modules-runtime@0.13.1
modules-runtime-hot@0.14.2
momentjs:moment@2.29.3
mongo@1.16.7
mongo-decimal@0.1.3
mongo-dev-server@1.1.0
mongo-id@1.0.8
montiapm:agent@2.47.3
montiapm:agent-binary-deps@2.1.1
montiapm:meteorx@2.3.1
montiapm:profiler@1.6.3
npm-mongo@4.16.0
observe-sequence@1.0.21
ordered-dict@1.1.0
ostrio:cookies@2.7.2
ostrio:cstorage@3.0.1
ostrio:files@2.3.3
ostrio:logger@2.1.1
ostrio:loggermongo@2.1.0
peerlibrary:blocking@0.6.0
peerlibrary:xml2js@0.4.8_1
percolate:migrations@1.1.0
promise@0.12.2
raix:eventemitter@1.0.0
random@1.2.1
rate-limit@1.1.1
react-fast-refresh@0.2.7
react-meteor-data@2.7.2
reactive-dict@1.3.1
reactive-var@1.0.12
reload@1.3.1
retry@1.1.0
routepolicy@1.1.1
session@1.2.1
sha@1.0.9
shell-server@0.5.0
socket-stream-client@0.5.1
spacebars@1.4.1
spacebars-compiler@1.3.1
standard-minifier-css@1.9.2
standard-minifier-js@2.8.1
static-html@1.3.2
templating@1.4.2
templating-compiler@1.4.1
templating-runtime@1.6.3
templating-tools@1.2.2
tmeasday:check-npm-versions@1.0.2
tracker@1.3.2
typescript@4.9.4
ui@1.0.13
underscore@1.0.13
url@1.3.2
webapp@1.13.5
webapp-hashing@1.1.1
xolvio:cleaner@0.4.0
zodern:meteor-package-versions@0.2.1
zodern:types@1.0.10

and the resolver-result-cache.json

{
  "lastInput": {
    "dependencies": [
      "meteor-base",
      "feit:server-picker",
      "mobile-experience",
      "mongo",
      "reactive-var",
      "standard-minifier-css",
      "standard-minifier-js",
      "es5-shim",
      "ecmascript",
      "typescript",
      "shell-server",
      "hot-module-replacement",
      "static-html",
      "react-meteor-data",
      "dev-error-overlay",
      "peerlibrary:xml2js",
      "accounts-password",
      "alanning:roles",
      "babrahams:accounts-ldap",
      "ostrio:files",
      "session",
      "check",
      "aldeed:autoform",
      "dburles:collection-helpers",
      "http",
      "ostrio:cstorage",
      "mdg:validated-method",
      "email",
      "ostrio:logger",
      "ostrio:loggermongo",
      "aldeed:collection2",
      "percolate:migrations",
      "montiapm:agent",
      "cinn:multitenancy",
      "tracker",
      "bratelefant:meteor-react-use-captain-hook",
      "mikowals:batch-insert",
      "montiapm:profiler",
      "meteorhacks:picker",
      "mixmax:smart-disconnect",
      "meteortesting:mocha",
      "xolvio:cleaner",
      "dburles:factory",
      "bratelefant:meteor-push"
    ],
    "constraints": [
      "meteor-base@1.5.1",
      "feit:server-picker",
      "mobile-experience@1.1.0",
      "mongo@1.16.7",
      "reactive-var@1.0.12",
      "standard-minifier-css@1.9.2",
      "standard-minifier-js@2.8.1",
      "es5-shim@4.8.0",
      "ecmascript@0.16.7",
      "typescript@4.9.4",
      "shell-server@0.5.0",
      "hot-module-replacement@0.5.3",
      "static-html@1.3.2",
      "react-meteor-data",
      "dev-error-overlay@0.1.2",
      "peerlibrary:xml2js",
      "accounts-password",
      "alanning:roles",
      "babrahams:accounts-ldap",
      "ostrio:files",
      "session@1.2.1",
      "check@1.3.2",
      "aldeed:autoform",
      "dburles:collection-helpers",
      "http",
      "ostrio:cstorage",
      "mdg:validated-method",
      "email@2.2.5",
      "ostrio:logger",
      "ostrio:loggermongo",
      "aldeed:collection2",
      "percolate:migrations",
      "montiapm:agent",
      "cinn:multitenancy",
      "tracker@1.3.2",
      "bratelefant:meteor-react-use-captain-hook",
      "mikowals:batch-insert",
      "montiapm:profiler",
      "meteorhacks:picker",
      "mixmax:smart-disconnect",
      "meteortesting:mocha",
      "xolvio:cleaner",
      "dburles:factory",
      "bratelefant:meteor-push",
      "percolate:migrations@=1.1.0",
      "local-test:percolate:migrations@=1.1.0",
      "cinn:multitenancy@=0.0.8",
      "bratelefant:meteor-push@=3.0.0",
      "bratelefant:meteor-react-use-captain-hook@=0.0.1",
      "local-test:bratelefant:meteor-react-use-captain-hook@=0.0.1",
      "alanning:roles@=3.4.0",
      "local-test:alanning:roles@=3.4.0",
      "bratelefant:server-session@=0.2.0",
      "local-test:bratelefant:server-session@=0.2.0",
      "accounts-2fa@~2.0.2",
      "accounts-base@~2.2.8",
      "accounts-facebook@~1.3.3",
      "accounts-github@~1.5.0",
      "accounts-google@~1.4.0",
      "accounts-meetup@~1.5.0",
      "accounts-meteor-developer@~1.5.0",
      "accounts-oauth@~1.4.2",
      "accounts-password@~2.3.4",
      "accounts-passwordless@~2.1.3",
      "accounts-twitter@~1.5.0",
      "accounts-ui-unstyled@~1.7.0",
      "accounts-ui@~1.4.2",
      "accounts-weibo@~1.4.0",
      "allow-deny@~1.1.1",
      "appcache@~1.2.8",
      "audit-argument-checks@~1.0.7",
      "autopublish@~1.0.7",
      "autoupdate@~1.8.0",
      "babel-compiler@~7.10.4",
      "babel-runtime@~1.5.1",
      "base64@~1.0.12",
      "binary-heap@~1.0.11",
      "boilerplate-generator-tests@~1.5.1",
      "boilerplate-generator@~1.7.1",
      "browser-policy-common@~1.0.12",
      "browser-policy-content@~1.1.2",
      "browser-policy-framing@~1.1.2",
      "browser-policy@~1.1.2",
      "caching-compiler@~1.2.2",
      "callback-hook@~1.5.1",
      "check@~1.3.2",
      "constraint-solver@~1.2.0",
      "context@~0.5.1",
      "crosswalk@~1.7.1",
      "ddp-client@~2.6.1",
      "ddp-common@~1.4.0",
      "ddp-rate-limiter@~1.2.0",
      "ddp-server@~2.6.2",
      "ddp@~1.4.1",
      "dev-error-overlay@~0.1.2",
      "diff-sequence@~1.1.2",
      "disable-oplog@~1.0.7",
      "dynamic-import@~0.7.3",
      "ecmascript-runtime-client@~0.12.1",
      "ecmascript-runtime-server@~0.11.0",
      "ecmascript-runtime@~0.8.1",
      "ecmascript@~0.16.7",
      "ejson@~1.1.3",
      "email@~2.2.5",
      "es5-shim@~4.8.0",
      "facebook-config-ui@~1.0.3",
      "facebook-oauth@~1.11.2",
      "facts-base@~1.0.1",
      "facts-ui@~1.0.1",
      "fetch@~0.1.3",
      "force-ssl-common@~1.1.0",
      "force-ssl@~1.1.0",
      "geojson-utils@~1.0.11",
      "github-config-ui@~1.0.2",
      "github-oauth@~1.4.1",
      "google-config-ui@~1.0.3",
      "google-oauth@~1.4.4",
      "hot-code-push@~1.0.4",
      "hot-module-replacement@~0.5.3",
      "id-map@~1.1.1",
      "insecure@~1.0.7",
      "inter-process-messaging@~0.1.1",
      "launch-screen@~1.3.0",
      "localstorage@~1.2.0",
      "logging@~1.3.2",
      "logic-solver@~2.0.8",
      "meetup-config-ui@~1.0.2",
      "meetup-oauth@~1.1.2",
      "meteor-base@~1.5.1",
      "meteor-developer-config-ui@~1.0.2",
      "meteor-developer-oauth@~1.3.2",
      "meteor@~1.11.3",
      "minifier-css@~1.6.4",
      "minifier-js@~2.7.5",
      "minimongo@~1.9.3",
      "mobile-experience@~1.1.0",
      "mobile-status-bar@~1.1.0",
      "modern-browsers@~0.1.9",
      "modules-runtime-hot@~0.14.2",
      "modules-runtime@~0.13.1",
      "modules@~0.19.0",
      "mongo-dev-server@~1.1.0",
      "mongo-id@~1.0.8",
      "mongo-livedata@~1.0.12",
      "mongo@~1.16.7",
      "npm-mongo@~4.16.0",
      "oauth-encryption@~1.3.2",
      "oauth@~2.2.0",
      "oauth1@~1.5.1",
      "oauth2@~1.3.2",
      "ordered-dict@~1.1.0",
      "package-stats-opt-out@~1.0.7",
      "package-version-parser@~3.2.1",
      "promise@~0.12.2",
      "random@~1.2.1",
      "rate-limit@~1.1.1",
      "react-fast-refresh@~0.2.7",
      "reactive-dict@~1.3.1",
      "reactive-var@~1.0.12",
      "reload-safetybelt@~1.0.12",
      "reload@~1.3.1",
      "retry@~1.1.0",
      "routepolicy@~1.1.1",
      "server-render@~0.4.1",
      "service-configuration@~1.3.1",
      "session@~1.2.1",
      "sha@~1.0.9",
      "shell-server@~0.5.0",
      "socket-stream-client@~0.5.1",
      "standard-minifier-css@~1.9.2",
      "standard-minifier-js@~2.8.1",
      "standard-minifiers@~1.1.0",
      "static-html@~1.3.2",
      "test-helpers@~1.3.1",
      "test-in-browser@~1.3.3",
      "test-in-console@~1.2.5",
      "test-server-tests-in-console-once@~1.0.11",
      "tinytest-harness@~0.0.4",
      "tinytest@~1.2.2",
      "tracker@~1.3.2",
      "twitter-config-ui@~1.0.1",
      "twitter-oauth@~1.3.3",
      "typescript@~4.9.4",
      "underscore-tests@~1.0.8",
      "underscore@~1.0.13",
      "url@~1.3.2",
      "webapp-hashing@~1.1.1",
      "webapp@~1.13.5",
      "weibo-config-ui@~1.0.2",
      "weibo-oauth@~1.3.2"
    ],
    "previousSolution": {
      "accounts-base": "2.2.8",
      "accounts-password": "2.3.4",
      "alanning:roles": "3.4.0",
      "aldeed:autoform": "7.0.1",
      "aldeed:collection2": "3.5.0",
      "allow-deny": "1.1.1",
      "autoupdate": "1.8.0",
      "babel-compiler": "7.10.4",
      "babel-runtime": "1.5.1",
      "babrahams:accounts-ldap": "0.10.4",
      "base64": "1.0.12",
      "binary-heap": "1.0.11",
      "blaze": "2.7.1",
      "blaze-tools": "1.1.3",
      "boilerplate-generator": "1.7.1",
      "bratelefant:meteor-push": "3.0.0",
      "bratelefant:meteor-react-use-captain-hook": "0.0.1",
      "caching-compiler": "1.2.2",
      "caching-html-compiler": "1.2.1",
      "callback-hook": "1.5.1",
      "check": "1.3.2",
      "cinn:multitenancy": "0.0.8",
      "dburles:collection-helpers": "1.1.0",
      "dburles:factory": "1.5.0",
      "ddp": "1.4.1",
      "ddp-client": "2.6.1",
      "ddp-common": "1.4.0",
      "ddp-rate-limiter": "1.2.0",
      "ddp-server": "2.6.2",
      "deps": "1.0.12",
      "dev-error-overlay": "0.1.2",
      "diff-sequence": "1.1.2",
      "dynamic-import": "0.7.3",
      "ecmascript": "0.16.7",
      "ecmascript-runtime": "0.8.1",
      "ecmascript-runtime-client": "0.12.1",
      "ecmascript-runtime-server": "0.11.0",
      "ejson": "1.1.3",
      "email": "2.2.5",
      "es5-shim": "4.8.0",
      "feit:server-picker": "0.0.1",
      "fetch": "0.1.3",
      "geojson-utils": "1.0.11",
      "hot-code-push": "1.0.4",
      "hot-module-replacement": "0.5.3",
      "html-tools": "1.1.3",
      "htmljs": "1.1.1",
      "http": "1.4.4",
      "id-map": "1.1.1",
      "inter-process-messaging": "0.1.1",
      "jquery": "1.11.11",
      "lai:collection-extensions": "0.3.0",
      "launch-screen": "1.3.0",
      "less": "3.0.2",
      "livedata": "1.0.18",
      "localstorage": "1.2.0",
      "logging": "1.3.2",
      "matb33:collection-hooks": "1.3.0",
      "mdg:validated-method": "1.3.0",
      "meteor": "1.11.3",
      "meteor-base": "1.5.1",
      "meteorhacks:picker": "1.0.3",
      "meteortesting:browser-tests": "1.5.3",
      "meteortesting:mocha": "2.1.0",
      "meteortesting:mocha-core": "8.1.2",
      "mikowals:batch-insert": "1.3.0",
      "minifier-css": "1.6.4",
      "minifier-js": "2.7.5",
      "minimongo": "1.9.3",
      "mixmax:smart-disconnect": "0.0.5",
      "mobile-experience": "1.1.0",
      "mobile-status-bar": "1.1.0",
      "modern-browsers": "0.1.9",
      "modules": "0.19.0",
      "modules-runtime": "0.13.1",
      "modules-runtime-hot": "0.14.2",
      "momentjs:moment": "2.29.3",
      "mongo": "1.16.7",
      "mongo-decimal": "0.1.3",
      "mongo-dev-server": "1.1.0",
      "mongo-id": "1.0.8",
      "montiapm:agent": "2.47.3",
      "montiapm:agent-binary-deps": "2.1.1",
      "montiapm:meteorx": "2.3.1",
      "montiapm:profiler": "1.6.3",
      "npm-mongo": "4.16.0",
      "observe-sequence": "1.0.21",
      "ordered-dict": "1.1.0",
      "ostrio:cookies": "2.7.2",
      "ostrio:cstorage": "3.0.1",
      "ostrio:files": "2.3.3",
      "ostrio:logger": "2.1.1",
      "ostrio:loggermongo": "2.1.0",
      "peerlibrary:blocking": "0.6.0",
      "peerlibrary:xml2js": "0.4.8_1",
      "percolate:migrations": "1.1.0",
      "promise": "0.12.2",
      "raix:eventemitter": "1.0.0",
      "random": "1.2.1",
      "rate-limit": "1.1.1",
      "react-fast-refresh": "0.2.7",
      "react-meteor-data": "2.7.2",
      "reactive-dict": "1.3.1",
      "reactive-var": "1.0.12",
      "reload": "1.3.1",
      "retry": "1.1.0",
      "routepolicy": "1.1.1",
      "session": "1.2.1",
      "sha": "1.0.9",
      "shell-server": "0.5.0",
      "socket-stream-client": "0.5.1",
      "spacebars": "1.4.1",
      "spacebars-compiler": "1.3.1",
      "standard-minifier-css": "1.9.2",
      "standard-minifier-js": "2.8.1",
      "static-html": "1.3.2",
      "templating": "1.4.2",
      "templating-compiler": "1.4.1",
      "templating-runtime": "1.6.3",
      "templating-tools": "1.2.2",
      "tmeasday:check-npm-versions": "1.0.2",
      "tracker": "1.3.2",
      "typescript": "4.9.4",
      "ui": "1.0.13",
      "underscore": "1.0.13",
      "url": "1.3.2",
      "webapp": "1.13.5",
      "webapp-hashing": "1.1.1",
      "xolvio:cleaner": "0.4.0",
      "zodern:meteor-package-versions": "0.2.1",
      "zodern:types": "1.0.10"
    }
  },
  "lastOutput": {
    "neededToUseUnanticipatedPrereleases": false,
    "answer": {
      "accounts-base": "2.2.8",
      "accounts-password": "2.3.4",
      "alanning:roles": "3.4.0",
      "aldeed:autoform": "7.0.1",
      "aldeed:collection2": "3.5.0",
      "allow-deny": "1.1.1",
      "autoupdate": "1.8.0",
      "babel-compiler": "7.10.4",
      "babel-runtime": "1.5.1",
      "babrahams:accounts-ldap": "0.10.4",
      "base64": "1.0.12",
      "binary-heap": "1.0.11",
      "blaze": "2.7.1",
      "blaze-tools": "1.1.3",
      "boilerplate-generator": "1.7.1",
      "bratelefant:meteor-push": "3.0.0",
      "bratelefant:meteor-react-use-captain-hook": "0.0.1",
      "caching-compiler": "1.2.2",
      "caching-html-compiler": "1.2.1",
      "callback-hook": "1.5.1",
      "check": "1.3.2",
      "cinn:multitenancy": "0.0.8",
      "dburles:collection-helpers": "1.1.0",
      "dburles:factory": "1.5.0",
      "ddp": "1.4.1",
      "ddp-client": "2.6.1",
      "ddp-common": "1.4.0",
      "ddp-rate-limiter": "1.2.0",
      "ddp-server": "2.6.2",
      "deps": "1.0.12",
      "dev-error-overlay": "0.1.2",
      "diff-sequence": "1.1.2",
      "dynamic-import": "0.7.3",
      "ecmascript": "0.16.7",
      "ecmascript-runtime": "0.8.1",
      "ecmascript-runtime-client": "0.12.1",
      "ecmascript-runtime-server": "0.11.0",
      "ejson": "1.1.3",
      "email": "2.2.5",
      "es5-shim": "4.8.0",
      "feit:server-picker": "0.0.1",
      "fetch": "0.1.3",
      "geojson-utils": "1.0.11",
      "hot-code-push": "1.0.4",
      "hot-module-replacement": "0.5.3",
      "html-tools": "1.1.3",
      "htmljs": "1.1.1",
      "http": "1.4.4",
      "id-map": "1.1.1",
      "inter-process-messaging": "0.1.1",
      "isobuild:compiler-plugin": "1.0.0",
      "isobuild:dynamic-import": "1.5.0",
      "isobuild:isopack-2": "1.0.0",
      "isobuild:linter-plugin": "1.0.0",
      "isobuild:minifier-plugin": "1.0.0",
      "jquery": "1.11.11",
      "lai:collection-extensions": "0.3.0",
      "launch-screen": "1.3.0",
      "less": "3.0.2",
      "livedata": "1.0.18",
      "localstorage": "1.2.0",
      "logging": "1.3.2",
      "matb33:collection-hooks": "1.3.0",
      "mdg:validated-method": "1.3.0",
      "meteor": "1.11.3",
      "meteor-base": "1.5.1",
      "meteorhacks:picker": "1.0.3",
      "meteortesting:browser-tests": "1.5.3",
      "meteortesting:mocha": "2.1.0",
      "meteortesting:mocha-core": "8.1.2",
      "mikowals:batch-insert": "1.3.0",
      "minifier-css": "1.6.4",
      "minifier-js": "2.7.5",
      "minimongo": "1.9.3",
      "mixmax:smart-disconnect": "0.0.5",
      "mobile-experience": "1.1.0",
      "mobile-status-bar": "1.1.0",
      "modern-browsers": "0.1.9",
      "modules": "0.19.0",
      "modules-runtime": "0.13.1",
      "modules-runtime-hot": "0.14.2",
      "momentjs:moment": "2.29.3",
      "mongo": "1.16.7",
      "mongo-decimal": "0.1.3",
      "mongo-dev-server": "1.1.0",
      "mongo-id": "1.0.8",
      "montiapm:agent": "2.47.3",
      "montiapm:agent-binary-deps": "2.1.1",
      "montiapm:meteorx": "2.3.1",
      "montiapm:profiler": "1.6.3",
      "npm-mongo": "4.16.0",
      "observe-sequence": "1.0.21",
      "ordered-dict": "1.1.0",
      "ostrio:cookies": "2.7.2",
      "ostrio:cstorage": "3.0.1",
      "ostrio:files": "2.3.3",
      "ostrio:logger": "2.1.1",
      "ostrio:loggermongo": "2.1.0",
      "peerlibrary:blocking": "0.6.0",
      "peerlibrary:xml2js": "0.4.8_1",
      "percolate:migrations": "1.1.0",
      "promise": "0.12.2",
      "raix:eventemitter": "1.0.0",
      "random": "1.2.1",
      "rate-limit": "1.1.1",
      "react-fast-refresh": "0.2.7",
      "react-meteor-data": "2.7.2",
      "reactive-dict": "1.3.1",
      "reactive-var": "1.0.12",
      "reload": "1.3.1",
      "retry": "1.1.0",
      "routepolicy": "1.1.1",
      "session": "1.2.1",
      "sha": "1.0.9",
      "shell-server": "0.5.0",
      "socket-stream-client": "0.5.1",
      "spacebars": "1.4.1",
      "spacebars-compiler": "1.3.1",
      "standard-minifier-css": "1.9.2",
      "standard-minifier-js": "2.8.1",
      "static-html": "1.3.2",
      "templating": "1.4.2",
      "templating-compiler": "1.4.1",
      "templating-runtime": "1.6.3",
      "templating-tools": "1.2.2",
      "tmeasday:check-npm-versions": "1.0.2",
      "tracker": "1.3.2",
      "typescript": "4.9.4",
      "ui": "1.0.13",
      "underscore": "1.0.13",
      "url": "1.3.2",
      "webapp": "1.13.5",
      "webapp-hashing": "1.1.1",
      "xolvio:cleaner": "0.4.0",
      "zodern:meteor-package-versions": "0.2.1",
      "zodern:types": "1.0.10"
    }
  }
}

Last one is prettyfied a bit.

I am having the same problem when I do this command
meteor update --release 3.0-alpha.17
Did you find a solution ?

They might be modeling the problem as a SAT sentence because they really need it (we might not), or because it is simpler to use a SAT solver than an LP solver (then it is not necessary).

Exact version constraints can be modeled by an LP even more easily than what I described earlier.

So I still do not see why going all the way to NP-complete is necessary.

Not yet, wanted to try to clean up some few remaining not neccessary packages maybe this could help…

Could you maybe recompile this for an upcoming alpha with say doubled total memory for the solver? I’d really like to continue my journey towards 3.0

Have the same error.
@bratelefant @zodern any updates on this?

1 Like

No unfortunately not

1 Like

Hello,
I continue to not be able to test 3.0

I have performed this command :

meteor update --release 3.0-alpha.19

And after a minutes I get this :

MINISAT-out: Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value 67108864, (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.
MINISAT-err: Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value 67108864, (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.
abort() at Error                              
    at jsStackTrace (packages/logic-solver.js:21:18626)
    at stackTrace (packages/logic-solver.js:21:18809)
    at abort (packages/logic-solver.js:51:28956)
    at enlargeMemory (packages/logic-solver.js:21:19142)
    at Function.dynamicAlloc [as alloc] (packages/logic-solver.js:21:7927)
    at _sbrk (packages/logic-solver.js:21:58803)
    at Sd (packages/logic-solver.js:25:98389)
    at Ud (packages/logic-solver.js:25:109800)
    at gc (packages/logic-solver.js:25:41378)
    at pc (packages/logic-solver.js:25:46259)
    at _b (packages/logic-solver.js:25:31709)
    at $b (packages/logic-solver.js:25:35130)
    at Bc (packages/logic-solver.js:25:54870)
    at hd (packages/logic-solver.js:25:84479)
    at MiniSat.solveAssuming (packages/logic-solver.js:156:18)
    at Logic.Solver.solve (packages/logic-solver.js:1680:33)
    at Logic.Solver.solveAssuming (packages/logic-solver.js:1713:21)
    at minMaxWS (packages/logic-solver.js:1999:32)
    at packages/constraint-solver.js:1381:22
    at CS.Solver.minimize (packages/constraint-solver.js:1365:3)
    at CS.Solver.minimize (packages/constraint-solver.js:1359:5)
    at CS.Solver._getAnswer (packages/constraint-solver.js:1749:3)
    at Object.Logic.disablingAssertions (packages/logic-solver.js:389:12)
    at Function.CS.PackagesResolver._resolveWithInput (packages/constraint-solver.js:2333:10)
    at CS.PackagesResolver.resolve (packages/constraint-solver.js:2294:14)
    at /tools/project-context.js:669:26
    at /tools/project-context.js:665:11
    at Object.enterJob (/tools/utils/buildmessage.js:387:12)
    at /tools/packaging/catalog/catalog.js:100:5
    at Object.capture (/tools/utils/buildmessage.js:282:5)
    at Object.catalog.runAndRetryWithRefreshIfHelpful (/tools/packaging/catalog/catalog.js:99:18)
    at ProjectContext._resolveConstraints (/tools/project-context.js:636:5)
    at /tools/project-context.js:402:9
    at Object.enterJob (/tools/utils/buildmessage.js:387:12)
    at /tools/cli/commands-packages.js:1739:5
    at Object.capture (/tools/utils/buildmessage.js:282:5)
    at Object.main.captureAndExit (/tools/cli/main.js:275:16)
    at maybeUpdateRelease (/tools/cli/commands-packages.js:1738:3)
    at Command.func (/tools/cli/commands-packages.js:1812:29)
    at /tools/cli/main.js:1527:15
If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.

Do you have any idea ? Thanks

Hello Everybody,
Does anyone know how to fix this ? Is this a package dependency problem ? We are migrating an app to meteor 3 but this prevent us from testing alpha version.
Thanks a lot

Have you tried setting Module.TOTAL_MEMORY to something larger than the default (67108864)?

Curious, does this solve it?

I was getting this exact same error, but it went away when I removed the explicit version specifier from the package, ie accounts-password@2.0.3 became accounts-password

Hello, Thanks for pointing to this github issue.
Unfortunately removing the version specifer from accounts-password did not solve my issue.

@dokithonon Is there actually a way to do this?

Otherwise, as @jam suggests, this might be some sort of dependency hell issue, similar, but not the same, as the issue they linked to on GH.

Hello,
I don’t know how to change this Module.TOTAL_MEMORY .
I also think that it has to do with a package dependency infinite recursivity things.

As suggested on github I will try to start from a fresh app in meteor 3 and add my packages 1 by 1. This can take some times…

Hi @zodern

just tried to update to 3.0-beta.0 in order to get to test my PR on Meteor-Files. Still get that miniSAT error. I have setup a freshly initialized meteor app with my packages file that causes trouble to be able to reproduce the issue, cf. https://github.com/bratelefant/meteor-beta3-bug.

If you run meteor update --release 3.0-beta.0 here, I get the miniSAT error.

I’m currently running this on macOS Ventura (M1 MBP)

My bad, the fact that the set of possible versions is finite is what makes this require “integrality” constraints (to be read as: only certain versions of packages exist).

Have you tried Daniel’s suggestion?

Try with no packages, then re add them one by one without version numbers