I pulled latest from master today, but already reproduced it a month ago, so the issue has been there for a while. I managed to log a JIRA issue earlier today. I hope I did it right.
Sorry about using screenshots earlier. Didn?t know that was still an issue in 2016. I was just trying to make it clear where the crash occurs. Looks like it?s just missing a simple nullptr check. /Morten From: Gregg Reynolds<mailto:[email protected]> Sent: Monday, November 7, 2016 5:21 PM To: Morten Nielsen<mailto:mn at iter.dk> Cc: iotivity-dev at lists.iotivity.org<mailto:iotivity-dev at lists.iotivity.org> Subject: Re: [dev] Crashing the Iotivity samples which version are you using? On Nov 7, 2016 5:33 PM, "Morten Nielsen" <mn at iter.dk<mailto:mn at iter.dk>> wrote: Hi all. Just joined the list so sorry if I?m breaking etiquette, but I found that it?s extremely easy to crash every single sample in the Iotivity build. Justin Hutchings encouraged me to post this here though. Since Iotivity is quite new to me (however been doing lots of AllJoyn the last few years), I tried mocking up a quick little CoAP client in .NET to see if I can figure out how to talk to a service. While my client probably isn?t correct (yet), what I found that every single sample running on the PC would crash when my client tried making a simple request to it. Repro steps: - Build iotivity using command: scons TARGET_OS=windows TARGET_ARCH=amd64 RELEASE=0 WITH_RA=0 TARGET_TRANSPORT=IP SECURED=1 WITH_TCP=0 BUILD_SAMPLE=ON LOGGING=OFF TEST=1 - Start up for instance simpleserver.exe (or any other sample that listens for request): iotivity\out\windows\amd64\debug\resource\examples\simpleserver.exe - Create a simple .NET Console Application, and add the ?CoAP? nuget package (v1.1.0). - Add the following lines of code to the console app and run it: var request = new CoAP.Request(CoAP.Method.GET); request.URI = new Uri("coap://localhost/"); request.Send(); var response = request.WaitForResponse(); The sample app will then crash in secureresourcemanager.c: [cid:image003.png at 01D2390B.0E1275C0] Stack trace: > octbstack.dll!SRMRequestHandler(const CAEndpoint_t * endPoint, > const CARequestInfo_t * requestInfo) Line 158 C octbstack.dll!CAHandleRequestResponseCallbacks(...) Line 861 C octbstack.dll!CAHandleRequestResponse(...) Line 476 C octbstack.dll!OCProcess(...) Line 3102 C simpleserver.exe!OC::InProcServerWrapper::processFunc() Line 307 C++ simpleserver.exe!std::_Invoker_pmf_pointer::_Call<void (__cdecl OC::InProcServerWrapper::*)(void) __ptr64,OC::InProcServerWrapper * __ptr64>(void(OC::InProcServerWrapper::*)() _Pmf, OC::InProcServerWrapper * && _Arg1) Line 1342 C++ simpleserver.exe!std::invoke<void (__cdecl OC::InProcServerWrapper::*)(void) __ptr64,OC::InProcServerWrapper * __ptr64>(void(OC::InProcServerWrapper::*)() && _Obj, OC::InProcServerWrapper * && <_Args_0>) Line 1445 C++ simpleserver.exe!std::_LaunchPad<std::unique_ptr<std::tuple<void (__cdecl OC::InProcServerWrapper::*)(void) __ptr64,OC::InProcServerWrapper * __ptr64>,std::default_delete<std::tuple<void (__cdecl OC::InProcServerWrapper::*)(void) __ptr64,OC::InProcServerWrapper * __ptr64> > > >::_Execute<0,1>(std::tuple<void (__cdecl OC::InProcServerWrapper::*)(void),OC::InProcServerWrapper *> & _Tup, std::integer_sequence<unsigned __int64,0,1> __formal) Line 241 C++ simpleserver.exe!std::_LaunchPad<std::unique_ptr<std::tuple<void (__cdecl OC::InProcServerWrapper::*)(void) __ptr64,OC::InProcServerWrapper * __ptr64>,std::default_delete<std::tuple<void (__cdecl OC::InProcServerWrapper::*)(void) __ptr64,OC::InProcServerWrapper * __ptr64> > > >::_Run(std::_LaunchPad<std::unique_ptr<std::tuple<void (__cdecl OC::InProcServerWrapper::*)(void),OC::InProcServerWrapper *>,std::default_delete<std::tuple<void (__cdecl OC::InProcServerWrapper::*)(void),OC::InProcServerWrapper *> > > > * _Ln) Line 247 C++ simpleserver.exe!std::_LaunchPad<std::unique_ptr<std::tuple<void (__cdecl OC::InProcServerWrapper::*)(void) __ptr64,OC::InProcServerWrapper * __ptr64>,std::default_delete<std::tuple<void (__cdecl OC::InProcServerWrapper::*)(void) __ptr64,OC::InProcServerWrapper * __ptr64> > > >::_Go() Line 233 C++ simpleserver.exe!std::_Pad::_Call_func(void * _Data) Line 210 C++ ucrtbased.dll!00007ffe7429b0a8() Unknown ucrtbased.dll!00007ffe7429ad11() Unknown kernel32.dll!00007ffebe6a8364() Unknown ntdll.dll!00007ffebf225e91() Unknown So yes my request probably isn?t valid, but I assume it shouldn?t be so easy to crash the services ?? If someone can give my pointers how to log something in Jira (again: Completely new to that), I?d love to. Thanks /Morten Nielsen _______________________________________________ iotivity-dev mailing list iotivity-dev at lists.iotivity.org<mailto:iotivity-dev at lists.iotivity.org> https://lists.iotivity.org/mailman/listinfo/iotivity-dev -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.iotivity.org/pipermail/iotivity-dev/attachments/20161108/39b21243/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: 0052D29F286C4B569DF33445113C4FE3.png Type: image/png Size: 305232 bytes Desc: 0052D29F286C4B569DF33445113C4FE3.png URL: <http://lists.iotivity.org/pipermail/iotivity-dev/attachments/20161108/39b21243/attachment.png>
