Application is blocked whilee giving a semaphore - VxWorks

This is a discussion on Application is blocked whilee giving a semaphore - VxWorks ; It seems application is stuck while giving a semaphore. Please observe the following stack. .... 0x00c3c6d0 -> sendmsg + 0x38 0x00be5db0 -> bsdSend + 0x118 0x00c4cffc -> sosend + 0x2ec 0x00be2b5c -> sb_lock + 0x38 0x00be3918 -> wakeup + 0x8 ...

+ Reply to Thread
Results 1 to 4 of 4

Thread: Application is blocked whilee giving a semaphore

  1. Application is blocked whilee giving a semaphore

    It seems application is stuck while giving a semaphore. Please observe
    the following stack.
    ....
    0x00c3c6d0 -> sendmsg + 0x38
    0x00be5db0 -> bsdSend + 0x118
    0x00c4cffc -> sosend + 0x2ec
    0x00be2b5c -> sb_lock + 0x38
    0x00be3918 -> wakeup + 0x8
    0x00c25488 -> semFlush + 0x30
    0x00c24900 -> semBGiveDefer + 0x4

    Application was trying to send the message though a socket and it got
    stuck at above position. The state of the application is PEND after
    this.

    Can somebody explain what is happening in above call stack. I really
    did not understand how can an application stuck while giving a
    semaphore.

    Thanks in advance for any answers.


  2. Re: Application is blocked whilee giving a semaphore

    That all looks normal to me. Depending on how you've got the sock opts
    set, you may block during the send.

    The last routine, the semBGiveDefer, gives the semaphone, but if a
    higher priority task has already taken it, that task will run and
    preempt the task doing the semGive.

    Good luck,
    lc
    > It seems application is stuck while giving a semaphore. Please observe
    > the following stack.
    > ...
    > 0x00c3c6d0 -> sendmsg + 0x38
    > 0x00be5db0 -> bsdSend + 0x118
    > 0x00c4cffc -> sosend + 0x2ec
    > 0x00be2b5c -> sb_lock + 0x38
    > 0x00be3918 -> wakeup + 0x8
    > 0x00c25488 -> semFlush + 0x30
    > 0x00c24900 -> semBGiveDefer + 0x4
    >
    > Application was trying to send the message though a socket and it got
    > stuck at above position. The state of the application is PEND after
    > this.
    >
    > Can somebody explain what is happening in above call stack. I really
    > did not understand how can an application stuck while giving a
    > semaphore.
    >
    > Thanks in advance for any answers.



  3. Re: Application is blocked whilee giving a semaphore

    hello, everyone. I have some questions for help:
    1. how can i change my object to the text as follows:
    > 0x00c3c6d0 -> sendmsg + 0x38
    > 0x00be5db0 -> bsdSend + 0x118
    > 0x00c4cffc -> sosend + 0x2ec
    > 0x00be2b5c -> sb_lock + 0x38
    > 0x00be3918 -> wakeup + 0x8
    > 0x00c25488 -> semFlush + 0x30
    > 0x00c24900 -> semBGiveDefer + 0x4
    >

    2. how can i understand the meanings of the text above.

    Best wishes.


  4. Re: Application is blocked whilee giving a semaphore

    Read it at location 0x00c3c6d0 , you were in sendmsg offset 0x38, which
    called bsdSend, etc, etc.


    cointomo wrote:
    > hello, everyone. I have some questions for help:
    > 1. how can i change my object to the text as follows:
    > > 0x00c3c6d0 -> sendmsg + 0x38
    > > 0x00be5db0 -> bsdSend + 0x118
    > > 0x00c4cffc -> sosend + 0x2ec
    > > 0x00be2b5c -> sb_lock + 0x38
    > > 0x00be3918 -> wakeup + 0x8
    > > 0x00c25488 -> semFlush + 0x30
    > > 0x00c24900 -> semBGiveDefer + 0x4
    > >

    > 2. how can i understand the meanings of the text above.
    >
    > Best wishes.



+ Reply to Thread