Status Update
Comments
en...@google.com <en...@google.com>
da...@maxmine.com.au <da...@maxmine.com.au> #2
I'm pretty far from being a C++ expert, but I think this may be due to holding a reference to the Config
beyond it's lifetime?
See StartDiscovery()
:
void StartDiscovery() {
...
g_state->task_runner->PostTask([]() {
// optional<Config> created here
auto config = GetConfigForAllInterfaces();
if (!config) {
return;
}
// long-lived reference of config given to OpenScreen
g_state->service = discovery::CreateDnsSdService(g_state->task_runner.get(),
g_state->reporting_client.get(), *config);
for (int i = 0; i < kNumADBDNSServices; ++i) {
auto receiver = std::make_unique<ServiceReceiver>(
g_state->service.get(), kADBDNSServices[i], OnServiceReceiverResult);
receiver->StartDiscovery();
...
}
...
// config destructed here
});
}
da...@maxmine.com.au <da...@maxmine.com.au> #3
A word on impact:
- We rely on WiFi debugging because we use the USB port for additional devices.
- This has made WiFi based debugging unreliable and painful to use because when ADB crashes the connection is lost and is not automatically re-created. Often it can required manually toggling WiFi debugging on the tablet.
sh...@google.com <sh...@google.com>
da...@maxmine.com.au <da...@maxmine.com.au> #4
I've left Wireshark running over the weekend to detect truncated MDNS queries and can confirm they are killing ADB. The truncated messages seem like valid network traffic, so it shouldn't be killing ADB.
Attached are wireshark records in a screenshot which line up with the ADB logs (timezone is Adelaide +10:30):
daniel@RES-0128:/ressys/maxedge$ cat /tmp/adb.5005.log | grep -ie Bridge -e OSP | tail
01-15 00:02:38.265 37828 37828 F adb : logging.cpp:39 OSP_CHECK((max_allowed_messages_) > (0)) failed: 0 vs. 0:
01-15 00:02:41.413 37846 37846 I adb : main.cpp:63 Android Debug Bridge version 1.0.41
01-15 07:58:02.786 37846 37846 F adb : logging.cpp:39 OSP_CHECK((max_allowed_messages_) > (0)) failed: 0 vs. 0:
01-15 07:58:05.928 40026 40026 I adb : main.cpp:63 Android Debug Bridge version 1.0.41
01-15 08:02:46.408 40026 40026 F adb : logging.cpp:39 OSP_CHECK((max_allowed_messages_) > (0)) failed: 0 vs. 0:
01-15 08:02:48.548 40054 40054 I adb : main.cpp:63 Android Debug Bridge version 1.0.41
01-15 08:11:55.906 40054 40054 F adb : logging.cpp:39 OSP_CHECK((max_allowed_messages_) > (0)) failed: 0 vs. 0:
01-15 08:11:59.048 40092 40092 I adb : main.cpp:63 Android Debug Bridge version 1.0.41
01-15 08:48:03.117 40092 40092 F adb : logging.cpp:39 OSP_CHECK((max_allowed_messages_) > (0)) failed: 0 vs. 0:
01-15 08:48:06.280 41928 41928 I adb : main.cpp:63 Android Debug Bridge version 1.0.41
da...@maxmine.com.au <da...@maxmine.com.au> #6 Restricted
is...@google.com <is...@google.com>
da...@maxmine.com.au <da...@maxmine.com.au> #7
My previous comment giving the steps to replicate the issue appears to have been deleted. I have since forgotten the specifics of the steps, but can share the broad outlines.
- Attached is a PCAP containing a truncated message.
- Replay this PCAP over UDP (using a tool like
https://github.com/ska-sa/udpreplay )
sa...@google.com <sa...@google.com>
sa...@google.com <sa...@google.com> #8
I am able to repro. I can reply with tcpreplay.
tcpreplay -i en0 ~/Downloads/truncated\ mDNS\ packets.pcapng
sa...@google.com <sa...@google.com> #9
It looks like we are not using openscreen
properly. Config
should live as long as the Service is alive. The docs of MdnsResponder and MdnsServiceImpl are explicit.
MdnsResponder:
// |record_handler|, |sender|, |receiver|, |task_runner|, |random_delay|, and
// |config| are expected to persist for the duration of this instance's
// lifetime.
MdnsServiceImpl
// |task_runner|, |reporting_client|, and |config| must exist for the duration
// of this instance's life.
yz...@gmail.com <yz...@gmail.com> #13
daemon not running; starting now at tcp:5037
[Deleted User] <[Deleted User]> #14
Mine has an error with ui nit just the I, not sure how literal this verbose problem is...please keep us updated.....64 arm correct?
mb...@gmail.com <mb...@gmail.com> #15
se...@gmail.com <se...@gmail.com> #16
eb...@gmail.com <eb...@gmail.com> #17
sp...@gmail.com <sp...@gmail.com> #18
qa...@gmail.com <qa...@gmail.com> #20 Restricted+
te...@gmail.com <te...@gmail.com> #22
Reda
sa...@gmail.com <sa...@gmail.com> #24
ab...@gmail.com <ab...@gmail.com> #25
wo...@gmail.com <wo...@gmail.com> #26
ga...@gmail.com <ga...@gmail.com> #27
wo...@gmail.com <wo...@gmail.com> #28
Bardzo dobre
wo...@gmail.com <wo...@gmail.com> #29
Zadowolony
kz...@gmail.com <kz...@gmail.com> #30
Scan hacking
pa...@gmail.com <pa...@gmail.com> #31
Please update my best practice
wa...@gmail.com <wa...@gmail.com> #32
Excelente inicio
pa...@gmail.com <pa...@gmail.com> #33
Please update
am...@gmail.com <am...@gmail.com> #34
Done
kw...@gmail.com <kw...@gmail.com> #35
Get Outlook for Android<
________________________________
From: buganizer-system@google.com <buganizer-system@google.com>
Sent: Tuesday, January 7, 2025 11:29:46 PM
To: b-system+-1739714008@google.com <b-system+-1739714008@google.com>
Cc: kwamanabrown1@gmail.com <kwamanabrown1@gmail.com>
Subject: Re:
Replying to this email means your email address will be shared with the team that works on this product.
Changed
am...@gmail.com added
Done
_______________________________
Reference Info: 294120933 ADB crashes with often due to openscreen error
component: Android Public Tracker > App Development > SDK > platform tools > adb<
status: Fixed
reporter: da...@maxmine.com.au
assignee: sa...@google.com
cc: ad...@google.com, sa...@google.com
type: Bug
access level: Default access
priority: P2
severity: S2
retention: Component default
Generated by Google IssueTracker notification system.
You're receiving this email because you are subscribed to updates on Google IssueTracker
Unsubscribe from this issue.<
ma...@gmail.com <ma...@gmail.com> #36
as...@gmail.com <as...@gmail.com> #37
tnx
ro...@gmail.com <ro...@gmail.com> #38
Brigadao
hu...@gmail.com <hu...@gmail.com> #39
Add a comment
hu...@gmail.com <hu...@gmail.com> #40
.
si...@gmail.com <si...@gmail.com> #41
Dnnddndn
po...@gmail.com <po...@gmail.com> #42
en...@google.com <en...@google.com>
sh...@gmail.com <sh...@gmail.com>
al...@gmail.com <al...@gmail.com> #44
حل المشكلات
Description
I'm experiencing frequent adb crashes on my development machine resulting in loss of connection to my android device.
Any suggestions on what may be causing this issue?
The crashes always have this log entry:
I think this log error comes from openscreen here:https://cs.android.com/android/platform/superproject/main/+/main:external/openscreen/discovery/mdns/mdns_responder.cc;l=303?q=max_allowed_messages_&ss=android
About my configuration:
Full log is attached.