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

访问 ZT 分配的 IPv6 地址时 APP 崩溃 / APP crashed when accessing Zerotier assigned IPv6 address #81

Closed
geeklihui opened this issue Jan 29, 2024 · 8 comments
Labels
bug Something isn't working

Comments

@geeklihui
Copy link

实在是太怪了这个问题,远程一直连不上,搞了半天,我以为是 zerotier 没连上,后来把 zerotierfix 搞到悬浮小窗才注意到,一连远程电脑就会杀掉 zerotierfix,但其他 app 都不会杀,同是 vpn 软件的 clash 也不会杀
系统是 Coloros14,不知道是不是黑厂特供 bug......
(app 是 Microsoft remote desktop,装完显示名字是 RD Client)

不知道能不能看到录屏:

26_1706519597.mp4
@kaaass kaaass added the bug Something isn't working label Jan 29, 2024
@kaaass
Copy link
Owner

kaaass commented Jan 29, 2024

看样子像是崩溃了,我一会儿试试能不能复现。只从现象来看的话暂时看不出是什么原因。

如果有抓取日志条件的话,希望能帮忙抓一下~ 手机端的话可以使用 Logcat Extreme APP,不过需要连接电脑赋一个权限(参考 README 的 Usage 一节)才能抓。

@geeklihui
Copy link
Author

看样子像是崩溃了,我一会儿试试能不能复现。只从现象来看的话暂时看不出是什么原因。

如果有抓取日志条件的话,希望能帮忙抓一下~ 手机端的话可以使用 Logcat Extreme APP,不过需要连接电脑赋一个权限(参考 README 的 Usage 一节)才能抓。

谢谢大佬回复!我找到原因了,和远程桌面 app 无关,是因为我用了 ipv6 地址访问。我试了下浏览器直接访问 ipv6 地址的网站,zerotierfix 也会崩溃闪退。换成 ipv4 就正常了。
zerotier network 控制台那边我是开了 ipv6 的,电脑上访问 ipv6 地址和远程桌面都是 ok 的。
您看还需要抓包嘛?

@kaaass
Copy link
Owner

kaaass commented Jan 31, 2024

@geeklihui 感谢测试!模拟器好像暂时没有这个问题,我回头用真机试试。

您看还需要抓包嘛?

如果有报错日志的话诊断起来会方便很多!可以的话可以尝试抓取一下

@geeklihui
Copy link
Author

@geeklihui 感谢测试!模拟器好像暂时没有这个问题,我回头用真机试试。

您看还需要抓包嘛?

如果有报错日志的话诊断起来会方便很多!可以的话可以尝试抓取一下

好嘞,我抓一下,抱歉刚看到回复。

@geeklihui
Copy link
Author

logcat_02-05-2024_19-03-25.zip
@kaaass 您看下有没有抓到,我按了记录以后复现了两次闪退,然后停止记录的

@kaaass
Copy link
Owner

kaaass commented Feb 7, 2024

@geeklihui 感谢提供日志!我大概明白错误原因了,本地也可以复现。我目前分析感觉是 ZT SDK 存在一些问题,但很奇怪的是官方 APP 却不会崩溃,可能还需要进一步再研究下。

@kaaass
Copy link
Owner

kaaass commented Feb 7, 2024

下面是我的复现步骤。欢迎有类似崩溃问题的朋友尝试看看是否是同一个问题:

  1. 连接到目标网络
  2. 向目标网络中的其他节点的 ZT 分配的 IPv6 地址 发起 ICMPv6 NS 请求。比如对于 fc00::1 这个地址,可以在浏览器中访问 http://[fc00::1]

这里所说的 ZT 分配的 IPv6 地址 就是在 Controller 中的 “ZT 6plane” 或者 “ZT rfc4193” 地址。如果你不清楚这是什么的话,选择 fc 或者 fd 开头的地址测试就行。

kaaass added a commit that referenced this issue Feb 7, 2024
After zerotier/ZeroTierOne@707d7de, the `VirtualNetworkFrameFunctionCallback` in JNI might be called in a new thread. Therefore, calling `GetEnv` might result in `JNI_EDETACHED`, which causing assertion fault or SIGSEV in Release build.
@kaaass kaaass changed the title 微软远程桌面 app 运行时会杀掉这个 app 访问 ZT 分配到 IPv6 地址时 APP 崩溃 / APP crashed when accessing Zerotier assigned IPv6 address Feb 7, 2024
@kaaass kaaass changed the title 访问 ZT 分配到 IPv6 地址时 APP 崩溃 / APP crashed when accessing Zerotier assigned IPv6 address 访问 ZT 分配的 IPv6 地址时 APP 崩溃 / APP crashed when accessing Zerotier assigned IPv6 address Feb 7, 2024
@kaaass
Copy link
Owner

kaaass commented Feb 8, 2024

CI 构建好像暂时出了些故障,我先手动构建一份。 @geeklihui 有空的话可以测试下这个包有没有解决问题~
app-debug.apk.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants