Welcome, Guest. Please login or register.

Author Topic: duktape error NetSurf OS3  (Read 33127 times)

Description:

0 Members and 2 Guests are viewing this topic.

Offline wawrzon

Re: duktape error NetSurf OS3
« on: June 14, 2016, 11:58:05 PM »
Quote from: DNADNL;809981
I'm not sure about the fact I followed the discussion (I've read so many things that I don't remember why ! ^^), but that's right ! AmiKit sometimes rebooted all alone while I was using NetSurf.
amiga system doesnt have memory protection, therefore a faulty application may reproducibly bring the whole system down or effectively reboot it. in many cases at least the faulty memory allocations, reads and writes may be intercepted by a third party software. for systems with mmu the muforce package from aminet.net is advisable. you can enable mmu in your uae settings or even use uaeenfircer directly, typing "winuaeenforcer" command into your amiga shell under uae.

there has been discussion about the choice of c library to be linked against and therefore memory allocator associated with this library. i would have to look for a link. basically you can link against clib2 as its default with netsurf, which is initially faster but appears to slow down dramatically pretty soon. then you can usually link with the libnix option, and as less encouraged, you can take advantage of one of the ixemul library versions, latest of which use internally some buddy allocator. also there is external implementation of tlsf fir amiga, rather rarely used and probably also not well tested due to (expected) incompatibilities. however im not sure what compiler and build config you use. is it some form of amidevcpp?

im sorry for this lengthy post, and things you may be aware of, but you seem to be new here, so i may be mentioning platitudes.

Quote
I'm sorry, I didn't understand what you wanted to say here. Do you mean AmiKit is made with Java ?
i think he would prefer you to fix the browser itself, before trying to implement javascript engine. this is what ducktape is, for what i recall?
« Last Edit: June 15, 2016, 12:02:22 AM by wawrzon »
 

Offline wawrzon

Re: duktape error NetSurf OS3
« Reply #1 on: June 15, 2016, 08:47:15 AM »
Quote from: utri007;809991
AmiKit can be used with real Amigas, but usually it means emulator. Real Amiga = Harware with 680X0 CPU.


its a bit unclear what you are trying to say. even me i need to guess, that you probably want to say that javascript interpreter may be too heavy for real 68k cpus and only wirk with acceptable speed under x86 emulation. right?
 

Offline wawrzon

Re: duktape error NetSurf OS3
« Reply #2 on: June 15, 2016, 03:32:12 PM »
im posting here a link to our previous thread, what concerns the clib and memory allocation speed issues as well as later some stability issues probably still to be considered. sorry for not responding anymore in that thread, but i have lost sight of it.

http://www.amiga.org/forums/showthread.php?t=70260&highlight=netsurf&page=14

and following pages..
 

Offline wawrzon

Re: duktape error NetSurf OS3
« Reply #3 on: June 15, 2016, 09:23:02 PM »
Quote from: DNADNL;810014
I use cygwin 32bits and gcc-tools (with epoch2 and autom4te2, if I remember well) to compile Netsurf for AmigaOS3, and I use AmiKit V8 to launch NetSurf. I looked for the amiga shell on AmiKit but I didn't find it (but maybe I search in the wrong place, I don't know).

but where did you get 68k backend from? which gcc version is this?

i have never used amikit, just plain amiga and aros, but what concerns shell/cli it should be in
system sub directory.
« Last Edit: June 15, 2016, 09:32:32 PM by wawrzon »
 

Offline wawrzon

Re: duktape error NetSurf OS3
« Reply #4 on: June 17, 2016, 04:25:54 PM »
Quote from: chris;810067
I didn't think that worked for 68k yet?

since this is devcpp, as i underatand, probably the default main host gcc there is actually 5.3.0. sounds likely at least. however amiga-m68k crosscompiler backend can very well be 3.4.x. i dont know what stuff is bundled with amikit, but id expect that if someone is up to the task to install a toolchain, he will be able to tell, what toolchain it is and how he got it installed ;)..

edit: for all interested, in the old thread i posted a link to a gcc4.5.0 68k crosscompiler for (ami)devcpp. in case of interest look for it on amiga.sf.
« Last Edit: June 17, 2016, 04:29:05 PM by wawrzon »
 

Offline wawrzon

Re: duktape error NetSurf OS3
« Reply #5 on: June 17, 2016, 08:20:31 PM »
no offence meant! ;P
so, afair, its the toolchain that gets built by netsurf build system automatically?
i dont have devcpp installed at this time, nor am i building netsurf anywhere else currently, but maybe it would be helpful for others to see if your modifications to the scripts couldnt be incorporated, dependent on detecting cygwin as host.
 

Offline wawrzon

Re: duktape error NetSurf OS3
« Reply #6 on: June 30, 2016, 10:55:38 PM »
i think its worth releasing binaries as soon as it is working, not any sooner. and it isnt the case yet as i understand. so far the sources are enough if someone wants to help.
 

Offline wawrzon

Re: duktape error NetSurf OS3
« Reply #7 on: July 10, 2016, 03:37:20 PM »
Quote from: chris;810890

It may be that what I've changed isn't relevant for the '060.


if its jpg decoding/rendering related it maybe isnt relevant for full color rtg screens vs color reduced aga?
 

