En/na Luca Olivetti ha escrit:
Al 18/09/10 14:28, En/na Luca Olivetti ha escrit:
I now tried to initialize ranges with
ranges = [[NSMutableArray alloc] initWithCapacity: numberOfMonthsInRange]
instead of
ranges = [NSMutableArray] arrayWithCapacity: numberOfMonthsInRange]
that gets rid of the 4294967295 issue, but it still smashes the stack
when the method returns (i.e. on the closing bracket at line 433).
That was surely a red-herring (a gdb glitch maybe?).
Now with the original file the count is one.
It seems that during the exit of the method it tries to free some
already freed object.
Since I don't understand what's happening, this is the state of the
locals between the "return ranges" and the "}":
Well, I managed to compile sogo with "-fno-stack-protector" and the
problem went away.
Of course I'm quite scared to deploy it: it could be that
objective-c/gnustep/sogo doesn't play well with -fstack-protector (but
notice that everything else but sogo has been built with
"-fstack-protector", since it's a default in mandriva 2010.0) or that
there's really some stack corruption in that methodcd and masking the
problem will lead to data corruption later on.
What do you think?
Bye
--
Luca Olivetti
Wetron Automatización S.A. http://www.wetron.es/
Tel. +34 93 5883004 (Ext.133) Fax +34 93 5883007
--
[email protected]
https://inverse.ca/sogo/lists