Sitelet https://github.com/getsentry/sentry-javascript/issues/8552
Skip to content

request library fails with Sentry enabled on Node 20 #8552

Description

@simllll

Is there an existing issue for this?

How do you use Sentry?

Self-hosted/on-premise

Which SDK are you using?

@sentry/node

SDK Version

7.57.0

Framework Version

No response

Link to Sentry event

No response

SDK Setup

Sentry.init({
	dsn: 'https://0068cfe558e44d329481bc767d6b4e41@sentry.HOSTNAME/12'
});


Steps to Reproduce

node20 + arm64 + request library + sentry

script:

import * as Sentry from '@sentry/node';
import * as request from 'requestretry';

// comment this, and it works, otherwise oyu get error 403
Sentry.init({
        dsn: 'https://0068cfe558e44d329481bc767d6b4e41@test.com/0'
});

const test = async () => {
const result = await request.get({
                                url: 'https://files.test.hokify.com/undefined565c67d6e855735aa2eab974_1510057848572.jpg'
                        });
console.log('RESULT', result);
};

test();

run with ts-node test.ts
~

body returns
body: '\n' +
'AccessDeniedAccess Denied2W0387H91RPD35YJupEwGHmpd6/Em0HdUtLK6jW0tLKNnKKRdO2o/w1pEFWPsSLGxAeym4tVYhZVCO92PmM8bgk9jQQ=',
attempts: 1,

but it should actually return the image (buffer)
this behaviour is ONLY happening on arm64, not on amd64.
it also only happens with node20, node18 works fine too.

Expected Result

the url is public available, and is retrievable like it is without sentry.init()

Actual Result

it throws a 403 error, somehow senty modifies the request

I assume this is a node bug, as it only happen son arm64, but need help to narrow this down what can cause this.

Activity

  1. moved this to Waiting for: Product Owner in GitHub Issues with 👀on Jul 17, 2023
  2. simllll commented on Jul 17, 2023

    @simllll
    Author
  3. simllll commented on Jul 23, 2023

    @simllll
    Author

    This is a quite serious issue, especially since it is happening in a very unexpected way. I can imagine that more people will run into this, and maybe even do not recognise it in the beginning. E.g. our test suite didn't detect any issues as there is no sentry initialised at this time. Anything we can do to support getting this resolved?

  4. winnyschuster commented on Jul 25, 2023

    @winnyschuster

    i think we are having the very same issue at open source project iobroker. I have to contradict that it is only happening on arm64 systems, i use amd64(debian-bullseye, node 20.5.0, latest sentry 7.60.0) We found only issues where the request() lib is used but i think it has to do with exchange of the node:http module to the sentry-http module once sentry is initialized, so could probably happen elsewhere.

    i have nailed it down to sentry somehow cutting the Request URI from (in your example) /undefined565c67d6e855735aa2eab974_1510057848572.jpg to just /. So, your 403 comes from the fact that host https://files.test.hokify.com/ is just not accessible.

    i have changed protocol to http in your request and monitored this with wireshark where you can truly see whats going on at the end. see attached pic with 1st line has sentry enabled and 2nd disabled

    Hope this helps the team over here to find the issue. Of course i'm willing to do further testing if asked for

    SentryWireshark

  5. 62 remaining items

  6. winnyschuster commented on Sep 4, 2023

    @winnyschuster

    Did someone verified that this nodejs fix also fixes the issue?

    i just did with node 20.6.0 and that solved the issue

  7. moved this to Waiting for: Product Owner in GitHub Issues with 👀on Sep 4, 2023
  8. lforst commented on Sep 5, 2023

    @lforst
    Contributor

    @winnyschuster Thanks for confirming! Closing this then :)

  9. moved this from Waiting for: Product Owner to No status in GitHub Issues with 👀on Sep 5, 2023
  10. Apollon77 commented on Sep 6, 2023

    @Apollon77

    Thank you all!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions