Saturday, 20 October 2012

Re: Request for feedback

Hello

On 19.10.12, you wrote:

>>
>> How big is the process stack on AmigaOS 4? Recursion in html_redraw can
>> result in decidedly nested stack frames, which may be a problem if the
>> stack's too small.
>
> Ah, very good point. I had it set to 64K, and with some limited stack
> examination, I see that it does indeed run out in html_redraw on some
> pages (bumping it up to 128K solves that problem, I'll close the bug
> report for that and feel silly to not have checked the stack earlier).

what is the maximum it use as stack and with what page i can reach it ?.On amiga os3 ixemul there
can show stack statistic, and when i test stack usage 1-2 years ago i get only maximum of 12 kb on
big pages netsurf use. Is now the code change to use more stack, so 64 kb is not enough ?.

For security for virus etc i think there should use a stack check Macro (may be for systems with MMU
empty) before large recursive functions. All systems without a MMU can not increase the stack.
I dont know, does all RISC OS now support MMU ?
On amigaos 3 and ixemul stack is automatic increase if it drop under a low value. This work without
MMU but there need set a option in compiler that the compiler add stack size check code. this can
cost some speed, so normaly it is switch off

amiga have a OS function stackswap. to make secure recursive code, it is possible to add code that
every call of html_redraw, the stack is check(there are only 3 asm instructions need) and if it
drop under lets say 30 kb, it alloc local mem and call stackswap amigaos function. when the
function end and extra stack is alloc before it is release then the stack is swap to the old area.

Most MUI classes, reqtools etc and many safe programmed amiga programs do this in that way.

>
> Unfortunately that isn't the issue with this particular page.
>
>> Beyond that, I guess we'll need you to enumerate the differences between
>> the autobuilder and your build environment.
>
> Something I did notice is that libcurl is pinned at an old version -
> is there any particular reason for that?
>
> I'm using:
> curl_version libcurl/7.26.0 OpenSSL/1.0.1c zlib/1.2.7 librtmp/2.3
>
> The auto-built version reports:
> curl_version libcurl/7.21.3 OpenSSL/1.0.1c zlib/1.2.7
>
> Chris
>
Regards

No comments:

Post a Comment