Hi,
Thanks to Dmitry and a lack of a vfsIteratorStop check, I've found where the error is coming from.
Why my stack disappeared due to this is beyond me, but it's there now.
Thanks for the help, Harald, Dmitry :)

~Ryan

Ryan Rix wrote:
Hi,

Just ran it by a few folks with real devices; While it doesn't create a reset or crash, the call to VFSDirEntryEnumerate that causes the simulator to crash will return 0x0502 or sysErrParamErr ("The dirEntryIteratorP is not valid.") on a physical device (t650 and T|T3 in this case) I can almost guarantee this is because it's null like the rest of my stack.

~Ryan

Ryan Rix wrote:
Hi Harald,

That call is correct; I'm trying to write to record.name.

My stack has a strange anomoly I haven't seen before, I noticed last night:

__Startup__
PilotMain
0xFFFFFFF0 (68k) <-- That should be 'go()' (the function name), not some hex like that, right?
mainFormEventHandler
rebuildDB
searchDirectory
handleFile <-- this is the function that i lose my stack in

~Ryan

Harald Schlangmann wrote:
Some points on the code:

In your code, StrCopy copies name to record.name. I think the arguments
should be exchanged?

    Char *StrCopy (Char *dst, const Char *src)

Furthermore you should check that name space is large enough for the string in record.name. In case record.name is corrupted in some operations above,
it may miss a '\0' and be very long...

Grüße, Harald

-
Harald Schlangmann
Antwerpener Str. 52, 50672 Köln, Germany
Handy: 0171-7663089
[EMAIL PROTECTED]
http://www.gps-laptimer.de

-----Ursprüngliche Nachricht-----
Von: Ryan Rix [mailto:[EMAIL PROTECTED] Gesendet: Mittwoch, 25. Juni 2008 08:53
An: Palm Developer Forum
Betreff: Stack getting thrashed?

Hello all,

I am writing an application which recursively searches the VFS and indexes them to an internal DB.

While it is doing this the T|X Simulator, it inexplicably crashes. A debug run through it reveals that my entire stack inexplicably disappears between

        StrCopy( &record.name[0], name );
        StrPrintF( buffer, "Indexing: %s/%s...", dir, name );

This leads to FileRefs and pointers becoming invalid and crashes galore. These two lines sure don't seem to be very stack heavy.

I tried increasing my stack size to 128k just to see if it would solve my issue, but I still lose my stack on these two, seemingly innocuous, lines...

Even stranger, I don't lose my stack on POSE! (I don't have a real device to test on sadly :( )

Is there any idea as to what is going on, or more information I could supply?

Best Regards,
Ryan Rix
TamsPalm




--
For information on using the ACCESS Developer Forums, or to unsubscribe, please 
see http://www.access-company.com/developers/forums/

Reply via email to