Most of the problems that I have seen like this trace back to bugs in
INetLibURLCrack. You can actually disassemble a version of INetLibURLCrack
with CW-6. There is a library under the Palm VII support folder. You can
add it to a project, then select it for disassembly.
In general, the errors have always seemed pretty benign, since I have always
seen them reported as invalid memory reads (as opposed to obviously
corrupting writes) . However, it does seem logical that the resulting URL
structure created by INetLibURLCrack could have bogus values in it which, in
turn, creates problems.
Our workaround is not especially high-tech, we've always just renamed our
URLs to avoid the error. If we need arbitrary browsing, we post to a fixed
URL and use that server as a sort of proxy. Ironically, I renamed the ISAPI
DLL you use in your post to avoid this problem.
However, in our experience the INetLibrary has leaks and problems of its
own. We have always found that we get more robust behavior when we use
INetLibOpen and INetLibClose around every transaction. Also, I can't recall
how INetLow does it, but we found that it is problematic to not read all
available data (keep calling INetLibSockRead until it returns 0 (or an
error)) in response to a data ready event.
Good Luck,
-jjf
-----Original Message-----
From: Mike Alexander [mailto:[EMAIL PROTECTED]]
Sent: Monday, October 16, 2000 7:37 PM
To: Palm Developer Forum
Subject: valid INetLib URL formats? (errors with INetLow)
Hi Folks,
I have run into a number of memory-access errors when using INetLib to
POST and receive data, and wonder if someone who has doen this
successfully can share their insight.
I understand from Palm dev support there is a known bug in the INetLib
URL encoding functions, which can cause a memory manager error to appear
when using Poser if certain URL formats are used. You can test this out
by running Palm's INetLow.c sample program in Poser against the
following simple POST echo service some kindly Palm developer has
provided. (BTW, the service runs on port 80, so if you "try" to access
it on a different port, you get no data back -- which is epected.)
The following URLs work fine (e.g., no memory-access error) if your POST
some data (e.g., "TESTING"). Note that some of these URLs return a "No
Data" application message, which is to be expected:
http://207.175.161.68/scripts/posttext.dll
http://207.175.161.68:80/scripts/posttext.dll
http://207.175.161.68:81/scripts/posttext.dll
However, the following URLs cause memory-access errors under Poser:
http://207.175.161.68:8001/scripts/posttext.dll
http://207.175.161.68:80/scr/posttext.dll
http://207.175.161.68:80/scr/posttext.dll
Changing the URL around a tiny bit seems to make a lot of difference in
terms of whether you get memory-access error or not under Poser. I have
caused Poser to automatically Reset by typing in a sequence of URLs that
cause such memory-access errors.
By the way, my interest in the memory-access errors for e.g. the
INetLib.c example under Poser is related to our actual wireless
application. It too gets such memory-access errors under Poser using
various URL formats, and when run on an actual device, crashes after a
(seemingly) random number of such accesses (indicating a memory
trash/crash problem). Unfortunately, the results i'm seeing under Poser
do not always seem to agree with results observed when using an actual
device -- for example, a URL encoding that seems to work fine with our
application under Poser causes our application to (very predictably)
crash with the following error message:
Error: "INetLib.c line 4372, Invalid Params." {Reset}
Thanks for reading this far, and any insights offered are much
appreciated!
best regards,
--Mike A
([EMAIL PROTECTED])
--
For information on using the Palm Developer Forums, or to unsubscribe,
please see http://www.palmos.com/dev/tech/support/forums/
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/