@vbgm Known issue, already fixed
Your crash is #14517 (Change-streams observer crashes publications on nested-object projections instead of falling back to polling (3.5 regression) · Issue #14517 · meteor/meteor · GitHub): in 3.5 Change Streams became the default reactivity driver, and its availability check forgot to validate projections — one of your publications/observes uses a projection with an operator ($elemMatch, $slice or $meta). MongoDB accepts those, and on 3.4.1 the oplog driver declined the cursor and fell back to polling, which is why it works there. The fix (#14518, fix(mongo): validate projection in Change Streams driver check so unsupported projections fall back by BastienRodz · Pull Request #14518 · meteor/meteor · GitHub, graceful fallback restored) was merged into release-3.5.1 today, so upgrading to 3.5.1 once it ships will fix it with no change on your side. If you want to run 3.5 before that: "packages": { "mongo": { "reactivity": ["oplog", "polling"] } } in your settings. Note the Cordova source-map error is a separate issue — worth its own report ![]()
Running macOS Tahoe 26.5.2
Using Webstorm 20261.1
Node is at version 24
- Removed any old meteor files and reinstalled meteor with npx. This installs meteor 3.4.1. BTW.
- Updated meteor to 3.5
- Did a standard
meteor create <m3_5> - Did not add any other files, just using basic project creation
- Using
NODE_OPTIONS=--trace-warningsin the run config
Get the following messages when first starting up:
=> Started proxy.
=> Started HMR server.
(node:16151) Warning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
at urlParse (node:url:136:13)
at Object.getPackageStatsServerDomain (/tools/meteor-services/config.js:60:10)
at Object.recordPackages (/tools/meteor-services/stats.js:76:18)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
=> Started Rspack HMR server at http://localhost:8080/
=> Started MongoDB.
=> Started your app.
=> App running at http://localhost:3000/
(node:16225) Warning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
at urlParse (node:url:136:13)
at packages/rspack/rspack_server.js:182:20
at Generator.next (<anonymous>)
at asyncGeneratorStep (/Users/rainer_paduch/Work/Test_Meteor3.5/m3_5/.meteor/local/build/programs/server/packages/rspack.js:23:28)
at _next (/Users/rainer_paduch/Work/Test_Meteor3.5/m3_5/.meteor/local/build/programs/server/packages/rspack.js:41:17)
at /Users/rainer_paduch/Work/Test_Meteor3.5/m3_5/.meteor/local/build/programs/server/packages/rspack.js:46:13
at new Promise (<anonymous>)
at /Users/rainer_paduch/Work/Test_Meteor3.5/m3_5/.meteor/local/build/programs/server/packages/rspack.js:38:16
at Object.WebAppInternals.staticFilesMiddleware (packages/rspack/rspack_server.js:209:1)
at packages/webapp/webapp_server.js:1138:21
at Layer.handleRequest (/Users/rainer_paduch/.meteor/packages/webapp/.2.2.0.ph868jgvil++os+web.browser+web.browser.legacy+web.cordova/npm/node_modules/router/lib/layer.js:152:17)
at trimPrefix (/Users/rainer_paduch/.meteor/packages/webapp/.2.2.0.ph868jgvil++os+web.browser+web.browser.legacy+web.cordova/npm/node_modules/router/index.js:342:13)
at /Users/rainer_paduch/.meteor/packages/webapp/.2.2.0.ph868jgvil++os+web.browser+web.browser.legacy+web.cordova/npm/node_modules/router/index.js:297:9
at processParams (/Users/rainer_paduch/.meteor/packages/webapp/.2.2.0.ph868jgvil++os+web.browser+web.browser.legacy+web.cordova/npm/node_modules/router/index.js:582:12)
at next (/Users/rainer_paduch/.meteor/packages/webapp/.2.2.0.ph868jgvil++os+web.browser+web.browser.legacy+web.cordova/npm/node_modules/router/index.js:291:5)
at packages/webapp/webapp_server.js:1131:5
(node:16225) Warning: The `util._extend` API is deprecated. Please use Object.assign() instead.
at node:internal/util:129:11
at deprecated (node:internal/util:192:7)
at ProxyServer.<anonymous> (/Users/rainer_paduch/.meteor/packages/rspack/.1.1.0.155xmnvdgv2++os+web.browser+web.browser.legacy+web.cordova/npm/dev/node_modules/http-proxy/lib/http-proxy/index.js:50:26)
at HttpProxyMiddleware.middleware (/Users/rainer_paduch/.meteor/packages/rspack/.1.1.0.155xmnvdgv2++os+web.browser+web.browser.legacy+web.cordova/npm/dev/node_modules/http-proxy-middleware/dist/http-proxy-middleware.js:23:32)
at runNextTicks (node:internal/process/task_queues:65:5)
at processImmediate (node:internal/timers:472:9)
I ran into this while deploying with Meteor Up. It looks like the zodern/meteor:root image uses a base system that is too old for Meteor 3.5 with the uws DDP transport.
The app crashes with:
Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found
(required by /built_app/programs/server/npm/node_modules/meteor/ddp-server/node_modules/uWebSockets.js/uws_linux_x64_137.node)
at /built_app/programs/server/npm/node_modules/meteor/ddp-server/node_modules/uWebSockets.js/uws.js:22:9
at Object.setup (packages/ddp-server/transports/uws.js:13:23)
at new StreamServer (packages/ddp-server/stream_server.js:45:27)
at new Server (packages/ddp-server/livedata_server.js:1348:24)
I also found another image that supports Meteor 3.5: GitHub - zcloud-ws/zcloud-community-images · GitHub
However, after testing zcloudws/meteor-node-runtime:3.5, it also seems to use an older glibc version, so it does not solve the GLIBC_2.38 issue.
Has anyone found a Meteor Up compatible image that works with Meteor 3.5, Node 24, and the uws transport?
Sorry for getting back so late, I can confirm the issue is fixed, deployment at scalingo is working like a charm
Meteor 3.5 is an awesome release, thanks for your great work!
I just published updated zodern/meteor docker images that are compatible with Meteor 3.5 and uws.
Any issues using PublishComposite with new change streams?
Wow, that’s great!! Really appreciate it!
But are these redis-oplog runs, or just Meteor oplog? As that would make a big difference.
For current redis-oplog users who want to upgrade to Meteor 3.5 but keep the reactivity driver the same for now, would we use:
"reactivity": ["oplog", "polling"]
…and keep redis-oplog and disable-oplog packages installed?
It seems like this would keep things the same under the hood for Meteor 3.5?
it’s just oplog for now
no, you dont need to do anything, redis-oplog pkg just replace the WHOLE original reactivity system, so just install it and be happy