[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] AES-calls without appl_init




Am Freitag, den 24.02.2012, 10:59 +0100 schrieb "Helmut Karlowski" <helmut.karlowski@ish.de>:

Sure - that's why I tried to get marathon to work (should do now btw). At first I ran it from ext2, and had to rename/copy some files to get it starting. I must have done something wrong, which caused it to produce the memory-violation. But I tried to stabilize the system to keep it up.
Really strange things happened, apparently code has been overwritten.

I know of one severe bug. I don't know anything about the PureC builds. So everything
I'm saying is just about the coldfire build produced with Coldfire.

All the Draconis tools I currently got into are having an function called load_images.
This function loads images icons etc.
It's called several times with different image file as parameter.
If the image cache is enabled, it will look for an cached image file, read it and just return the content. Otherwise, if icon cache is enabled and the cache is not populated, it will read the original image, convert it to screen format, do some dithering etc. and save it as cache file.

On the firebee build, this works for at least 2 calls. After that, an Call to Fread() crashes, it's reproducable. The funny thing is: using fread seems to work fine. However, fread in AHCCCF is mostly an wrapper to Fread - except when the device flag is set onto that file. then it will to fgetc() ...

After the image was loaded, it probably does some further processing afterwards, memcpy() etc... It could be that there is something wicked happening, which affects the later calls to load_images().

There is no problem when disabling icon cache!

I either assume an bug in the Firebee OS, an Bug withing AHCCCF, or and bug within the image data processing routines
somewhere ( could be in Draconis, XaAES, or fVDI )

Helmut, the problems you were seeing - did they have something to do with images / images cache?

The icon cache creates large files ( I believe on true color systems likely to be > 200k ) - all this memory is malloced by one single call. Maybe that's not so fine for some compilers? With NetSurf it can happen that I malloc(1MB), - but that's not an problem for the OS or GCC. Works fine.

Greets,
m