Offline wawrzon

Re: duktape error NetSurf OS3
« Reply #8 on: July 13, 2016, 07:40:16 PM »
@dnadnl

could you share your changes with me that let you compile duktape so far? or rather how could we corrdinate this. even if im not sure if im going to be of any help.

first of all, where is duktape/binding.h?

edit: äh. stand by. just realized i need first to re-read this thread as well;)
« Last Edit: July 13, 2016, 07:59:27 PM by wawrzon »
 

Offline wawrzon

Re: duktape error NetSurf OS3
« Reply #9 on: July 13, 2016, 08:39:14 PM »
lots of warnings.. with duktape files.
however most strange is:
Code: [Select]
COMPILE: frontends/amiga/bitmap.c
frontends/amiga/bitmap.c:35:26: /opt/netsurf/m68k-unknown-amigaos/cross/lib/gcc/m68k-unknown-amigaos/3.4.6/../../../../m68k-unknown-amigaos/sys-include/proto/guigfx.h: Permission denied
frontends/amiga/bitmap.c:36:27: /opt/netsurf/m68k-unknown-amigaos/cross/lib/gcc/m68k-unknown-amigaos/3.4.6/../../../../m68k-unknown-amigaos/sys-include/guigfx/guigfx.h: Permission denied
frontends/amiga/bitmap.c:37:27: /opt/netsurf/m68k-unknown-amigaos/cross/lib/gcc/m68k-unknown-amigaos/3.4.6/../../../../m68k-unknown-amigaos/sys-include/render/render.h: Permission denied
i dont get how these particular files got their attributes as unreadable to anyone..;)

edit: compiled!
however just realized i dont have a setup to test on, as i only have aros68k here. maybe ill find 3.9 on another computer..
« Last Edit: July 13, 2016, 09:15:15 PM by wawrzon »
 

Offline wawrzon

Re: duktape error NetSurf OS3
« Reply #10 on: July 13, 2016, 09:43:34 PM »
chris, wouldnt that be best to get rid of the warnings first? who knows if these dont let the duktape work. even though it might be some endian issue as with webkit. does that currently work on ppc?
 

Offline wawrzon

Re: duktape error NetSurf OS3
« Reply #11 on: July 15, 2016, 10:46:05 AM »
this is second time clib2 causes a significant issue. which wont be traced let alone fixed, i fear. so why not simply build against libnix? may be a naive question, but what does clib2 offer in comparison?
 

Offline wawrzon

Re: duktape error NetSurf OS3
« Reply #12 on: July 15, 2016, 01:21:16 PM »
Quote from: chris;811134
The other "significant issue" isn't actually fixed by using libnix, so this is the first one only.


my impression was that the gradually increasing lag occurs only with clib2, not libnix?

Quote

clib2 is more modern and supported.


it may be more modern or not, but the question is, if it really is supported. who is maintaining this for amiga-m68k? because libnix source together with a whole amiga toolchain is here and seems actually to be actively maintained:
https://github.com/cahirwpz/libnix

Quote

Like the EU, we should stay in and fix the problems, not abandon it and change to something older which isn't necessarily better. :)


that depends if it is accessible for whoever wants to fix it. some curious similarities to developments in amiga scene here. if at least a temporary rollback to an earlier version was necessary and desired, time will tell.

Quote

Next step is to enable DUK_USE_DEBUG and see what we get.


ok. i stand by as im not able to test the binaries currently.
 

Offline wawrzon

Re: duktape error NetSurf OS3
« Reply #13 on: July 15, 2016, 05:09:10 PM »
Quote from: chris;811139
Because clib2 uses memory pools, libnix does plain allocations.  The slowness in clib2 occurs because after a while, memory pools aren't any more efficient than plain allocations.  Switching to libnix just means it will be that slow speed all the time, which isn't really a fix.


please verify with apj (arturs) benchmark here, post #263:
http://www.amiga.org/forums/showthread.php?t=70260&highlight=clib2+libnix&page=14

i admit the circumstances may not be optimal, he probably didnt reload the page from local file, but its obvious that while libnix and ixemul are slower than clib2 initially, clib2 will eventually slow down to 3-6 slower that them. at this point using the memory allocator provided by ixemul 6x.x seems definitely fastest and most stable option. second is libnix. if you say that clib2 behaviour is not a bug but simply consequence of memory alocator using pools adnt that its normal that they will become inefficient with the time, then i wonder why to stick to that solution.

for the record. im not trying to force anything through. but i wonder.

Quote

Olaf (olsen).

could you contact him about the matter?

Quote

I'll try it when I get chance.  Actually I might ping DNADL a note as it'll most likely get tested quicker.


if you tell me where in the build scripts or headers the copmpiler options are specified i could try to compile it and post binary somewhere for people to test. the libraries/deps need to be recompiled as well i take it?
 

Offline wawrzon

Re: duktape error NetSurf OS3
« Reply #14 on: July 16, 2016, 04:21:02 PM »
sorry, bit slow on this, trying to compile odyssey for 68k on the other end;)

i see only /dev-netsurf/workspace/netsurf/content/handlers/javascript/duktape/duk_config.h

but i do see there only general platform flag m68k (DUK_F_M68K) no mention of particular cpu target. must be somewhere before. will keep looking for that.