<Begasus[m]>
that's a problem ... curl got updated in the meantime so the path fails there
shodan45 has quit [Remote host closed the connection]
shodan45 has joined #haiku
<erysdren>
```
<erysdren>
oops wrong chat, sorry
duncsauce has joined #haiku
<Begasus[m]>
no damage done :)
mmu_man has joined #haiku
vdamewood_ has joined #haiku
vdamewood_ has quit []
vdamewood has quit [Ping timeout: 480 seconds]
ty3r0x has joined #haiku
ty3r0x has quit []
Kernel86 has joined #haiku
ty3r0x has joined #haiku
janking has quit [Quit: Vision[]: i've been blurred!]
Hannah has quit [Ping timeout: 480 seconds]
janking has joined #haiku
cassisian has joined #haiku
cassisian has quit [Ping timeout: 480 seconds]
nephele has joined #haiku
<nephele>
Begasus[m]: what's up with the matrix ads?
<nephele>
phschafft: what's the "state" for the chacter set that was not reset with reset? i.e how an i trigger this deliberately to make a ticket for it
AlienSoldier has quit [Quit: Vision[]: i've been blurred!]
tetrislife has left #haiku [Error from remote client]
AlienSoldier has joined #haiku
arjen has joined #haiku
<nephele>
Are tab labels also controls?
mmu_man has quit [Ping timeout: 480 seconds]
<phschafft>
nephele: the calls are in the linked wikipedia article.
<phschafft>
note that those are, as always, depending on your terminal.
<phschafft>
it is smacs/rmacs in terminfo.
<nephele>
I opened a ticket
xet7 has joined #haiku
<phschafft>
thank you.
xet7 has quit [Remote host closed the connection]
<nephele>
fixed some more colors in webkit, yay
<Begasus[m]>
nephele: matrix ads?
<nephele>
"<Begasus[m]> Hello there erysdren (@erysdren:matrix.org)"
<erysdren>
Begasus doesnt see those on his end
<erysdren>
i believe it's just cruft from the Matrix carrier or the bridge
<nephele>
Matrix is really carrying that embrace extend extinquish torch huh..
mmu_man has joined #haiku
<Begasus[m]>
in NeoChat I have so select the extention (could be different on others), now in Quaternion like ... erysdren
<Begasus[m]>
:-)
<Begasus[m]>
erysdren: are you on matrix also? I see 2 different nicks when using NeoChat
<erysdren>
i think i have an old account floating there
shodan45 has quit [Remote host closed the connection]
diver1 has joined #haiku
pol has quit [Ping timeout: 480 seconds]
diver has quit [Ping timeout: 480 seconds]
pol has joined #haiku
HaikuUser has joined #haiku
shodan45 has joined #haiku
janking has quit [Quit: Vision[]: i've been blurred!]
janking has joined #haiku
<nephele>
pol: yes... but the if just above that line guards against that
<nephele>
the dir it creates already exists and is a normal directory
<nephele>
(if it already existed and was not a directory it would need to delete it.... but why would this ever occur?)
<phschafft>
hm, erysdren puff-ed.
<phschafft>
nephele: do you by chance know the current status on the dev/rdev situation?
<nephele>
Not sure what you mean phschafft
<nephele>
is there a way in C++ to temporarily ignore a return? I'm working on a function and want to dump the contents of a paramater, but the return value needed is hugely complex to construct, and i'd like to do that in a second step...
<phschafft>
that st_dev on a file does not match st_rdev on the corresponding device.
<nephele>
phschafft: i vaguely recall we talked about this, but i don't know the details anymore. wasn't there a ticket then discussing this?
* phschafft
has no idea what 'ignore a return' means.
<phschafft>
I'm not super sure. I think one was at least considered. my hope was that you magically remember ;)
<nephele>
let the compiler ignore that the signature of the return does not match what the function is supposed to return...
<phschafft>
you don't, also fine. just one can still hope ;)
<phschafft>
the return type is part of the signature, and therefore in C++ relevant to finding that function to begin with. (not a C++ developer here.)
<phschafft>
you can naturally change it if you recompile the code calling it.
<nephele>
not feasible, the codebase is too big for that ;)
<phschafft>
maybe you want to throw a not-implemented exception?
<nephele>
i'm trying to work a bit faster with this, and avoid duplicate work, to not now have to construct the complex return with effective garbage values, but leave it as nothing for now, and implement it in the second step when i know what the paramaters even are
<nephele>
(They are in a BMessage, so i actually need to inspect it)
lubos76 has joined #haiku
<phschafft>
yes, then maybe an exception is the way for you.
<nephele>
just deleting the return statement works *shrug*
<pol>
If you set this path somewhere in the build config you might want to remove the last "/"
tetrislife has joined #haiku
<nephele>
thebuck commented a different way to write this that drops the if entirely
<nephele>
phschafft: indeed :(
<nephele>
I should get an angry snowman in my prompt
cassisian has joined #haiku
<phschafft>
maybe depending on $?
tetrislife has left #haiku [Error from remote client]
cassisian has quit [Ping timeout: 480 seconds]
<nephele>
I'm annoyed. Now implement the third input type into webkit, already have mouse and keyboard
<nephele>
but now i am again getting wierd faults with random stuff beeing private or not declared .-. not a linking error
<phschafft>
/the third/?
<nephele>
yes. mouse wheel events
<phschafft>
hm.
dodo75 has joined #haiku
dodo75 has quit [Quit: Vision[]: i've been blurred!]
dodo75 has joined #haiku
pol has quit [Remote host closed the connection]
* nephele
now gets "expected primary expression before '('" and doesn't know why the compiler is unhappy
<nephele>
it was one comma too much in the return
<nephele>
ugh
<nephele>
PulkoMandy: I can now scroll the page!
<nephele>
it's very slow, but it's doing something :D
<phschafft>
hui!
<phschafft>
:)
<nephele>
funny. Developing a webrowser, using duckduckgo as a test page, and then seeing a warning: "Der DuckduckGo-Desktop-Browser ist nur auf windows und Mac betriebsystemen verfügbar"
janking has quit [Quit: Vision[]: i've been blurred!]
<phschafft>
;)
<nephele>
anyone know in what units be:wheel_delta_y is? webkit only knows pixel and page increments. pixel is way too little however, so this probably isn't an ammount of pixels directly?
<nephele>
randomly multiplying it with "-50" seems to get much closer to a "normal" scroll
bbjimmy has joined #haiku
lubos76 has quit [Quit: Vision[]: i've been blurred!]
mmu_man has quit [Ping timeout: 480 seconds]
<PulkoMandy>
I think it's just the number of mouse wheel clicks counted by the mouse
<PulkoMandy>
There is probably a way to compute a multiplier to convert that to pixels somewhere in bscrollview code
<nephele>
There is an api called ScrollView::PixelsPerLineStep() that WebKitLegacy uses for this same case
<nephele>
but i don't think i have that one available in either place
<nephele>
unless the application, i.e MiniBrowser were to stuff that into the BMessage... but having the caller deal with this case seems wrong
<nephele>
Apart from it crashing in various places (like opening a context menu) I now have a working view pretty much :)
<nephele>
Still missing stuff like, well, figuring out why i can't focus text fields
<nephele>
clicking on some stuff works though
<nephele>
selecting text also works
<PulkoMandy>
BView just multiplies the wheel delta by scrollbar steps
<PulkoMandy>
So from the OS point of view, each app can set its own scroll speed...
<PulkoMandy>
And the default in PScrollbar is indeed 1 pixel
<nephele>
what are scollbar steps in that context?
<PulkoMandy>
You can set them using BSrollBar::SetSteps()
<nephele>
does webkit actually use a BScrollView or something?
<nephele>
just sending it the WebWheelEvent now properly scrolls the page, but i didn't hook this up to scrolling stuff anywhere.
<PulkoMandy>
Columnlistview uses 20, listview uses the first item's height, scrollview computes it from the font height x 1.33, btextview uses10
<PulkoMandy>
Looks like you have just found another rat nest in interface kit :)
<PulkoMandy>
And I think webkit2 doesn't use scrolling, but if you were looking for "what is the standard multiplier for scroll speed", it seems there isn't a single answer
<PulkoMandy>
Reusing the formula from BScrollView should be fine
<nephele>
> Looks like you have just found another rat nest in interface kit :)
<nephele>
But we just finished the control colors
<nephele>
:)
<nephele>
okay. Done that, seems to give good enough results, and should match "mostly" what people expect with a higher pixel density or lower one, since the font height should corralte to that
<nephele>
PulkoMandy: regarding pointer lifetime, this is a bit hard to do (for me) because webkit takes these back at some point, and then i can't compile if i use a copy instead of a pointer or something
<nephele>
so If possible, with now all three input methods done, i would like to keep that as is and have zardshard or you take a look at how that can be done better...
lubo76buntu has joined #haiku
freddietilley has quit [Quit: WeeChat 4.6.3]
dovsienko has joined #haiku
<nephele>
PulkoMandy: what should I do about positions for mousewheel events? I assumed at first this didn't matter. but it probably does for scrollbars within the page? Should webkit "just" take the position of the mouse cursor?
<nephele>
(that'd make it more difficult if we ever do stuff like multiple mouse cursors, is that a possibility?)
<nephele>
also, can i easily get the mouse position like this?
<nephele>
WebKitLegacy seems to get this info from extracing stuff from the mousemoved event... but i don't see that in the message, so i am quite confused about that codepath...
<nephele>
(or maybe the members are not logged correctly in DevConsole?)
janking has joined #haiku
bbjimmy has quit [Read error: Connection reset by peer]
<PulkoMandy>
I think there is a BPoint in the message
bbjimmy has joined #haiku
<nephele>
either there isn't, or devconsole is not showing it
<nephele>
devconsole only logs when, be:wheel_delta_x, be:wheel_delta_y and be:device_subtype
<PulkoMandy>
I don't know what it des with types it dnesn't know, and if it knows how to display BPoint
<nephele>
according to the source it can display BPoint, and for unknown types it writes "TODO: unhandled message content type"
<PulkoMandy>
message->PrintToStream(); should work to test the message content without devconsole (if you can see the stdout of the program)
<nephele>
okay, i can cross test it then. But i really am "just" using MessageReceived in the WebView apibase class to forward these events, so i don't see why it would not be there, then
<nephele>
my system is really unresponsive, the cursor moves only after quite some time, and updating windows takes a really long time. darn. Nomally compiles should not do this :/
janking has quit [Quit: Vision[]: i've been blurred!]
<nipos>
I experienced the same yesterday when my RAM was nearly full while compiling WebKit.Never had that happen on Haiku before.
cassisian has joined #haiku
<nephele>
nipos: probably not for the printer icons itself, but if you work on other icons it would be nice to use the GetSystemIcon api in the future
AlienSoldier has quit [Ping timeout: 480 seconds]
<nipos>
...which is not documented,of course
<nephele>
... it is documented?
<nephele>
PulkoMandy added the documentation in the same commit that introduced it
<nipos>
Searching for getsystemicon in the Haiku Book returns "No Matches"
<nephele>
but for some reason that documentation is missing
<nipos>
Yes,but did you look at the screenshot?The file not existing was not my complaint.It was just a wild guess that the path might match,but it doesn't.Still,the Error 404 page looks broken.
<nephele>
Yes, sure. But that is probably because of the webserver using a generic one for all on that server...
<nephele>
I don't have time or the acess to fix that at the moment, so maybe make a ticket for that
<nipos>
I'll check what's wrong and how to fix it.Should be rather easy.
<nephele>
Now, should I use OpenBSD or FreeBSD for my new mail server...
<nipos>
Yeah,it's exactly what I expected.It uses relative paths (that are probably correct for /any_file but not /any_path/any_file) rather than absolute paths.
<nephele>
Yes it does
<nephele>
A 404 page specific to the api book would be cool still :)
<nipos>
All of my servers run FreeBSD,never had much luck with OpenBSD.But considering its focus on security,OpenBSD may be a good fit for a mail server,actually
<nephele>
I want to use some software like https://www.opensmtpd.org/ this time around. So that would probably be easier to use on OpenBSD directly. (and i also like PF, while FreeBSD has an outdated PF dialect...)
<nephele>
only annoying thing is no zfs for a raid (with say two ssds...) to gurantee file integrity, and catch a failing disk faster....
<nipos>
ZFS is really nice,yes
<phschafft>
nephele: port zfs to Haiku! ;)
<nephele>
i'm compiling Webkit in debug mode to try and fix some crashes afterwards, but darn does it take a long time
<nephele>
phschafft: i think before that, a sctp implementation is what i am interested in xD. I think zfs might be interesting for haiku, but since it wouldn't work as a default fs it would still have limited useability
<nephele>
i think a bfs v2 with ideas from zfs and hammerfs and such would be really cool, eventually :)
<nephele>
Not that i know how to design a filesystem :D
<phschafft>
but zfs is the maximally most superior filesystem that can ever exists in physical spacetime! it supersedes all other filesystems as it is ultimativly better at everything than everything else! so it should be the default filesystem, if not the only filesystem any operating system should ever support!
AndrevS has joined #haiku
<nephele>
I think we are on the same page that there isn't a "best" in such spaces... :)
mmu_man has joined #haiku
<phschafft>
I must must say that I have not found a single thing zfs is better in within all the problems I ever had about filesystems. this naturally is a limited view of the full problem space/domain.
<nephele>
I'm not sure what your problem space usually is tbh
<nephele>
my "problem" space is usually something like, i want to verify integrity of my files... and ideally have some redundency by using two drives
<nephele>
a raid can do the second part, but usually not the first one
<phschafft>
to move that a little bit more back into Haiku waters: generally I'm all for a nice SCTP implementation. go for it!
<phschafft>
also I think a bfs v2 would be nice, but given what I have seen so far (tickets, discussion, ...) I'm not sure there will be any relevant move forward soonish.
<nephele>
5,6MB bootable medium, not bad
<nephele>
phschafft: i don't expect movement anytime soon either
<nephele>
probably when all the people who hacked on haiku in their youth retire ;)
<phschafft>
the multiple hardlinks problem is a very limited factor for me. and one of the reasons I'm not activly porting code (as it is really a waste of time to port code that will fail at runtime).
<phschafft>
and that one is very deep in bfs' design.
<nephele>
yes... that's a wierd design really
<nephele>
it also hurts massively for stuff like git
<phschafft>
from understanding it is basically because bfs is more FAT/(any) DOS style filesystem than a NTFS/UNIX style filesystem.
<phschafft>
which is fun, to see a more UNIX like system on a more FAT like filesystem. but it comes with both sides of 'fun'.
<nephele>
it's kind of funky. in some ways haiku is ahead. but in other places it's a bit behind :)
<phschafft>
not sure if I would put it that way.
<phschafft>
but I would agree that it is a refreshingly colourful mix.
nephele has quit [Quit: Vision[]: i've been blurred!]
<waddlesplash>
menu background = purple, control = blue
<waddlesplash>
panel color = standard gray
tktech28 has quit [Ping timeout: 480 seconds]
tktech289 is now known as tktech28
<nephele>
I think that is fine. If the BToolBar and menu now match colors we could remove the line in between (same for the line between a tab header and the panel-colored item below)
<waddlesplash>
that will be more difficult. I think the divider line makes sense anyway, it's just a border
<waddlesplash>
We could also potentially add yet another color constant for toolbars
<nephele>
Anyhow, the only odd one out is WebPositive, with tab headers between the menu and BToolBar
<nephele>
But Those should become proper tree tabs eventually anyway... so this would only be a temporary problem
<nephele>
(maybe with the "new" Webpositve based on WK2 we can do this in one swoop)
<nipos>
Wait,you want to remove the normal tabs,do I get this right?
<nephele>
For WebPositve, yeah.
<nipos>
Please don't
<waddlesplash>
I also want normal tabs
<waddlesplash>
If we enhance S&T enough so that it can replace regular tabs, fine
<waddlesplash>
But I want regular tabs
<nephele>
The current tabs webpositive, that is in-window tabs, are usefull if you have a fixed ammount of content. for example the appearence preference
<nephele>
but for anything else this implementation is horrible, no way to re-order tabs, no way to rename them, etc.
<nephele>
so even if you keep tabs the implementation has to be redone
<nekobot>
[haiku/haiku] 92261f367f2e - Printers: Make icons scale for HiDPI
<nephele>
But as you saay stack&Tile tab improvements may be better at that point ;)
<waddlesplash>
rename them?
<nipos>
Re-order should be doable to implement,some native apps already support that (Genio if I know right)
<waddlesplash>
that's not even possible on web browsers on other OSes
<waddlesplash>
nipos: Genio's tabs I think originated with the Web+ tab class
<nephele>
nipos: Genio took the implementation from WebPositive and rewrote some of that
<waddlesplash>
it may be possible to just backport their changes easily
<nipos>
Yeah,that's what I had in mind
<nephele>
They have diverged
<nephele>
I've fixed stuff in webpositive tabs Genio doesn't have
<nephele>
but regardless, this shouldn't live in webpositive in the first place
<nephele>
if you want to sync this with genio this should be in libshared
<nephele>
(and to make webpositive tabs re-orderable you have to do more than genio did iirc. because you need to keep the webkit view in sync)
<nephele>
regardless, i don't understand why either of you'd want to keep the terrible implementation we have now?
<waddlesplash>
you are suggesting to replace it with tree tabs
<waddlesplash>
I'm not really a fan of those
<waddlesplash>
and I wouldn't consider it an improvement
<nipos>
Improving the tabs using code from Genio is something I could try doing.Shouldn't be super hard I think
<nephele>
Okay. But: same argument for why we have deskbar and not a windows taskbar
<nephele>
nipos: expect problems
<waddlesplash>
nephele: in fact I often put Deskbar on the bottom
<nipos>
My deskbar is also in Windows taskbar style ;d
<nipos>
* :D
<nephele>
Well, it doesn't work great in that mode either... so i'd count you two as outliers here
<nephele>
pretty much all applications that deal with multiple switchable contexts in Haiku use a tree view or list view, like Vision
<nipos>
Also,I'm not against support for optional tree style tabs.I don't even care if they're the new default.But please keep normal tabs as a option
<waddlesplash>
+1
<nephele>
nipos: Let's put it like this, in order for a proper implementation of either style, I will have to either remove or heavily rework the current tabs. The way they work currently maps terribly to the style of webkit2
<nekobot>
[haiku/haiku] 1ad882a7ecf5 - BToolBar: Use MENU_BACKGROUND color, and leave buttons with default.
<waddlesplash>
nephele: it probably isn't too hard to fix. WK2 uses more standard BViews right? And we can put those inside anything
<waddlesplash>
i.e. there will be one BView per open "tab"
<waddlesplash>
so it can go in a BTabView, a BCardView, etc.
Anarchos has quit [Quit: i'll be back]
<nephele>
So, if the genio implementation, properly cleaned up, and with the webpositive fixes that were done in the meantime lands in libshared I think we can use it for the new webpositive
<nephele>
waddlesplash: using a BCardView as a backing store and then tying both options to that would not be a bad idea
<waddlesplash>
let's wait to import it until we have a use for it
<waddlesplash>
if it can be used for WK2 Web+, let's wait for that then
<nephele>
I'm not sure how much of WebPositive is reusable in the current state tbh. A lot of it got broken over the years in any case...
<waddlesplash>
?
<waddlesplash>
what's broken?
<nephele>
most stuff? The only thing that *isn't* broken for me is the tabs and the status of what is loading
<nephele>
Cookie manager is broken, bookmarks bar is broken
<nephele>
favicons are broken
Anarchos has joined #haiku
<nephele>
many colors are wrong (despite fixes i made there)
HaikuUser2 has joined #haiku
HaikuUser2 is now known as scantysnax
<waddlesplash>
bookmarks bar seemed to worked last I knew
<nephele>
I disabled it once, and there is no way to bring it back
<scantysnax>
hmm looks like wireless tethering to my mobile is working.
<scantysnax>
anybody around?
<waddlesplash>
nephele: LOL you're right
<nipos>
If it's only about the enabled/disabled state,that's probably not too hard to fix
* nipos
puts that onto the list of things to try fixing
<nephele>
sure. but a lot of stuff has broken over the years. So what i'd like to do, when doing WebPositve2, is to incrementally clean this stuff up and move it over
<nephele>
instead of shoving webkit2 into WebPositive1 directly
<nephele>
of course, both aproaches can work :)
<nephele>
i.e move over the cookie jar in the same step as making this work with webkit2. etc.
<nephele>
waddlesplash: i wish the OS would work better with low memory stuff :( am compiling webkit2 in debug mode, and the OS becomes so sloooow, like mous events aren't processed in a timely manner :(
<waddlesplash>
do you have swap enabled?
<Anarchos>
hey waddlesplash ! I remembered there were some live coding videos of you on youtube, but there is no more content on your youtube channel
<waddlesplash>
Anarchos: I never posted anything to YouTube, only Twitch
<waddlesplash>
and Twitch only keeps content for a week or something like that in most cases
<nephele>
yes i have waddlesplash
<Anarchos>
oh ok. I never used twitch before. I thought it was for gamers.
<waddlesplash>
nephele: how much of your swap is used?
<scantysnax>
sorry to bother, can anyone see my chat?
<Anarchos>
scantysnax yes
<waddlesplash>
scantysnax: yes
<Habbie>
scantysnax, hi!
<nephele>
I had to stop the build to be able to open the preferences... so will tell you in a bit
<nephele>
the ram usage only seems to ramp up after some time
<waddlesplash>
just keep an ActivityMonitor in the background
<scantysnax>
thanks!
<Anarchos>
Begasus[m] i solved the failed pipelines for betex :)
<Anarchos>
Begasus[m] but only in Makefile, so i fear the .pld Paladin project file will be outdated...
<nephele>
OKay, it eclipsed the 32GB RAM, now the swap is growing
<scantysnax>
hi guys2
<scantysnax>
guys*
<nephele>
now about 1GB
<Anarchos>
nephele it reminds me when BeOS could run with very low memory (maybe 32Mb or 256 ?)
<nephele>
enough to get "micro" hangs when activity monitor will stop updating now
<nephele>
1,4GB
<waddlesplash>
nephele: things behaving that slowly for me (swap disabled here) only happens under really high RAM pressure. With swap it may happen even without high RAM pressure especially if you are not on an SSD, I guess... but if it's just high RAM and swap total usage, then this is likely just due to the incorrect memory commitments bugs
<nephele>
waddlesplash: interesting that the preference applet does not update the used swap :)
<waddlesplash>
yeah, it doesn't
<waddlesplash>
ActivityMonitor does tho
<nephele>
I am on a SSD
<nephele>
now 2GB Swap
<nephele>
wierdly enough the build itself seems to have slowed, not using the cpu much...
<nephele>
only in intervals
<waddlesplash>
not surprising
<waddlesplash>
once you start using swap, things get paged in and out
<waddlesplash>
and that takes a while
<nephele>
Can I get Haiku Inc to send me a RAM stick? :)
<waddlesplash>
you should likely just retune your build to not use more than 32GB RAM
<Habbie>
nephele, what kind, where are you?
<waddlesplash>
probably use -j16 or -j8
<Habbie>
nephele, wait 32G was not enough? i'm not sure i can offer something ;)
<nephele>
i'm not using ninja or make directly but the webkit script... not sure how to tell it the jobs, i can only run 12 jobs in any case :)
<waddlesplash>
are you on beta5?
<nephele>
not for the build no, i'm on the nightlies
<waddlesplash>
ok
<waddlesplash>
it is possible this is the new allocator malfunctioning
<waddlesplash>
can you try putting libroot
<waddlesplash>
libroot_debug.so as libroot.so and see if it behaves any differently?
<waddlesplash>
it will be slower but may use much less RAM
<nephele>
just LD_PRELOAD it?
<waddlesplash>
likely won't work with the build system
<waddlesplash>
just put it in /system/non-packaged/lib with the name libroot.so
<waddlesplash>
that'll work no matter what the build system is doing
<nephele>
okay, i've set it up
<nephele>
What should i watch for now?
<nephele>
Habbie: not sure what kind. maybe gddr4 or something? I'd have to check :)
<Habbie>
ok i don't have that
<nephele>
I "only" have one 32GB stick :)
<nephele>
so i still have one slot open
<nephele>
the board can suppoer 128GB in theory
<nephele>
waddlesplash: seems to work similarly, 32GB eclipsed... 700mb swap and growing
<nephele>
and the freezing seems to be more
<waddlesplash>
kill the build and run with -j1
<nephele>
and then?
<waddlesplash>
if this is early in the build process it's likely just one or two files that need a ton of RAM
<waddlesplash>
so get past those and then try again with multi job
<nephele>
no. it's using Unified source files
<nephele>
and makes huge debug files...
scantysnax has quit [Ping timeout: 480 seconds]
<nephele>
debug builds of webkit are a challenge even compared to normal webkit builds ;)
mmu_man has quit [Ping timeout: 480 seconds]
<nephele>
I should probably use clang and lld..
<PulkoMandy>
The new allocator is a lot better at this than the old one was
<nephele>
8 jobs still eclipses 32GB :/
<PulkoMandy>
building webkit just needs a lot of memory. On my machine with 16Go of ram I can't use more than -j6 for release builds
<nephele>
PulkoMandy: with 32GB i can use all my 12 jobs for the release builds
<PulkoMandy>
And Haiku doesn't behave so well when running out of physical ram
<nephele>
I saw, i think it should behave better... :)
<PulkoMandy>
The script accepts arguments #or build parallelism, you can check the haikuports recipe for an example use of that I think
<nephele>
i tried --makeargs that seems to work
<nephele>
for some reason it does not like using ninja anymore :)
<PulkoMandy>
But you can alsostop it after it has started building, go in WebKitBuild/release (or debug) and run ninja there with the arguments you want
<PulkoMandy>
And you can use lld without clang, that makes webkit build a lot faster
<nephele>
my build doesn't use ninja but make
<nephele>
i don't know why
<PulkoMandy>
Maybe you don't have ninja installed?
<nephele>
I have it installed
lubo76buntu has quit [Remote host closed the connection]
mmu_man has joined #haiku
<waddlesplash>
nephele: well there's part of the problem
<waddlesplash>
ninja is smart enough to monitor system RAM usage
<waddlesplash>
make obviously is not
<nephele>
I have no clue why this broke waddlesplash
<nephele>
webkits build used to just use ninja when available
janking has quit [Quit: Vision[]: i've been blurred!]
janking has joined #haiku
janking has quit [Quit: Vision[]: i've been blurred!]
janking has joined #haiku
janking has quit [Quit: Vision[]: i've been blurred!]
janking has joined #haiku
nephele has quit [Quit: Vision[]: i've been blurred!]
nephele has joined #haiku
<nephele>
Heh, thought maybe i could close some apps to save on RAM... but the open apps all took less than a mb, not really saving much!
<Habbie>
a testament to code quality in Haiku
<nephele>
fatal error: bad data ; points to "#include <arch/x86/fenv.h>" lol
dodo75 has quit [Quit: Vision[]: i've been blurred!]
jmairboeck has quit [Quit: Konversation terminated!]
<nephele>
this debug build takes sooooo long
<nephele>
I hope that at the end i will actually have working debug symbols
<nephele>
and this wasn't just pointless
janking has quit [Quit: Vision[]: i've been blurred!]
janking has joined #haiku
Aedil has quit [Quit: leaving]
<nephele>
280eur for a 64GB ddr4 module...i'm gonna pass
<Habbie>
oof
dqk has joined #haiku
<nephele>
900eur for 32GB from synology
<nephele>
NICE :D
<Habbie>
wow
Anarchos has quit [Quit: Vision[]: i've been blurred!]
janking has quit [Quit: Vision[]: i've been blurred!]
<nekobot>
• pulkomandy (43e9b2ca): slang: Haiku is a "real unix system"…
<nekobot>
• pulkomandy (5731e4f4): dosemu: enable sdl and slang plugins, add icon, split SDL and devel packages
cassisian has joined #haiku
angrystar17043 has quit [Remote host closed the connection]
angrystar17043 has joined #haiku
<nephele>
"loading debugging information"
<nephele>
oh shit, my used RAM shot up to 28GB
cassisian has quit [Ping timeout: 480 seconds]
<nephele>
it eclipsed my physical RAM and is now starting to use SWAP
<nephele>
uhhh
<nephele>
i guess using debug symbols for webkit is no good?
<nephele>
is there some optimization we can do to drastically reduce this RAM usage?
<nephele>
the ressouce monitor claims Debugger uses "only" 5GB, so not sure where the rest is going, it claims to be allocated to system ressources & caches
<nephele>
libwebkit is "only" 3GB in size, and javascriptcore 600MB
<nephele>
where does the rest come from?
<Habbie>
symbols?
<nephele>
aren't those in the library?
<Habbie>
they are
<PulkoMandy>
It's compressed usually, and debugger builds itself a lot of data structures
<nephele>
okay. but this is effectively a 10X increase then?
<Habbie>
PulkoMandy, roughly the kind of thing i was wondering about there
<nephele>
PulkoMandy: how come the memory is not tracked to Debugger?
<PulkoMandy>
I don't know
<nephele>
should i reboot?
<PulkoMandy>
It's probably something else
janking has joined #haiku
<PulkoMandy>
but I don't know what
<nephele>
I have 3GB in swap now... and debuggers UI is pretty much frozen
<nephele>
and the three entries i tried... had no debug info :'(
<nephele>
two of those are in WTF
<nephele>
Even more uhh, wierd. that it crashes and has a function called "WTFCrashWithInfo" in it's callstack, and i'm not getting information :(
<janking>
i have atomatic swap
<nephele>
shutting debugger down i get 1.17GB stuck in kernel team... and 2.75GB still claims to be allocared to ressources & caches
<nephele>
So this really was somehow in debugger
<nephele>
waddlesplash: are you around to help debug this?
neoncortex has quit []
<waddlesplash>
nephele: just use GDB
<waddlesplash>
Debugger is not well equipped to handle such massive debug infos unfortunately
<nephele>
how will that help?
<waddlesplash>
and making it do so will not be an easy refactor
<waddlesplash>
because GDB can handle such massive amounts of debug info without needing to allocate all of it at once
<nephele>
Is there a graphical way to use gdb?
<nephele>
and, how would i even start it when an app crashes?
<waddlesplash>
Qt Creator has a GUI
<waddlesplash>
you can just attach it before the crash occurs
<waddlesplash>
debug_server used to have a way to hand over control to GDB directly
<waddlesplash>
but I don't know if that still works
<nephele>
even with allocating all at once, this seems faulty?
<nephele>
would be nice if you could investiate that regardless... i don't want to be stuck having to use gdb if possible :)
<dovsienko>
if anybody has R1 beta5 at hand, could you confirm "uname -s" prints "Haiku"?
<nephele>
dovsienko: it does
AndrevS has quit [Remote host closed the connection]
<dovsienko>
nephele: thank you
<nephele>
I give up, i can't figure out how to use gdb. Every time i try to use it the programm freezes imidiently and i can't test anything
<nephele>
qt creator has a completely broken gui aswelll... just in general, can't even find out where gdb is supposed to be
<waddlesplash>
Qt Creator works just fine for me
<waddlesplash>
just tested it, Qt Creator can attach to a process with GDB just fine
<phschafft>
nephele: once you attach gdb gdb normally halts the program for you. so it 'freezes'.
<waddlesplash>
nephele: Qt Creator main menu -> Debug -> Start Debugging -> Attach to Running Application
<phschafft>
just use 'continue' to continue the program ;)
<nephele>
phschafft: Okay? why? i did not ask it to do that. And i can't use it anymore once it does that... it no longer accepts any commands
<waddlesplash>
pick the process you want, and attach
<waddlesplash>
nephele: note that it will take some time to attach to really large programs
<nephele>
waddlesplash: qt creators gui is just 90% white, and the rest is labels that are way too small to read
<waddlesplash>
the main area is white if nothing's loaded yes
<waddlesplash>
The labels should match the system font size
<waddlesplash>
They do for me anyway
<nephele>
They really don't
<waddlesplash>
there's not enough spacing around them, that's true
<nephele>
no, the text is way too small, and it is too thin
<waddlesplash>
I don't have that problem at all, for whatever reason
<waddlesplash>
the text looks basically the same as system
<waddlesplash>
ah yes the text on the right is too small indeed
<waddlesplash>
same here. But I just ignore that
<waddlesplash>
It's not great, but that's because our Qt port doesn't handle DPI properly
<waddlesplash>
I wrote a patch to fix that, but it didn't work apparently except on the one app I tried it on LOL
<waddlesplash>
so it got reverted
<waddlesplash>
and I haven't investigated again since
<nephele>
I can't read anything in that UI except for the buttons on the unreadable thing....
<waddlesplash>
the menu looks fine?
<waddlesplash>
"Debuggen" is what you want
<nephele>
I don't consider the menu part of the main UI
<waddlesplash>
well whatever, it's what you want
<waddlesplash>
the debugger views should have the right font size at least
<nephele>
it doesn't do anything
<nephele>
the ui is just empty lists...
<nephele>
oh, it gave a popup that said gdb takes too much time .-.
<waddlesplash>
just wait lol
<nephele>
...
<nephele>
Wierd attitude, I am used to immidietate feedback from Haiku applications...
<waddlesplash>
well these aren't Haiku applications
<nephele>
Please fix debugger >:)
<waddlesplash>
Debugger has the same problem at this stage of loading, feel free to work on that
<waddlesplash>
nephele: I'm not really a Debugger expert
<waddlesplash>
I've touched it here and there where necessary, but not at this level
<nephele>
it doesn't? It tells you at the bottom that it is loading a library
<nephele>
the only indication i have that anything is happaning is that system RAM usage is climbing slowly
<phschafft>
then that GUI does not forward that information to the user.
<nephele>
this doesn't seem like a "use a library for a good gui" situation... but more like a "we wrapped a shell command" situation...
<waddlesplash>
GDB has a "Machine Interface" that Qt Creator talks to internally
<waddlesplash>
it's not just "a shell command"
<nephele>
if the only output it can give me is "it didn't respond for 40 seconds" the interface might not be vebose enough...
<nephele>
Anyway, the memory usage is now flat at 13,67.... it doesn't seem to do anything more
<phschafft>
that might be true, feel free to open a ticket against that GUI.
<nephele>
phschafft: i don't think I will
<waddlesplash>
nephele: can you click the Pause button?
<waddlesplash>
on the middle bar in Qt Creator
<waddlesplash>
it may be rather small unfortunately...
<nephele>
I don't see any buttons
<nephele>
oof...
<nephele>
i pressed the pause but it did stop instead...?
<nephele>
now it sais interupting
<nephele>
waddlesplash: what should I do now?
<waddlesplash>
do you get a stack trace?
<nephele>
I don't get anything
<waddlesplash>
hm
<waddlesplash>
it may need to demangle names... is there still high CPU usage in GDB?
<nephele>
it just keeps saying interupting
<nephele>
two cores seem busy still
<waddlesplash>
in GDB
<waddlesplash>
?
<nephele>
switching the load between them, for some reason
* phschafft
wonders what kind of beast nephele tried to interrupt if gdb is overrun by it.
<waddlesplash>
WebKit
<nephele>
yes it seem to be in gdb
<phschafft>
never had gdb lag ;)
<waddlesplash>
well, give it a bit then
<nephele>
two gdb worker threads are active
<nephele>
this feels like the "good old days" of computers, i'm gonna brew a coffee... maybe afterwards I will have a debug trace
<nephele>
waddlesplash: in any case, webkit2 still has severall different crashes. Even if i get a trace eventually, i can't debug those crashes in a reasonable time like this
<waddlesplash>
there are ways to make GDB cache some of this stuff in ~/ somewhere and speed up startup time
<nephele>
so i guess it's back to no debug info and printf logging or BMessage...
<waddlesplash>
and, what's a "reasonable time"?
<waddlesplash>
nephele: check your syslog, debug_server usually prints stack traces immediately
<waddlesplash>
so you have that at least
<nephele>
yes, but i also have that if i compile without any symbols
<nephele>
(with a gui in Debugger)
<nephele>
a reasonable time is a time which i can wait without getting frustrated :P So far It took me severall hours to try and start working on the first crash and haven't gotten any debug symbols
<nephele>
recompiling and printf debugging is atleast much much faster than this...
<nephele>
it's now almost 20 minutes just waiting for gdb to output anything :(
<nephele>
Debugger didn't take that long. I'd assume without swap thrashing that the gui would have been useable too
<nephele>
not that it seemed to have any debug symbols....
janking has quit [Quit: Vision[]: i've been blurred!]
<nephele>
waddlesplash: do we have better git performance on any other FS we support?
<waddlesplash>
I don't know
<waddlesplash>
the problem is a combination of BFS and block_cache behavior
<waddlesplash>
it is possible that ext uses block_cache differently enough to not have the issue
<waddlesplash>
however, I don't know that our ext impl is nearly as optimized as BFS
<waddlesplash>
so it may be worse overall anyway
<waddlesplash>
I have some notes here locally about how to fix the most egregious problems in the block cache and get us much closer to par with other OSes on BFS
<phschafft>
generally speaking, testing it on ext sounds like a good idea.
<waddlesplash>
but I haven't worked on that, and it's a bit of a risky change
<phschafft>
waddlesplash: why is that?
<waddlesplash>
because it revolves around turning an exclusive lock into an rw_lock and using atomics with read locks to improve contention problems
<nephele>
I'm mainly concerned lately for like git status and git diff, since those are so slow aswell
<waddlesplash>
nephele: they'll be fast if all the inodes are in the block cache
<waddlesplash>
but with huge repos like webkit that may be impossible
<waddlesplash>
and of course if you are compiling then it'll evict everything from the cache
<waddlesplash>
could use some testing, otherwise, probably ready to be merged
<nephele>
oh, i forgot a bit about that change
<nephele>
but hey, you now render hvif serverside for this? or a BPicture? i recall we talked about adding an api to do this serverside for app server clients aswell
<waddlesplash>
it's just using the regular BIcon APIs at the moment
<waddlesplash>
no new Appserver APIs
<phschafft>
waddlesplash: thank you for clarification!
<nephele>
waddlesplash: I usually do git status Source/ or git diff Source/ to speed this up a bit in webkit
<nephele>
but i still wonder if there isn't some stuff we can do on the fs to optimize this
<waddlesplash>
there is, again, like I said
<waddlesplash>
the big problem is contention in the block cache
<waddlesplash>
git runs like 10+ threads to collect status information and they all contend for the block cache lock
<waddlesplash>
running "git status" here in "buildtools" with cold disk cache, takes ~32 seconds real time ... and there's about 10 *minutes* of lock waits on the block cache lock in those 32 seconds across all threads
<nephele>
I think the first crash in WebKit2 is because the context menu is unimplemented
<nephele>
wondering if i should implement it by sending it back to the api client and letting it open the context menu
<waddlesplash>
I made some changes earlier this year which cut out a minute of lock contention already
<waddlesplash>
but the big fixes can only be done by using rwlock+atomics
<nephele>
ouch, yeah that sounds like massive possibly improvements
<nephele>
beta5 was already great, but beta6.... :)
<phschafft>
waddlesplash: so moving to rwlocks will reduce the wait times specifically for tools like git that wants parallel *reading*?
<waddlesplash>
yes
<phschafft>
nephele: have you tried setting index.threads in git to 1 or a number smaller than the number of your cores
<phschafft>
?
* phschafft
nods to waddlesplash.
<nephele>
I have 12 cores
<waddlesplash>
yes but the problem is lock contention
<waddlesplash>
so try setting that to maybe 2
<waddlesplash>
and see if it helps
<nephele>
so if this is 10 threads like waddlesplash said it's already less
<waddlesplash>
no
<phschafft>
nephele: then I would try something like 1, 3, 6? see if any value makes it faster.
<waddlesplash>
it's 10 threads on my 4-core VM
<waddlesplash>
I have no idea how many threads it will be for you
<waddlesplash>
and even with that it's stupidly contended
<nephele>
just "git config index.threads 4" ?
<phschafft>
not sure if that option is the right one, but maybe it is.
<nephele>
:(
<nephele>
I don't know which one it is, you wrote that above :)