ooni / ooni/probe-cli

investigate MTE crash; try using latest golang-go

Open
#1,778 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
288
Forks
64
Avg merge
1d 12h
Merged PRs (30d)
5

Description

on newer android devices that support MTE, golang applications crash because MTE was/is not supported by golang. Due to Apple's devices starting to use MTE there has been some recent movement on this issue:
https://github.com/golang/go/issues/59090

It would be useful to test building probe-cli with a newer go compiler (1.26.x) and see if these crashes are resolved.

see also this comment:

https://github.com/chenxiaolong/BasicSync/issues/12#issuecomment-3849243773
"I found some other apps that were able to avoid MTE crashes by replacing C.GoString() with a different implementation"

We do use C.GoString in probe-cli

probe-cli$ grep "C.GoString" -r .
./internal/netxlite/getaddrinfo_cgo.go:			canonname = dns.CanonicalName(C.GoString(r.ai_canonname))

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Build probe-cli with a newer Go compiler (1.26.x) and check whether MTE crashes on newer Android devices are resolved. Then inspect internal/netxlite/getaddrinfo_cgo.go, where C.GoString is used, and compare the result with the linked Go and BasicSync discussions. Done means recording the reproduction result and whether the compiler update or the C.GoString usage changes the outcome.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli, mobile-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.