Recently , I encounted with a very confused question:
1. when I play video depend on directshow on WinCE6.0 with the application I wrote based on .net2.0 (as application A),the application is work OK, and there is nothing wrong with the application.
2. I run another application wrote still based on .net2.0(As application B), the application is ok still, and there is nothing wrong with the application .
3. application A and application B run together in different process, the two applications work correct, there is nothing wrong with them.
4. when I put the application A and application B in one process(as application C), put this two applications into two thread , if the video player thread not run , the application C will not crash, but when the video thread run together with B thread run ,the application C will always crash. and the error messages as follows:
above information is somehow one case of the error informations , and the error place is not common , this time error happens here ,another time error happens there,and the error message can't be followed by debug in application.
so I guess if the stack and heap have crashed ? if there is anyone has the same situation about this?
Hope for your reply
Liuyan from company NovaStar.
This Problem is track these days , and I build the NK.bin with debug mode, this problem appeared too. and the information I get from DNW is as follows:
Buffer underflow when the system load some dll files.
and I am really very confused that how this happened?
Did you change the default priority of your threads when writing application C? Do you have variables shared between both threads of application C? If so, do you have some sort of protection mechanism for concurrent access?
Adeneo Embedded Support teamContact us at email@example.com
apart from the message "Buffer underflow "captured when debug,there is another message printed on the DNW :
GDI Handles Grow from 863 to 896.....
this message just print after the Application crash.
I read from the literature <WinCE6_0fundanmental.pdf>, it says:The number of threads is not theoretically limited, but that number is limited by the number of available descriptors. so if my application has too many descriptors ? and how I can get the number of descriptors??
Liuyan From company NovaStar.
As this looks to be a .Net multi threaded application issue I would suggested looking at MSDN for any guides for related to Multi-threaded .Net application developement.
I refered to the webpage as you metioned above,but , I can't get any message usefull about this problem. if there is something wrong with the Display Driver??
what is the meaning about the parameter of register in DSS?
; Bits per pixel setting for compositor backbuffers[HKEY_LOCAL_MACHINE\SYSTEM\GWE\Compositor] "OpaqueBufferBPP" = dword:18
[HKEY_LOCAL_MACHINE\SYSTEM\GWE] ; "PORepaint"=dword:0 - the display driver handles everything ; "PORepaint"=dword:1 - gwe should save and restore the bits ; "PORepaint"=dword:2 - gwe should invalidate and repaint ; "PORepaint"=dword:3 - gwe and driver need to save video memory ; "PORepaint"=dword:0
I tried the method as you suggested ,but the problem has no change. I tried another platform which the chip is S3C6410 ,and the OS serve I created is similar to the Platform I used now with TI AM3703, the only difference is that the BSP is different. but the Application runs well at S3C6410's platform .so this can means that ,this problem is caused by BSP ???
if any one has some opinions about this problem
thanks very much
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.