Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DDW-895] Solving ipv6 Issues by updating cardano-launcher #2839

Merged
merged 4 commits into from Apr 29, 2022

Conversation

danielmain
Copy link
Contributor

@danielmain danielmain commented Jan 26, 2022

This PR upgrades cardano-launcher which starts cardano-node without listening ipv6
See IntersectMBO/cardano-launcher#136

Todos

  • Pumb cardano-launcher
  • Test Daedalus in environments with ipv6 and no ipv6

Screenshots

Testing Checklist

  • Slack QA thread
  • Test Daedalus in win/linux/mac with and withouth a vpn (nordVPN/expressVPN)

Review Checklist

Basics

  • PR assigned to the PR author(s)
  • input-output-hk/daedalus-dev and input-output-hk/daedalus-qa assigned as PR reviewers
  • If there are UI changes, Alexander Rukin assigned as an additional reviewer
  • All visual regression testing has been reviewed (Go to Github Actions tab -> Select Chromatic workflow -> Run on your working branch)
  • PR has appropriate labels (release-vNext, feature/bug/chore, WIP)
  • PR link is added to a Jira ticket, ticket moved to In Review
  • PR is updated to the most recent version of the target branch (and there are no conflicts)
  • PR has a good description that summarizes all changes
  • PR contains screenshots (in case of UI changes)
  • CHANGELOG entry has been added to the top of the appropriate section (Features, Fixes, Chores) and is linked to the correct PR on GitHub
  • There are no missing translations (running yarn manage:translations produces no changes)
  • Text changes are proofread and approved (Jane Wild / Amy Reeve)
  • Japanese text changes are proofread and approved (Junko Oda)
  • Storybook works and no stories are broken (yarn storybook)
  • In case of dependency changes yarn.lock file is updated

Code Quality

  • Important parts of the code are properly commented and documented
  • Code is properly typed with flow
  • React components are split-up enough to avoid unnecessary re-renderings
  • Any code that only works in main process is neatly separated from components

Testing

  • New feature/change is covered by acceptance tests
  • New feature/change is manually tested and approved by QA team
  • All existing acceptance tests are still up-to-date
  • New feature/change is covered by Daedalus Testing scenario
  • All existing Daedalus Testing scenarios are still up-to-date

After Review

  • Update Slack QA thread by marking it with a green checkmark

@danielmain danielmain self-assigned this Jan 26, 2022
@danielmain danielmain removed the WIP label Jan 26, 2022
@danielmain danielmain requested review from mchappell and a team January 26, 2022 15:48
@danielmain danielmain changed the title [DDW-895] Sovling ipv6 Issues by updating cardano-launcher [DDW-895] Solving ipv6 Issues by updating cardano-launcher Jan 26, 2022
@dmitrii-gaico dmitrii-gaico self-requested a review January 31, 2022 07:52
@gitmachtl
Copy link

gitmachtl commented Mar 27, 2022

See also: #2788 (comment)

This issue is still present in Daedalus 4.9.0 ! Crashing on Debian Linux Systems for example at the start.

Only commenting out the

.concat(args.listen.address6 ? ['--host-ipv6-addr', args.listen.address6] : [])

part in the daedalus/nix/store/...-daedalus-js/share/daedalus/main/index.js makes it possible to startup Daedalus.

I have made a oneliner to fix it temporary:

cd $HOME/.daedalus/nix/store && tmpfile=$(ack -l "concat\(args.listen.address6") && chmod 755 $(dirname "$tmpfile") && chmod 600 "$tmpfile" && sed -i "s+.concat(args.listen.address6+//.concat\(args.listen.address6+" "$tmpfile" && chmod 444 "$tmpfile" && chmod 555 $(dirname "$tmpfile") && tmpfile= && cd - && echo "IPv6 start parameter disabled"
  • changes into the home directory of the user and subdirectory .daedalus/nix/store
  • searches for the file that contains the specific line concat(args.listen.address6
  • makes the directory and file temporary writable
  • comments out the line in the file
  • makes the directory and file readonly again
  • changes back into the executing directory and displays a short message

If the little tool ack is not installed, install it first like typically:

sudo apt update && sudo apt install ack

Why does this take so long to fix it? Not skilled users will never be able to start Daedalus on such Systems.

@pauljgardner
Copy link

Tried the temporary fix and can confirm that resolves the issue on my machine. Was crashing on startup, including with the most recent 4.9.0#21112 without the fix.

@danielmain
Copy link
Contributor Author

Tried the temporary fix and can confirm that resolves the issue on my machine. Was crashing on startup, including with the most recent 4.9.0#21112 without the fix.

Thank you @pauljgardner !!! This Issue is not trivial to test since has to be tested on Mac/Lin/Win. Although, your feedback is very valuable.

@michalrus
Copy link
Member

michalrus commented Apr 20, 2022

@dmitrii-gaico I just tested this build (21602) on:

  • bare metal Linux (NixOS),
  • with IPv6 disabled (sudo sysctl net.ipv6.conf.all.disable_ipv6=1, and ping ::1 errors out),
  • with an openvpn client (NordVPN) running locally,

… and it starts syncing the blocks. No errors in node.log:

Screenshot-20220420-135740

The original issue #2788 reports this error in node.log:

cardano-node: Failure while getting address information for the public listening address: Just ::1 Just 37103

There, Just ::1 is an IPv6 address representing localhost (like 127.0.0.1). If this part is gone (and it seems it is, since it works for me), then it should be fine.


Also works with both IPv6 and VPN enabled (my regular daily setup).

@michalrus
Copy link
Member

Also works on Windows 10 with VPN running locally:

Screenshot-20220420-150002

@michalrus
Copy link
Member

Also works on macOS Big Sur with VPN running locally:

Screenshot-20220420-153746

@dmitrii-gaico dmitrii-gaico requested review from dmitrii-gaico and removed request for dmitrii-gaico April 20, 2022 15:34
@danielmain danielmain merged commit e0fd21e into develop Apr 29, 2022
@danielmain danielmain deleted the chore/ddw-895-update-cardano-launcher branch April 29, 2022 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants