We have a quite large multitasking communication system implemented on Vxworks 5.5 and PPC8260. The system should handle a lot of Ethernet traffic and also handle some cyclic peripheral control activities via RS-232, memory mapped I/O etc. What happens is that in some moment few message queues we are using for inter task communication become overflowed (I see it by log inspection). When I check the status of tasks responsible for serving this Message queues (that is doing receive on them) they appear to be READY.When I inspect msgQShow for the queues themselves they are full but no tasks appear to be blocked on them. But looking at task stack trace shows that a task actually pending inside msgQReceive call.Specifically in the qJobGet kernel call or something alike.
vxworks message queue "lost" a task blocked on it. What can be a reason?
372 views Asked by ErikRTDev At
1
There are 1 answers
Related Questions in MULTITHREADING
- couldn't copy pdb file to another directory while consuming wcf web service
- .net rest service with JSON string and consumed with java client
- How to send Rest GET request that contains "#" value in url parameters?
- Looking the Method that MANUALLY INSTALL PHP on OSX Yosemite
- How to use @queryparam when using array in Java
- How to accept cookies when using a webservice - Android?
- zend soap server reading xml attributes
- Web Service Error path property must set before calling the send method
- Error with kSOAP2
- JAX-RS service response is returning double fields without decimal places
Related Questions in MESSAGE-QUEUE
- couldn't copy pdb file to another directory while consuming wcf web service
- .net rest service with JSON string and consumed with java client
- How to send Rest GET request that contains "#" value in url parameters?
- Looking the Method that MANUALLY INSTALL PHP on OSX Yosemite
- How to use @queryparam when using array in Java
- How to accept cookies when using a webservice - Android?
- zend soap server reading xml attributes
- Web Service Error path property must set before calling the send method
- Error with kSOAP2
- JAX-RS service response is returning double fields without decimal places
Related Questions in VXWORKS
- couldn't copy pdb file to another directory while consuming wcf web service
- .net rest service with JSON string and consumed with java client
- How to send Rest GET request that contains "#" value in url parameters?
- Looking the Method that MANUALLY INSTALL PHP on OSX Yosemite
- How to use @queryparam when using array in Java
- How to accept cookies when using a webservice - Android?
- zend soap server reading xml attributes
- Web Service Error path property must set before calling the send method
- Error with kSOAP2
- JAX-RS service response is returning double fields without decimal places
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
It is unlikely in the extreme that a message queue "lost" a task that was blocked on it.
From your description we can assume:
The READY state is the state that tasks are in when they are available to run. Tasks are held in a queue (strictly, one queue per priority level), and when the reach the head of the queue they will be scheduled.
If tasks are persistently showing as READY, that suggests that they are not getting CPU time. The fact that the msgQ does not appear to empty supports that.
You should use tools such as system viewer to diagnose. You may need to raise the priority of the reader tasks. If your msgQSend is using NO_WAIT, you may need to use a timeout value