I-Appliance BBS
The Official Source for Internet Appliance Upgrades and Mods
Amazon Honor System Click Here to Pay Learn More
BBS Main List | Sign In | Sign Up | Search | Help | Linux-Hacker.netReply to Thread | Printer |

Home / Other I-Appliances / WebPal
Web browsers / dillo?
Turning the webpal back into a web pal..!

New MessageWeb browsers / dillo? (modified 0 times) zooloo
Profile
Hi Everyone,

First off thanks to bigbrd + all in the group for all the useful info on the webpal! I was wondering anyone else has tried getting a web browser to work on the webpal?

I have been able to get the debian potato distro running quite nicely off nfs and once I got X working now I'm getting greedy. Thinking dillo might be a good choice since it is fairly compact I first tried to install it along with updated libc6-2.2.4.. Seems like anything above the 2.1.x seems to create troubles with kernel invalid page requests... So I decided to just try and compile dillo using the webpal + native gcc 2.95.2 (in potato). The compile actually worked perfectly (albiet slow), but was esier then sorting all the libs out in the cross, and I was able to link against the 2.1.x libc without complaints. Trying to run it I then get the following kernel dump very consistantly:

Jan 27 22:25:19 webpal kernel: Unable to handle kernel paging request at virtual address 6000004c
Jan 27 22:25:19 webpal kernel: pgd = c466c000
Jan 27 22:25:19 webpal kernel: *pgd = 00000000, *pmd = 00000000
Jan 27 22:25:19 webpal kernel: Internal error: Oops: 0
Jan 27 22:25:19 webpal kernel: CPU: 0
Jan 27 22:25:19 webpal kernel: pc : [baddataabort+112/164] lr : [cpu_arm7_proc_fin+4/20] Not tainted
Jan 27 22:25:19 webpal kernel: sp : c4739f14 ip : 000000b1 fp : c4739fb4
Jan 27 22:25:19 webpal kernel: r10: 400a8324 r9 : 400a62d0 r8 : 00000001
Jan 27 22:25:19 webpal kernel: r7 : e104c09c r6 : 00000000 r5 : 60000010 r4 : c4738000
Jan 27 22:25:19 webpal kernel: r3 : 01000000 r2 : c4738242 r1 : 000000b1 r0 : c0131d2c
Jan 27 22:25:19 webpal kernel: Flags: nzcv IRQs off FIQs on Mode SVC_32 Segment user
Jan 27 22:25:19 webpal kernel: Control: EE133F10 Table: EB002828 DAC: EA00000C
Jan 27 22:25:19 webpal kernel: Process dillo (pid: 177, stackpage=c4739000)
Jan 27 22:25:19 webpal kernel: Stack: (0xc4739f04 to 0xc473a000)
Jan 27 22:25:19 webpal kernel: 9f00: c0023b70 c0020f3c 00000093 ffffffff e104c09c c4788aa0 c4738000
Jan 27 22:25:19 webpal kernel: 9f20: ffffffff 40491354 00000000 c4739f60 c4739f3c c002241c c0036674 c00139bc
Jan 27 22:25:19 webpal kernel: 9f40: c4738000 c01321f4 c00139a0 c4739fb8 40491354 c4739f94 c4739f64 c00225ac
Jan 27 22:25:19 webpal kernel: 9f60: c0130648 00000000 00000000 00000007 40491354 c01321f4 c4739fb8 40492ad4
Jan 27 22:25:19 webpal kernel: 9f80: 4047fe04 00013230 c4739fb4 c4739f98 c00229e4 c002253c e104c09c c4739ff4
Jan 27 22:25:19 webpal kernel: 9fa0: 00000000 0000017f 00000000 c4739fb8 c0023b70 c0020f10 40491358 00000000
Jan 27 22:25:19 webpal kernel: 9fc0: 00000001 4049135c 4049135c 40491358 00000000 00000001 00000001 400a62d0
Jan 27 22:25:19 webpal kernel: 9fe0: 400a8324 bffffb30 00000001 bffffb10 400983b4 40098530 60000010 ffffffff
Jan 27 22:25:19 webpal kernel: Backtrace:
Jan 27 22:25:19 webpal kernel: Function entered at [baddataabort+52/164] from [cpu_arm7_proc_fin+4/20]
Jan 27 22:25:19 webpal kernel: r7 = 0000017F r6 = 00000000 r5 = C4739FF4 r4 = E104C09C
Jan 27 22:25:19 webpal kernel: Code: e59f0064 e3842d09 e3822002 e1a0100c (e595603c)

