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

{tor,mullvad}-browser: 13.5.7 -> 14.0a9 #347698

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

felschr
Copy link
Member

@felschr felschr commented Oct 10, 2024

Preparation for upcoming Tor Browser & Mullvad Browser 14.0 release.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@felschr
Copy link
Member Author

felschr commented Oct 10, 2024

I currently get a segfault when trying to run the browsers.
Since I'm not really experienced in debugging segfaults, I'm sharing my findings so far and hopefully someone can help:

In journalctl I see:

Oct 10 11:03:44 home-pc systemd-coredump[68167]: [🡕] Process 64009 (firefox) of user 1000 dumped core.
                                                 
                                                 Module libgcc_s.so.1 without build-id.
                                                 Module libstdc++.so.6 without build-id.
                                                 Stack trace of thread 64009:
                                                 #0  0x00000000001b41c0 n/a (n/a + 0x0)
                                                 ELF object binary architecture: AMD x86-64
Oct 10 11:03:44 home-pc systemd[1]: [email protected]: Deactivated successfully.

and coredumpctl debug gives me the following backtrace:

(gdb) bt
#0  0x00000000001b41c0 in ?? ()
#1  0x00007efd08f7726e in call_init () from /nix/store/3dyw8dzj9ab4m8hv5dpyx7zii8d0w6fi-glibc-2.39-52/lib/ld-linux-x86-64.so.2
#2  0x00007efd08f7736c in _dl_init () from /nix/store/3dyw8dzj9ab4m8hv5dpyx7zii8d0w6fi-glibc-2.39-52/lib/ld-linux-x86-64.so.2
#3  0x00007efd08f73586 in _dl_catch_exception () from /nix/store/3dyw8dzj9ab4m8hv5dpyx7zii8d0w6fi-glibc-2.39-52/lib/ld-linux-x86-64.so.2
#4  0x00007efd08f7dffe in dl_open_worker () from /nix/store/3dyw8dzj9ab4m8hv5dpyx7zii8d0w6fi-glibc-2.39-52/lib/ld-linux-x86-64.so.2
#5  0x00007efd08f734f1 in _dl_catch_exception () from /nix/store/3dyw8dzj9ab4m8hv5dpyx7zii8d0w6fi-glibc-2.39-52/lib/ld-linux-x86-64.so.2
#6  0x00007efd08f7e38c in _dl_open () from /nix/store/3dyw8dzj9ab4m8hv5dpyx7zii8d0w6fi-glibc-2.39-52/lib/ld-linux-x86-64.so.2
#7  0x00007efd08a704dc in dlopen_doit () from /nix/store/3dyw8dzj9ab4m8hv5dpyx7zii8d0w6fi-glibc-2.39-52/lib/libc.so.6
#8  0x00007efd08f734f1 in _dl_catch_exception () from /nix/store/3dyw8dzj9ab4m8hv5dpyx7zii8d0w6fi-glibc-2.39-52/lib/ld-linux-x86-64.so.2
#9  0x00007efd08f73623 in _dl_catch_error () from /nix/store/3dyw8dzj9ab4m8hv5dpyx7zii8d0w6fi-glibc-2.39-52/lib/ld-linux-x86-64.so.2
#10 0x00007efd08a6ff57 in _dlerror_run () from /nix/store/3dyw8dzj9ab4m8hv5dpyx7zii8d0w6fi-glibc-2.39-52/lib/libc.so.6
#11 0x00007efd08a705b1 in dlopen@GLIBC_2.2.5 () from /nix/store/3dyw8dzj9ab4m8hv5dpyx7zii8d0w6fi-glibc-2.39-52/lib/libc.so.6
#12 0x0000559a96dca1f2 in ?? ()
#13 0x0000559a96dc90a1 in ?? ()
#14 0x0000559a96dc8c8b in ?? ()
#15 0x00007efd08a0e14e in __libc_start_call_main () from /nix/store/3dyw8dzj9ab4m8hv5dpyx7zii8d0w6fi-glibc-2.39-52/lib/libc.so.6
#16 0x00007efd08a0e209 in __libc_start_main_impl () from /nix/store/3dyw8dzj9ab4m8hv5dpyx7zii8d0w6fi-glibc-2.39-52/lib/libc.so.6
#17 0x0000559a96dc8a0a in _start ()

Some context: I'm running stable NixOS 24.05 with GNOME on Wayland.

@felschr
Copy link
Member Author

felschr commented Oct 11, 2024

@panicgh could you give this a test and see if you also get the same segfault?

Also, the stable release is scheduled for next Tuesday:
https://gitlab.torproject.org/tpo/applications/tor-browser/-/wikis/Release-Schedule

It would be good if we can manage to fix this issue until then.

@felschr
Copy link
Member Author

felschr commented Oct 12, 2024

While looking at the firefox-bin package I noticed this part:

  # Firefox uses "relrhack" to manually process relocations from a fixed offset
  patchelfFlags = [ "--no-clobber-old-sections" ];

And it turns out that fixes the segfault for us, too! More info about the original fix for firefox-bin: #257980


There is still a segfault in Tor itself, but I'm working on a fix and will push another update soon.

…ix segfault

Also switches from manual patchelf usage to autoPatchelf to make this fix
work for all binaries.

Fixups for obfs & snowflake were removed, as they are no longer required.
@felschr
Copy link
Member Author

felschr commented Oct 12, 2024

All segfaults should be fixed now. Basic functionality seems to be all good. Also tested Tor bridges and video playback.

@felschr felschr added the backport release-24.05 Backport PR automatically label Oct 12, 2024
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.

1 participant