Comments (1)
Attached is a minimal repro program, requires zero deps, and integrates the paths taken in the execution subset for
minimal_test.zip
Build with gcc minimal_test.cpp -g3 -o minimal_test -lstdc++
.
Here is the failure trace:
(gdb) break SplitFullDnsName
Breakpoint 1 at 0x2313: file minimal_test.cpp, line 55.
(gdb) run
Starting program: /usr/local/google/home/tennessee/repos/connectedhomeip/minimal_test
Breakpoint 1, SplitFullDnsName (aName="93E78CD5EA02444B-", '0' <repeats 11 times>, "1B669._matter._tcp.default.service.arpa.") at minimal_test.cpp:55
55 DnsNameInfo nameInfo;
(gdb) n
56 std::string fullName = aName;
(gdb)
58 if (!NameEndsWithDot(fullName))
(gdb)
63 transportPos = fullName.rfind("._udp.");
(gdb)
65 if (transportPos == std::string::npos)
(gdb)
67 transportPos = fullName.rfind("._tcp.");
(gdb)
70 if (transportPos == std::string::npos)
(gdb)
84 size_t dotPos = transportPos > 0 ? fullName.find_last_of('.', transportPos - 1) : std::string::npos;
(gdb)
86 nameInfo.mDomain = fullName.substr(transportPos + 6); // 6 is the length of "._tcp." or "._udp."
(gdb)
88 if (dotPos == std::string::npos)
(gdb)
96 nameInfo.mInstanceName = fullName.substr(0, dotPos);
(gdb)
97 nameInfo.mServiceName = fullName.substr(dotPos + 1, transportPos + 4 - dotPos);
(gdb)
101 if (!NameEndsWithDot(nameInfo.mDomain))
(gdb)
106 return nameInfo;
(gdb)
107 }
(gdb)
106 return nameInfo;
(gdb) p nameInfo
$2 = {mInstanceName = "93E78CD5EA02444B-", '0' <repeats 11 times>, "1B669", mServiceName = "_matter._tcp", mHostName = "",
mDomain = "default.service.arpa."}
(gdb) n
SplitFullServiceName (aFullName="93E78CD5EA02444B-", '0' <repeats 11 times>, "1B669._matter._tcp.default.service.arpa.", aType="", aDomain="")
at minimal_test.cpp:132
132 VerifyOrExit(nameInfo.IsService(), error = OTBR_ERROR_INVALID_ARGS);
(gdb)
138 return error;
(gdb)
139 }
(gdb)
138 return error;
(gdb)
139 }
(gdb)
minimal_test: minimal_test.cpp:159: int main(): Assertion `SplitFullServiceName(serviceName, type, domain) == OTBR_ERROR_NONE' failed.
Program received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
44 ./nptl/pthread_kill.c: No such file or directory.
(gdb)
from ot-br-posix.
Related Issues (20)
- Protobuf compiler version 24.4 doesn't match library version 3.12.4 HOT 1
- `test_manual_maddress.py` is flaky
- is there a way to dynamically change interface of otbr-agent HOT 5
- Compile failed when use higher protobuf lib
- [SOLVED] Best Practices for accessing OpenThread Instance in OT-BR-POSIX project HOT 2
- Compiling Border Router with TCP support HOT 2
- docker: Couldn't load target OTBR_FORWARD_INGRESS and mDNSPlatformSendUdp error 99.
- openwrt: ubus list otbr Command failed: Not found HOT 1
- Crash at UnsubscribeService HOT 2
- Border router disappears randomly from home assistant thread network HOT 5
- Thread Devices Become Unreachable from RPI Over Time Despite Connectivity via ot-ctl HOT 2
- Need some features for "ip -6 rule add~~~" to port Thread to Android 12. HOT 11
- ot-br-posix thread multicast not working for Inbound IPv6 Multicast HOT 1
- When RCP resets, otPlatRadioEnableSrcMatch() is not set back to TRUE by Host HOT 3
- Error running ./script/setup in Build and install OTBR HOT 17
- Unable to commission Thread devices through Matter
- OpenThread Border Router - Container runs multiple mDNS stacks HOT 1
- Unable to compile HOT 2
- Unable to install otbr-agent & other services HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ot-br-posix.