Any ideas? Funny thing is that I started trying to debug dillo to determine where the fault might be occuring, I ended up commenting out everything except for gtk_init() and it still seg-faulted with the same basic error as above. I then built a small gtk program and it worked fine (with the same gtk_init()). It almost appears that when the dillo executable is linked with all it's other objects with everything commented out but gtk_init (comes out to around 1meg executable), gtk_init always fails with the same segfault. Smaller programs with gtk_init however work fine. Kinda strange.. Anyway the webpal I'm testing is setup as follows:

kernel 2.4.18-rmk4, + brd + nfs swap patch
nfs root dir
swap = 32M on nfs, swap via nfs is working fine (tested it quite a bit and it appears to be stable)
32M RAM installed (with mod)
using gcc 2.95.2 from potato to natively compile dillo, using 2.95.3 cross to compile kernel.


By the way I also went back and checked what was dying when using libc6-2.2.4 and it appeared to be the same segfault with a very similiar error.

Seems that if this could be cleared up it would solve a number of issues..

Oh and mozilla dies also in a different way, no seg-fault just decides to stop loading at one point, probably killed by swapping.. (no big suprise there it's huge). Guess I can always try to get konq-e running!?

Thanks
Zooloo

01-27-2003 21:08:21

New MessageRE:Web browsers / dillo? (modified 0 times) bigbrd
Profile
Since I'm currently on this kick of getting binaries with LDRH instructions in them, perhaps this is your problem?

Run objdump -d on your binary and then search the output for 'ldrh'. If you see any that are not ldrhi, somehow
you got some illegal instructions in your binary. If so, try recompiling (arrggh, doesn't it take a long time
to compile on the webpal) with -march=armv3 -mtune=arm710.

This is just a guess, but it seems that these halfword ARM instructions keep sneaking into the code!

Bill

01-28-2003 00:02:36

New MessageRE:Web browsers / dillo? (modified 0 times) zooloo
Profile
I did actually try just that after reading your other post on the ldrh issue. This sounded reasonable but no ldrh's showed up in the exe, I also checked all the libs to see if it turned up anywhere in the distro but never could find any ldrh's.

I'm not sure if i'm going down a dead end, but I seemed to have narrowed the problem down to libpthread. It seems that if I even link to this library it causes a problem, even if no threads are actually used just linking to it seems to segfault when the app is executed & gtk_init is run. In fact I commented out the handful of calls to pthread in dillo and dillo came up and would almost work except threads are used for file / web page IO so you can't really do anything other then look at the startup page and change options, etc, but at least it got past the gtk_init.

I aoso tried statically linking to the pthread libs with the same exact result. I'll keep digging...one option is to remove the use of pthreads and try another thread lib, but this would just be a bandaid for what seems to be a larger problem with some of these libs..

-Zooloo

01-28-2003 08:32:29

New MessageRE:Web browsers / dillo? (modified 0 times) zooloo
Profile
Well pthreads did seem like the only major problem with dillo. I turned off multi-threading for http browsing and dillo now runs! I'm posting this with it in fact..
01-28-2003 11:52:30

New MessageRE:Web browsers / dillo? (modified 0 times) n1gp
Profile
Good work. I would like to get where you are now, but have MUCH
to learn.

How sluggish does dillo feel when browsing?

01-28-2003 17:17:07

New MessageRE:Web browsers / dillo? (modified 0 times) zooloo
Profile
It's sluggish but suprisingly useable. I'm running my root fs off NFS so that also adds to the slowdown considerably (takes a while initially to load up the shared libs). Once it's up and running it renders pages fairly quickly, sites with lots of images are a bit annoying during the rendering, not toooo bad. Dillo itself has it's limitations (i.e. no frame support) but it's simplicity is what makes the browser usable on this platform.

Currently there are also 'freezes' where the display+mouse will freeze for a couple of seconds when initially opening a page, this may be due to the removal of threading in the page lookup or something else (?). I'm going to put some kind of threading back in to imrpove this a bit.

I'm still scratching my head over why libpthreads doesn't work, I'm tempted to recompile glibc with debugging support to try and isolate this, or maybe ulibc is the answer.. I have a feeling the problem with pthreads is related to the problem with loading woody and all the new 2.2.x libcs.

-Zooloo

01-28-2003 18:55:18

New MessageRE:Web browsers / dillo? (modified 0 times) Zamiel
Profile
Speaking of browsers, has anyone tried links (with or without the -g option) on the webpal yet? If so, what successes or failures you've had.. *can't wait until I get a backup monitor to get back to hacking on mine*
Fnooble!
01-29-2003 12:48:42

New MessageRE:Web browsers / dillo? (modified 0 times) n1gp
Profile
zooloo,

I've been trying to build dillo on my webpal and am having a problem
with the compile. I probably dont have a certain library installed,
but I've downloaded/installed everything I can think of (required)
from the arm distro:

libc6_2.1.3-20.deb, libglib1.2_1.2.7-2.deb, libgtk1.2_1.2.7-1.deb,
libjpeg62_6b-1.2.deb, libpng2_1.0.5-1.deb, xlib6g_3.3.6-11potato32.deb,
zlib1g_1.1.3-5.deb

while attempting to build src/IO, I am getting:
gtk/gtk.h: No such file or directory
gtk/gtkobject.h: No such file or directory
gtk/gtkwidget.h: No such file or directory
also some gdk/gdk...'s as well

any help much appreciated,

Rick

02-17-2003 14:16:55

New MessageRE:Web browsers / dillo? (modified 0 times) n1gp
Profile
Nevermind, looks like the missing piece was: libglib1.2-dev_1.2.7-2.deb

BTW, they just posted dillo 0.7, I'm still compiling on the WP, ka-chunk, ka-chunk...

Would still be interested in hearing how you removed/changed(?) the use of pthreads
as that will most likely be my next step.

Tnx!

02-17-2003 14:58:44

New MessageRE:Web browsers / dillo? (modified 0 times) n1gp
Profile
Was able to get dillo 0.7 to build and install, but it gives a segmentation
fault on start. Wasn't sure how you did the PTHREAD change, I went into
config.h and set the PTHREAD define to 0, make clean, and rebuilt.

Still segfaults. I'm running a base debian potato with the X install per
scratchy's directions (via NFS).

Any ideas?

02-18-2003 23:29:54

New MessageRE:Web browsers / dillo? (modified 0 times) zooloo
Profile
bump-been a while since i've checked in here. Per your question on dillo there were 2 source files pthread was being used, dns.c & IO/file.c. In dns.c search for G_DNS_THREADED and undefine it. In file.c there is no simple way to disable it, one way is just to comment out all calls the pthread stuff as a hack but then you can't read files with dillo (not a problem in what I was doing). The main point is that you can't even link to pthread or it will seg fault. Make sure you don't link to it in the makefile and also rename it in you /lib /usr/lib or wherever it appears to insure it doesn't try and dynamically load. If it does it will seg fault.

Still haven't solved this or any of the libc issues others have noted, very strange indeed. I have a feeling they are all related issues, since the same basic error seems to come up regardless of using a new libc, pthreads, etc..

Good luck
-zooloo

03-04-2003 21:23:35

New MessageRE:Web browsers / dillo? (modified 0 times) n1gp
Profile
Tnx for that info zooloo.

I went back to dillo 0.6.6 since 0.7.0 has MANY more
references to pthreads in src/IO/IO.c, they changed it
quite a bit.

Have you tried 0.7.0 ?

-Rick

03-07-2003 15:30:00

New MessageRE:Web browsers / dillo? (modified 0 times) Zamiel
Profile
Anyone get a web browser working on their webpal and willing to tell the rest of us how to do it? I've been out of the loop for a while (RL stinks ;) and am just getting back to playing with my WP.
05-10-2004 12:58:55

Reply to Thread | Printer |
All times are PSTPowered by UltraBoard v1.62



Copyright © 2000, Netmake Inc. All Rights Reserved.
See Terms and Conditions for more information.




i-opener opener laptop notebook computer help drivers dll free windows dos repair fix linux mac macintosh 2000 95 98 nt pc configure hardware software sound video netscape explorer network networking lan wan software cmos fat bios printer card mouse modem ide scsi cd rom controllers scanner tape hard drive cgi scripts source code mp3