[RI] calling findResource() in sub thread causes fault
When I called findResource() in sub thread, my application is crashed with below messages.
extlibs/tinycbor/tinycbor/src/cborparser.c:349: cbor_value_enter_container: Assertion `cbor_value_is_container(it)' failed.
It was working well when does same thing in main thread.
It seems the apis are not thread-safe.
I attach the log for analyzing
04-07 16:11:09.279+0900 5540 5555 I iotresource: EventPlugin.cpp: discoverResource(40) > try to discover
04-07 16:11:09.279+0900 5540 5555 I OIC_RI_STACK: ocstack.c: OCDoResource(2441) > Entering OCDoResource
....
04-07 16:11:09.279+0900 5540 5547 D OIC_CA_QING: caqueueingthread.c: CAQueueingThreadBaseRoutine(59) > wake up..
04-07 16:11:09.279+0900 5540 5547 D OIC_CA_MSG_HANDLE: camessagehandler.c: CAProcessSendData(642) > Multicast message
04-07 16:11:09.279+0900 5540 5547 D OIC_CA_MSG_HANDLE: camessagehandler.c: CAProcessMulticastData(410) > requestInfo is available..
04-07 16:11:09.279+0900 5540 5547 D OIC_CA_PRTCL_MSG: caprotocolmessage.c: CAParseURI(391) > url : coap://[::]//oic/res
04-07 16:11:09.279+0900 5540 5547 D OIC_CA_PRTCL_MSG: caprotocolmessage.c: CAParseHeadOption(497) > parse Head Opt: 1
04-07 16:11:09.279+0900 5540 5547 D OIC_CA_PRTCL_MSG: caprotocolmessage.c: CAParseHeadOption(520) > Head opt ID: 65524
....
04-07 16:11:09.289+0900 5540 5549 D OIC_CA_QING: caqueueingthread.c: CAQueueingThreadBaseRoutine(59) > wake up..
04-07 16:11:09.289+0900 5540 5549 D OIC_CA_IP_ADAP: caipadapter.c: CAIPSendDataThread(441) > Send Multicast Data is called
04-07 16:11:09.289+0900 5540 5549 D OIC_CA_IP_SERVER: caipserver.c: sendData(852) > IN
04-07 16:11:09.289+0900 5540 5549 E OIC_CA_IP_SERVER: caipserver.c: sendData(886) > multicast ipv6 sendTo failed: Network is unreachable
04-07 16:11:09.289+0900 5540 5549 D OIC_CA_IP_SERVER: caipserver.c: sendData(852) > IN
....
04-07 16:11:09.289+0900 5540 5550 D OIC_CA_IP_ADAP: caipadapter.c: CAIPPacketReceivedCB(163) > Address: 192.168.0.172, port:32973
04-07 16:11:09.289+0900 5540 5550 D OIC_CA_MSG_HANDLE: camessagehandler.c: CAReceivedPacketCallback(756) > received pdu data :
04-07 16:11:09.289+0900 5540 5550 D OIC_CA_PRTCL_MSG: caprotocolmessage.c: CAParsePDU(198) > pdu parse-transport type : 0
04-07 16:11:09.289+0900 5540 5550 D OIC_CA_PRTCL_MSG: caprotocolmessage.c: CAParsePDU(201) > pdu parse ret: 1
04-07 16:11:09.289+0900 5540 5550 D OIC_CA_MSG_HANDLE: camessagehandler.c: CAReceivedPacketCallback(770) > code = 1
04-07 16:11:09.289+0900 5540 5550 D OIC_CA_MSG_HANDLE: camessagehandler.c: CAGenerateHandlerData(124) > CAGenerateHandlerData IN
04-07 16:11:09.289+0900 5540 5550 D OIC_CA_MSG_HANDLE: camessagehandler.c: CAGenerateHandlerData(141) > address : 192.168.0.172
04-07 16:11:09.289+0900 5540 5550 D OIC_CA_PRTCL_MSG: caprotocolmessage.c: CAGetInfoFromPDU(761) > COAP URI element : oic
04-07 16:11:09.289+0900 5540 5550 D OIC_CA_PRTCL_MSG: caprotocolmessage.c: CAGetInfoFromPDU(761) > COAP URI element : res
04-07 16:11:09.289+0900 5540 5550 D OIC_CA_PRTCL_MSG: caprotocolmessage.c: CAGetInfoFromPDU(761) > COAP URI element : <
04-07 16:11:09.289+0900 5540 5550 D OIC_CA_PRTCL_MSG: caprotocolmessage.c: CAGetInfoFromPDU(866) > option[17] has an unsupported format [60]
....
04-07 16:11:09.289+0900 5540 5549 I OIC_CA_IP_SERVER: caipserver.c: sendData(890) > multicast ipv4 sendTo is successful: 30 bytes
04-07 16:11:09.289+0900 5540 5549 D OIC_CA_QING: caqueueingthread.c: CAQueueingThreadBaseRoutine(54) > wait..
04-07 16:11:09.289+0900 5540 5547 D OIC_CA_MSG_HANDLE: camessagehandler.c: CADestroyData(309) > CADestroyData IN
04-07 16:11:09.289+0900 5540 5547 D OIC_CA_MSG_HANDLE: camessagehandler.c: CADestroyData(343) > CADestroyData OUT
04-07 16:11:09.289+0900 5540 5547 D OIC_CA_QING: caqueueingthread.c: CAQueueingThreadBaseRoutine(54) > wait..
....
04-07 16:11:09.289+0900 5540 5540 D OIC_CA_MSG_HANDLE: camessagehandler.c: CAHandleRequestResponseCallbacks(897) > request callback : 1
04-07 16:11:09.289+0900 5540 5540 I OIC_RI_STACK: ocstack.c: HandleCARequests(1810) > Enter HandleCARequests
04-07 16:11:09.289+0900 5540 5540 D OIC_RM_UTIL: routingutility.c: RMUpdateInfo(200) > IN
04-07 16:11:09.289+0900 5540 5540 D OIC_RM_UTIL: routingutility.c: RMGetRouteOptionIndex(269) > IN
04-07 16:11:09.289+0900 5540 5540 D OIC_RM_UTIL: routingutility.c: RMGetRouteOptionIndex(274) > Request- optionID: 65524
04-07 16:11:09.289+0900 5540 5540 I OIC_RM_UTIL: routingutility.c: RMGetRouteOptionIndex(277) > Found Option at 0
04-07 16:11:09.289+0900 5540 5540 D OIC_RM_UTIL: routingutility.c: RMGetRouteOptionIndex(282) > OUT
04-07 16:11:09.289+0900 5540 5540 D OIC_RM_UTIL: routingutility.c: RMUpdateInfo(263) > OUT
04-07 16:11:09.289+0900 5540 5540 D OIC_RI_STACK: ocstack.c: OCHandleRequests(1603) > Enter OCHandleRequests
04-07 16:11:09.289+0900 5540 5540 I OIC_RI_STACK: ocstack.c: OCHandleRequests(1624) > Endpoint URI : /oic/res
04-07 16:11:09.289+0900 5540 5540 I OIC_RI_STACK: ocstack.c: OCHandleRequests(1636) > URI without query: /oic/res
04-07 16:11:09.299+0900 5540 5540 I OIC_RI_STACK: ocstack.c: OCHandleRequests(1637) > Query : (null)
....
04-07 16:11:09.299+0900 5540 5540 I OIC_RI_STACK: ocstack.c: OCDoResponse(3856) > Entering OCDoResponse
04-07 16:11:09.299+0900 5540 5540 I OIC_RI_PAYLOADCONVERT: ocpayloadconvert.c: OCConvertPayload(84) > Converting payload of type 1
....
04-07 16:11:09.309+0900 5540 5550 D OIC_CA_BWT: cablockwisetransfer.c: CAGetPayloadFromBlockDataList(2524) > IN-GetFullPayload
04-07 16:11:09.309+0900 5540 5550 D OIC_CA_BWT: cablockwisetransfer.c: CAGetPayloadFromBlockDataList(2538) > OUT-GetFullPayload
04-07 16:11:09.309+0900 5540 5550 D OIC_CA_BWT: cablockwisetransfer.c: CAUpdatePayloadToCAData(2144) > IN-UpdatePayload
04-07 16:11:09.309+0900 5540 5550 D OIC_CA_BWT: cablockwisetransfer.c: CAUpdatePayloadToCAData(2194) > OUT-UpdatePayload
....
04-07 16:11:09.319+0900 5540 5540 I OIC_RI_STACK: ocstack.c: HandleCAResponses(1379) > Enter HandleCAResponses
04-07 16:11:09.319+0900 5540 5540 D OIC_RM_UTIL: routingutility.c: RMUpdateInfo(200) > IN
04-07 16:11:09.319+0900 5540 5540 D OIC_RM_UTIL: routingutility.c: RMGetRouteOptionIndex(269) > IN
04-07 16:11:09.319+0900 5540 5540 D OIC_RM_UTIL: routingutility.c: RMGetRouteOptionIndex(274) > Request- optionID: 65524
04-07 16:11:09.319+0900 5540 5540 I OIC_RM_UTIL: routingutility.c: RMGetRouteOptionIndex(277) > Found Option at 0
04-07 16:11:09.319+0900 5540 5540 D OIC_RM_UTIL: routingutility.c: RMGetRouteOptionIndex(282) > OUT
04-07 16:11:09.319+0900 5540 5540 D OIC_RM_UTIL: routingutility.c: RMUpdateInfo(263) > OUT
04-07 16:11:09.319+0900 5540 5540 D OIC_RI_STACK: ocstack.c: OCHandleResponse(1075) > Enter OCHandleResponse
04-07 16:11:09.319+0900 5540 5540 I OIC_RI_CLIENTCB: occlientcb.c: GetClientCB(223) > Looking for token
04-07 16:11:09.319+0900 5540 5540 I OIC_RI_CLIENTCB: occlientcb.c: GetClientCB(225) > Found in callback list
04-07 16:11:09.319+0900 5540 5540 I OIC_RI_OBSERVE: ocobserve.c: GetObserverUsingToken(451) > Looking for token
04-07 16:11:09.319+0900 5540 5540 I OIC_RI_OBSERVE: ocobserve.c: GetObserverUsingToken(453) > Found token:
04-07 16:11:09.319+0900 5540 5540 I OIC_RI_OBSERVE: ocobserve.c: GetObserverUsingToken(469) > Observer node not found!!
04-07 16:11:09.319+0900 5540 5540 I OIC_RI_STACK: ocstack.c: OCHandleResponse(1092) > There is a cbNode associated with the response token
04-07 16:11:09.319+0900 5540 5540 I OIC_RI_STACK: ocstack.c: OCHandleResponse(1126) > This is a regular response, A client call back is found
04-07 16:11:09.319+0900 5540 5540 I OIC_RI_STACK: ocstack.c: OCHandleResponse(1127) > Calling into application address space
04-07 16:11:09.319+0900 5540 5540 I OIC_RI_PAYLOADPARSE: ocpayloadparse.c: OCParsePayload(58) > CBOR Parsing size: 4
04-07 16:11:09.519+0900 5561 5565 W CRASH_MANAGER: worker.c: worker_job(1593) > 06055406d326d1460013069
JIRA migration meta data
- JIRA Issue ID: IOT-1078
- Reporter: chans.lim
- Assignee: chans.lim
- Creator: chans.lim
- Created at: 2016-04-07T00:33:26.000-0700
- Found in Version: 1.0.1
- Fix in Version: None
- Issue Severity: Major
- Reproducibility: Always (100%)
- Operating System: Tizen
- Hardware/ OEM Platform: None
- External URL: None
- Bugzilla ID: None
- Product: None
- Status: Closed
- Components: SDK
- Priority: Undecided
- Due Date: None
-
Issue Type: Bug
END of JIRA migration meta data