Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
I
iotivity-classic
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,289
    • Issues 3,289
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • IoTivity
  • iotivity-classic
  • Issues
  • #93

Closed
Open
Opened Apr 07, 2016 by Rami Alshafi@ramiOwner

[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

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: iotivity/iotivity-classic#93