Uncaught Exception "Deno.permissions.querySync is not a function" when using Deno Deploy CLI
Environment
7.99.0
Steps to Reproduce
- Import Sentry via:
import * as Sentry from 'https://deno.land/x/[email protected]/index.mjs';in any typescript file. - Run Deno Deploy:
deployctl deploy --project=<SOME_PROJECT> ./src/main.ts - See exception:
Using config file 'deno.jsonc'
✔ Deploying to project <SOME_PROJECT>.
✔ Entrypoint: /src/main.ts
ℹ Uploading all files from the current dir (server)
✔ Found 62 assets.
✔ Uploaded 5 new assets.
✖ Deployment failed.
error: The deployment failed: UNCAUGHT_EXCEPTION
TypeError: Deno.permissions.querySync is not a function
at getHostName (https://deno.land/x/[email protected]/index.mjs:11183:35)
at new DenoClient (https://deno.land/x/[email protected]/index.mjs:11215:41)
at initAndBind (https://deno.land/x/[email protected]/index.mjs:10396:18)
at Module.init (https://deno.land/x/[email protected]/index.mjs:12445:3)
at file:///src/src/main.ts:25:9
at eventLoopTick (ext:core/01_core.js:182:7)
This is noted on Deno Deploy Github here as well. https://github.com/denoland/deploy_feedback/issues/527#issuecomment-1845083474
Expected Result
Expected result is that Deno Deploy works without issue.
Deployment works when using Sentry via the npm import: import * as Sentry from 'npm:@sentry/node'
Actual Result
Deno Deploy fails. Here are the logs from Deno Deploy portal:
Cloning repository (100%)
Downloaded
file:///src/src/main.ts
Downloaded
https://deno.land/[email protected]/dotenv/mod.ts
Downloaded
https://deno.land/x/[email protected]/mod.ts
Downloaded
https://deno.land/x/[email protected]/middleware.ts
Downloaded
file:///src/src/clients/redis/redis_client.ts
Downloaded
file:///src/src/features/articles/articles.service.ts
Downloaded
file:///src/src/clients/project_media/project_media_client.ts
Downloaded
file:///src/src/features/articles/articles.controller.ts
Downloaded
file:///src/src/middlewares/error_handler/error_handler.ts
Downloaded
https://deno.land/x/[email protected]/index.mjs
Downloaded
file:///src/src/features/account/account.controller.ts
Downloaded
file:///src/src/features/account/account.service.ts
Downloaded
file:///src/src/clients/project_account/project_account_client.ts
Downloaded
file:///src/src/middlewares/logger/custom_hono_logger.ts
Downloaded
https://deno.land/[email protected]/fmt/colors.ts
Downloaded
https://deno.land/x/[email protected]/hono.ts
Downloaded
https://deno.land/x/[email protected]/http-exception.ts
Downloaded
https://deno.land/x/[email protected]/router/reg-exp-router/index.ts
Downloaded
https://deno.land/x/[email protected]/router/trie-router/index.ts
Downloaded
https://deno.land/x/[email protected]/router/smart-router/index.ts
Downloaded
https://deno.land/x/[email protected]/router/pattern-router/index.ts
Downloaded
https://deno.land/x/[email protected]/router/linear-router/index.ts
Downloaded
https://deno.land/x/[email protected]/validator/index.ts
Downloaded
https://deno.land/x/[email protected]/client/index.ts
Downloaded
https://deno.land/x/[email protected]/middleware/basic-auth/index.ts
Downloaded
https://deno.land/x/[email protected]/middleware/bearer-auth/index.ts
Downloaded
https://deno.land/x/[email protected]/middleware/cache/index.ts
Downloaded
https://deno.land/x/[email protected]/helper/cookie/index.ts
Downloaded
https://deno.land/x/[email protected]/middleware/compress/index.ts
Downloaded
https://deno.land/x/[email protected]/middleware/cors/index.ts
Downloaded
https://deno.land/x/[email protected]/middleware/csrf/index.ts
Downloaded
https://deno.land/x/[email protected]/middleware/etag/index.ts
Downloaded
https://deno.land/x/[email protected]/helper/html/index.ts
Downloaded
https://deno.land/x/[email protected]/jsx/index.ts
Downloaded
https://deno.land/x/[email protected]/middleware/jsx-renderer/index.ts
Downloaded
https://deno.land/x/[email protected]/middleware/jwt/index.ts
Downloaded
https://deno.land/x/[email protected]/middleware/logger/index.ts
Downloaded
https://deno.land/x/[email protected]/middleware/powered-by/index.ts
Downloaded
https://deno.land/x/[email protected]/middleware/timing/index.ts
Downloaded
https://deno.land/x/[email protected]/middleware/pretty-json/index.ts
Downloaded
https://deno.land/x/[email protected]/middleware/secure-headers/index.ts
Downloaded
https://deno.land/x/[email protected]/adapter/deno/serve-static.ts
Downloaded
https://deno.land/x/[email protected]/mod.ts
Downloaded
file:///src/src/clients/project_media/models/project_media.interfaces.ts
Downloaded
file:///src/src/features/articles/articles.interfaces.ts
Downloaded
file:///src/src/clients/project_media/find_included.ts
Downloaded
file:///src/src/features/articles/parser/content_parser.ts
Downloaded
file:///src/src/features/articles/parser/errors/parse_data_failed.ts
Downloaded
file:///src/src/features/articles/parser/interest_parser.ts
Downloaded
file:///src/src/features/articles/parameters/get_articles_params.ts
Downloaded
file:///src/src/features/articles/filters/is_live_blog_filter.ts
Downloaded
file:///src/src/features/articles/filters/air_date_in_future_filter.ts
Downloaded
file:///src/src/clients/project_media/errors/project_media_not_found.ts
Downloaded
file:///src/src/referer.ts
Downloaded
file:///src/src/errors/ensure_error.ts
Downloaded
file:///src/src/middlewares/logger/sentry_exception_logger.ts
Downloaded
file:///src/src/clients/project_account/errors/project_account_error.ts
Downloaded
file:///src/src/clients/project_account/models/project_account.interface.ts
Downloaded
file:///src/src/features/account/account.interfaces.ts
Downloaded
https://deno.land/x/[email protected]/mod.ts
Downloaded
https://deno.land/x/[email protected]/hono-base.ts
Downloaded
https://deno.land/x/[email protected]/router/reg-exp-router/router.ts
Downloaded
https://deno.land/x/[email protected]/router/trie-router/router.ts
Downloaded
https://deno.land/x/[email protected]/router/smart-router/router.ts
Downloaded
https://deno.land/x/[email protected]/router/pattern-router/router.ts
Downloaded
https://deno.land/x/[email protected]/router/linear-router/router.ts
Downloaded
https://deno.land/x/[email protected]/validator/validator.ts
Downloaded
https://deno.land/x/[email protected]/client/client.ts
Downloaded
https://deno.land/x/[email protected]/utils/buffer.ts
Downloaded
https://deno.land/x/[email protected]/utils/encode.ts
Downloaded
https://deno.land/x/[email protected]/utils/cookie.ts
Downloaded
https://deno.land/x/[email protected]/utils/crypto.ts
Downloaded
https://deno.land/x/[email protected]/utils/html.ts
Downloaded
https://deno.land/x/[email protected]/jsx/components.ts
Downloaded
https://deno.land/x/[email protected]/jsx/streaming.ts
Downloaded
https://deno.land/x/[email protected]/utils/jwt/index.ts
Downloaded
https://deno.land/x/[email protected]/context.ts
Downloaded
https://deno.land/x/[email protected]/utils/url.ts
Downloaded
https://deno.land/x/[email protected]/utils/filepath.ts
Downloaded
https://deno.land/x/[email protected]/utils/mime.ts
Downloaded
https://deno.land/x/[email protected]/protocol/shared/types.ts
Downloaded
https://deno.land/x/[email protected]/redis.ts
Downloaded
https://deno.land/x/[email protected]/errors.ts
Downloaded
file:///src/src/features/articles/parser/article_content.interfaces.ts
Downloaded
file:///src/src/logger.ts
Downloaded
file:///src/src/errors/base_error.ts
Downloaded
https://deno.land/x/[email protected]/index.ts
Downloaded
https://deno.land/x/[email protected]/compose.ts
Downloaded
https://deno.land/x/[email protected]/request.ts
Downloaded
https://deno.land/x/[email protected]/router.ts
Downloaded
https://deno.land/x/[email protected]/router/reg-exp-router/node.ts
Downloaded
https://deno.land/x/[email protected]/router/reg-exp-router/trie.ts
Downloaded
https://deno.land/x/[email protected]/router/trie-router/node.ts
Downloaded
https://deno.land/x/[email protected]/client/utils.ts
Downloaded
https://deno.land/x/[email protected]/utils/jwt/jwt.ts
Downloaded
https://deno.land/x/[email protected]/utils/stream.ts
Downloaded
https://deno.land/x/[email protected]/connection.ts
Downloaded
https://deno.land/x/[email protected]/executor.ts
Downloaded
https://deno.land/x/[email protected]/pipeline.ts
Downloaded
https://deno.land/x/[email protected]/pubsub.ts
Downloaded
https://deno.land/x/[email protected]/stream.ts
Downloaded
https://deno.land/[email protected]/log/mod.ts
Downloaded
https://deno.land/x/[email protected]/external.ts
Downloaded
https://deno.land/x/[email protected]/utils/body.ts
Downloaded
https://deno.land/x/[email protected]/utils/jwt/types.ts
Downloaded
https://deno.land/x/[email protected]/protocol/deno_streams/mod.ts
Downloaded
https://deno.land/x/[email protected]/backoff.ts
Downloaded
https://deno.land/x/[email protected]/internal/symbols.ts
Downloaded
https://deno.land/x/[email protected]/vendor/https/deno.land/std/async/deferred.ts
Downloaded
https://deno.land/x/[email protected]/vendor/https/deno.land/std/async/delay.ts
Downloaded
https://deno.land/x/[email protected]/internal/encoding.ts
Downloaded
https://deno.land/[email protected]/log/logger.ts
Downloaded
https://deno.land/[email protected]/log/handlers.ts
Downloaded
https://deno.land/[email protected]/assert/assert.ts
Downloaded
https://deno.land/[email protected]/log/levels.ts
Downloaded
https://deno.land/x/[email protected]/errors.ts
Downloaded
https://deno.land/x/[email protected]/helpers/parseUtil.ts
Downloaded
https://deno.land/x/[email protected]/helpers/typeAliases.ts
Downloaded
https://deno.land/x/[email protected]/helpers/util.ts
Downloaded
https://deno.land/x/[email protected]/types.ts
Downloaded
https://deno.land/x/[email protected]/ZodError.ts
Downloaded
https://deno.land/x/[email protected]/vendor/https/deno.land/std/io/buf_reader.ts
Downloaded
https://deno.land/x/[email protected]/vendor/https/deno.land/std/io/buf_writer.ts
Downloaded
https://deno.land/x/[email protected]/protocol/deno_streams/reply.ts
Downloaded
https://deno.land/x/[email protected]/protocol/deno_streams/command.ts
Downloaded
https://deno.land/[email protected]/async/deferred.ts
Downloaded
https://deno.land/[email protected]/async/delay.ts
Downloaded
https://deno.land/[email protected]/fmt/colors.ts
Downloaded
https://deno.land/[email protected]/fs/exists.ts
Downloaded
https://deno.land/[email protected]/io/buf_writer.ts
Downloaded
https://deno.land/[email protected]/assert/assertion_error.ts
Downloaded
https://deno.land/x/[email protected]/locales/en.ts
Downloaded
https://deno.land/x/[email protected]/helpers/enumUtil.ts
Downloaded
https://deno.land/x/[email protected]/helpers/errorUtil.ts
Downloaded
https://deno.land/x/[email protected]/helpers/partialUtil.ts
Downloaded
https://deno.land/[email protected]/io/buf_reader.ts
Downloaded
https://deno.land/[email protected]/io/buf_writer.ts
Downloaded
https://deno.land/x/[email protected]/protocol/shared/reply.ts
Downloaded
https://deno.land/x/[email protected]/protocol/shared/command.ts
Downloaded
https://deno.land/[email protected]/bytes/copy.ts
Downloaded
https://deno.land/[email protected]/assert/assert.ts
Downloaded
https://deno.land/[email protected]/bytes/copy.ts
Downloaded
https://deno.land/x/[email protected]/vendor/https/deno.land/std/bytes/concat.ts
Downloaded
https://deno.land/[email protected]/assert/assertion_error.ts
Downloaded
https://deno.land/[email protected]/bytes/concat.ts
Packaging complete
Error The deployment failed: UNCAUGHT_EXCEPTION
TypeError: Deno.permissions.querySync is not a function
at getHostName (https://deno.land/x/[email protected]/index.mjs:11183:35)
at new DenoClient (https://deno.land/x/[email protected]/index.mjs:11215:41)
at initAndBind (https://deno.land/x/[email protected]/index.mjs:10396:18)
at Module.init (https://deno.land/x/[email protected]/index.mjs:12445:3)
at file:///src/src/main.ts:25:9
at eventLoopTick (ext:core/01_core.js:182:7)
EDIT: Still failing on 7.99.0, SDK version updated
@getsentry-bot Bump
Hm this sucks. It looks like an upstream issue to me that deno deploy should fix. We don't have the capacity to fix this right now so I'll backlog. Maybe you can work around this with the workaround described here: https://github.com/denoland/deploy_feedback/issues/527#issuecomment-1774129816
Hm this sucks. It looks like an upstream issue to me that deno deploy should fix. We don't have the capacity to fix this right now so I'll backlog. Maybe you can work around this with the workaround described here: denoland/deploy_feedback#527 (comment)
@lforst Sounds good, I'll look into the workaround. I switched back to using the npm package for now and that is working for me. I also didn't realize that posting issues on sentry-deno open an issue here. TIL.
From Deno Discord: https://discord.com/channels/684898665143206084/826085979344470037/1209268059173298257
I thnk *Sync functions are all omitted intentionally and the sentry module should be updated to use the async apis ideally
Do you know if there is any progress on trying to resolve this one Sentry/Deno side? Is there any way I could help to progress with this one?
I encountered the same bug which unfortunately makes Sentry not an option for me to use on Deno projects deployed to Deno Deploy.
@pawelgrzybek I just realized that we probably don't have to rely on querySync and opened a pr to fix. We will probably release this within the next two weeks. (Next week Sentry has a hackathon we won't be around for normal operation.) https://github.com/getsentry/sentry-javascript/pull/13378
Thanks for info and rapid reaction @lforst , looking forward for this one to be merged and released.