CE.Net 4.10 StrongARM-based embedded device hangs at GDI Polyline API unexpectedly.

C

Charles

Hi. Posted this message in some other groups already, but
just to increase the "coverage" so as to get earlier responses, so I
decided to post it in many groups. Hope that is fine. See if I can get
any help as we are running out of ideas and we are way pass our
project deadline! Any help will be appreciated.

I am working on a project that works with a CE.Net 4.10 (build 908)
embedded device based on the StrongARM CPU (not sure what speed and
exact specs). We ported an ATL ActiveX full control which performs
intensive
drawing operations onto the ActiveX window area using GDI (not GDI+)
API functions such as Polyline, Polygon, Rectangle, etc. The data to
be draw are loaded from an external data file.

We have been previously successful in porting our ActiveX control onto
many different platforms, PocketPC, PPC2002, PC2003, Win32 Desktop,
AMD Geode-based CE.Net 4.10 embedded device, etc. However this time,
we encountered a peculiar issue.

Without modification to the ActiveX, when we run the appln, the
program will hang somewhat consistently at the Polyline function. By
"hang", I mean the device stop responding and my EVC 4.0 (SP3)
debugger on the desktop received a 0xBADCAB1E program exit code and
the ActiveSync (3.7.1, build 4034) connection was broken. Then we have
to reset the device and start over again.

We have checked almost all possibilities, namely NULL pointers, cable
connections, memory access violations, memory leaks, GDI resource
leaks, Polyline limitations (any maximum no of points or size the
function cannot handle, etc), testing our ActiveX on our other
platforms with same input data files, etc.... Up till now we have no
concrete conclusion as to what had caused the hang and thus we could
not effectively come up with a solution to handle that issue.

We tried splitting up the input array of POINTs to the Polyline
function in case it can't handle too large a data set. However, we
would then find the same problem occurring at drawing other lines. The
function can hang even with only 17 points, which becomes too
ridiculous to split further.

Does anyone have encountered similar issues or have any idea where the
problem might lie? We suspect the problem lies with bugs in the OS or
the hardware. We have asked the device supplier but they stated that
the OS was ok. Also, I have come across discussions about the
"StrongARM K bug" but none had clearly state what that bug is about.
Can anyone tell me what is that and could that be the problem?

Pls help as we need to rush this important project. Many thanks.

Charles Wong
Software Engineer
 
A

Alex Feinman [MVP]

Charles said:
Hi. Posted this message in some other groups already, but
just to increase the "coverage" so as to get earlier responses, so I
decided to post it in many groups. Hope that is fine. See if I can get
any help as we are running out of ideas and we are way pass our
project deadline! Any help will be appreciated.

No, it is not fine. If you believe that the message is relevant to more than
one group, post to several groups at once. Cross-posting (that's what it is
called) is not encouraged but acceptable under circumastances. Multi-posting
(what you have done) is a bad idea, period.

Also, your problem has nothing to do with Compact Framework, so you should
not have posted here.
Without modification to the ActiveX, when we run the appln, the
program will hang somewhat consistently at the Polyline function. By
"hang", I mean the device stop responding and my EVC 4.0 (SP3)
debugger on the desktop received a 0xBADCAB1E program exit code and
the ActiveSync (3.7.1, build 4034) connection was broken. Then we have
to reset the device and start over again.

This would be indication of a crash on the device side
We tried splitting up the input array of POINTs to the Polyline
function in case it can't handle too large a data set. However, we
would then find the same problem occurring at drawing other lines. The
function can hang even with only 17 points, which becomes too
ridiculous to split further.

And yet, you might end up replacing call to Polyline with multiple calls to
MoveTo/LineTo wrapped into a function
Does anyone have encountered similar issues or have any idea where the
problem might lie? We suspect the problem lies with bugs in the OS or
the hardware. We have asked the device supplier but they stated that
the OS was ok. Also, I have come across discussions about the
"StrongARM K bug" but none had clearly state what that bug is about.
Can anyone tell me what is that and could that be the problem?

PocketPC NG is probably the place to ask, but I'm sure you did
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top