Skip to content

"URL.parse()" works differently in diff versions of Nodejs #49024

Description

Version

18.17.0 or 18.16.X

Platform

N/A (including Windows, Mac and Linux)

Subsystem

N/A

What steps will reproduce the bug?

  1. Open any dev env.
  2. Write a very simple code, something like this:
const URL = require('url');
const result = URL.parse('dubbo://300.149.250.173:20880/demo.DemoService?anyhost=true&application=demo-provider&dubbo=2.0.0&generic=false&interface=demo.DemoService&loadbalance=roundrobin&methods=sayHello&owner=william&pid=81281&side=provider&timestamp=1481613276143');

How often does it reproduce? Is there a required condition?

Always,without a required condition

What is the expected behavior? Why is that the expected behavior?

Works properly as what we see in the previous version (Before Node 18.17.0、18.16.X, it works fine without any exceptions).

What do you see instead?

TypeError [ERR_INVALID_URL]: Invalid URL\n' +
' at new NodeError (node:internal/errors:405:5)\n' +
' at Url.parse (node:url:445:17)\n' +
' at new urlParse (node:url:167:13)\n'

Additional information

  1. This ONLY happens in Nodejs since 18.17.0 or 18.16.X, I cannot reproduce it any more in the other versions of Nodejs (Even in the previous versions of Nodejs like "18.14.X", we cannot reproduce it.....

  2. When I change "300.149.250.173" to "www.randomAddress.com", everything works fine, why (I mean it seems I cannot use numeric address but Latin-based address....)?

Activity

  1. ghost changed the title [-]"URL.parse()" works bad in diff versions of Nodejs[/-] [+]"URL.parse()" works differently in diff versions of Nodejs[/+] on Aug 5, 2023
  2. added
    urlIssues and PRs related to the legacy built-in url module.
    on Aug 5, 2023
  3. anonrig commented on Aug 5, 2023

    @anonrig
    Member

    cc @nodejs/url

  4. anonrig commented on Aug 5, 2023

    @anonrig
    Member

    I think this issue is related to the missing backport in v18. Does this issue occur in latest node 20 or main branch?

  5. erwinheitzman commented on Aug 8, 2023

    @erwinheitzman

    We are running into a similar or perhaps the same issue where v16, v18.16.0 and v20 all work whereas for v18.17.0 we have a failing test with the following result for the url difference:
    Screenshot 2023-08-08 at 10 27 59
    Perhaps this helps.

  6. lemire commented on Aug 8, 2023

    @lemire
    Member

    Looks like a missing backport to 18?

    cc @anonrig

  7. lpinca commented on Aug 10, 2023

    @lpinca
    Member

    Maybe #48873?

  8. anonrig commented on Aug 28, 2023

    @anonrig
    Member

    Backport has landed in the staging branch, and will be released in the next couple of days.

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

    urlIssues and PRs related to the legacy built-in url module.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions