CMB / edbrowse

A command-line editor and web browser.
Other
344 stars 31 forks source link

gnome look #74

Open sylware opened 3 years ago

sylware commented 3 years ago

I wonder if my git build is working: I did try many "javascript" sites, but I get 1 empty line most of the time.

Are there test "javascript" sites known to work I could test my build against?

eklhad commented 3 years ago

This is very much a work in progress, and I often feel we don't have the people or resources to do it. I'd guess Chrome has 100 fulltime programmers, the best in the business, maintaining and developing it, (plus gmail). edbrowse attempts to be all of this and more. We have basically 1.2 programmers and some other testers, all volunteer. It's amazing it stands at all.

www.nasa.gov is one of my test sites. It comes up blank but then a couple seconds later, 30 lines or so, then a couple seconds later, 70 lines or so. Type showall to get the full site, almost 200 lines.

Coming up blank is a common symptom. Sometimes showall gives you stuff that is there, that you didn't see, sometimes even this doesn't work. There's some secret little tittle of js dom interaction that we didn't do right, and all it takes is one secret little tittle for it not to work. If anyone wants to help us find&fix, there's a page in the wiki about debugging. Help us find where it goes astray, and I'll try to fix it.Sometimes it's as easy as db3 and look for errors, but sometimes there are no errors and it still doesn't work.

Cheers,

Karl Dahlke

sylware commented 3 years ago

Just tested nasa site, and I get 4 lines with round brackets. I guess my build is broken someway and I'll have to figure out why.

eklhad commented 3 years ago

Did you try the static build from edbrowse.org? It's 3.8.0, we've added a lot since then, but it definitely handles nasa.

Karl Dahlke

sylware commented 3 years ago

And yes, the web is now "trusted" by ultra-heavy/tons of devs browsers (horrible c++ kludges). This is a serious issue which should be handled by regulation and by enforcing noscript/basic (x)html interop for critical sites. Coding a lean C89 coded and full web engine without 1000 devs is not reasonable. edbrowse could mitigate this issue a lot if it achieves good compatibilty in spite of not being graphical.

sylware commented 3 years ago

yeah, the nasa site is working with the 3.8.0 static build, but not with my build of git edbrowse.

eklhad commented 3 years ago

Stand by on nasa - I get the same 4 lines. Honest it was working fine a couple days ago! Did nasa change its site in some way? Did I introduce a bug somewhere? Wow!

Karl Dahlke

eklhad commented 3 years ago

Yeah..... Looks like I screwed up! I guess I should try nasa.gov for every commit, even if it seems unrelated.

git checkout eb7a45109ca1402549ca63ea9f530254746ad9ca works git checkout 1f5ec541295be35ddcab2f92dda19e5e63f381cc doesn't.

Well ... you're following the bleeding edge. Haha.

But I'm always here, always responsive to questions and feedback.

Karl Dahlke

sylware commented 3 years ago

huho... not wanted to be pushy or anything, just wanted to know if it was my build or the current state of git edbrowse. Ofc, I am not expecting the git edbrowse to work all the time, no worries :)

eklhad commented 3 years ago

not wanted to be pushy or anything,

Oh not at all. I like it when people discover a bug, well, that I can fix easily. Haha.

Fixed as of ccfe9d82220c20688036049224d6ad4ea093f779 So your build should work with this too.

Karl Dahlke

sylware commented 3 years ago

git pulled but this is what I feared: I get the same result, namely only a few round brackets and that's it.

eklhad commented 3 years ago

git pulled but this is what I feared:

I am quite surprised, and perplexed. If it builds it builds. No reason to behave differently on one machine than another.

do you have commit ccfe9d82220c20688036049224d6ad4ea093f779 in your log? Did you try make clean make

If you like, you could, within edbrowse

db3 dbev jsbg db>l3 b www.nasa.gov

Then after it has been blank for a minute or so

q

And send me the l3 file to @.***

Karl Dahlke

sylware commented 3 years ago

I am manually building libpcre2, quickjs and edbrowse. Very probably, I did not configure properly something. I am posting the log on a noscript/basic (x)html pastebin if you want to have a look (but this is probably me who did something wrong) : https://paste.c-net.org/PayoffOptions (your email address is ****)

eklhad commented 3 years ago

This is where it jumps the tracks.

vendor.js line 455: InternalError: stack overflow

Then nothing works after that.

I'm guessing this is a quickjs stack issue not a C issue. Specially since the static build works for you. But still not sure why you would run into it and I not. I set the stack in jseng_quick.c line 3170 so there should be no confusion.

It's a bit strange, and I appreciate your hard work here. Maybe some internet queries, or a polite email to one of the developers, could shed some light. We sure don't want this to happen to an executable built and distributed by a package manager.

If you can glom onto it - my log is in www.eklhad.net/nasa.l3 I exec vendor.js and then a lot of stuff happens.

Karl Dahlke

sylware commented 3 years ago

Ouch. I built a git quickjs (from yesterday). I'll investigate this stack size (I smell a configure mistake).

eklhad commented 3 years ago

Another thought, which may or may not be related. We work around a quickjs bug, see jseng-quick.c line 3144 Perhaps our workaround isn't universal - or perhaps this has nothing to do with it...

Karl Dahlke

sylware commented 3 years ago

I did put 1GiB of max stack size in quickjs which still overflows. I am about to look at your work around.

eklhad commented 3 years ago

Chris does the static builds on edbrowse.org, and they work, even on your machine, he builds quick from source, he has to, it isn't distributed. You might ask him about his procedure or if he does anything relative to config.

Karl Dahlke

sylware commented 3 years ago

Skimming the bug, I don't understand it. I guess I have to seriously dive into this issue. Either the git version of quickjs broke edbrowse, or, very probably, I configure the build wrong.

sylware commented 3 years ago

found the issue: in quickjs there are several macro variables to control the stack size, I did modifiy the MAX, but not the default allocated. I did put 1GiB in the default stack size, and voilà, working.

Then, the default stack size in quickjs (and maybe the other stack size related variables) must be adjusted or nearly no sites will work.

I guess this should be made explicit in edbrowse build documentation.

eklhad commented 3 years ago

I'm surprised no one else ran into this issue before. I don't want to make it too big, sadly, as this is allocated even if you just edit some files. But still big enough. A machine that only has half a gig of ram, like the one I'm on now, edbrowse wouldn't even run on that. And sometimes I have multiple edbrowse in multiple consoles. I'm not sure how to approach this, Chris says he can join in the conversation in a day or so. We want to give this some thought, then write it up in README and in the build guides that are in the wiki. Thank you for your investigations.

Karl Dahlke

CMB commented 3 years ago

Hi, I don't do anything special with quickjs configuration, it's a stock build. I link the static executables with musl.

Since there's interest in static builds from git, I'm working on containerizing and automating that build procedure. Ideally, any time someone pushes to the edbrowse git repo, a new snapshot of the static executables will show up on edbrowse.org, but we aren't there yet.

sylware commented 3 years ago

wow, this is super weird. Then it may be related to quickjs itself or same nastier interaction. I usually use git libpcre2/quickjs/tidyhtml of the day.

sylware commented 2 years ago

just tried a recent edbrowse build, almost could download a x11 cursor theme!

sylware commented 1 year ago

I tested today: once I get to a x11 mouse cursor theme, the javascript will delete after a short time everything and I'll end up with a few buttons which does nothing.

:(