-
oxbar
What are some good alternative browers for freebsd.. issue with Firefox so im looking elsewhere
-
oxbar
Nvm install chrome via linux-installer
-
mzar
oxbar: chromium
-
GoSox
how do i determine what version of freebsd i'm on?
-
LXGHTNXNG
uname -KU ?
-
GoSox
i assume 1402000 means 14.2
-
LXGHTNXNG
my assumption is that it's something like that, but my assumptions have been wrong before
-
GoSox
lol mine too, fair point
-
nimaje
freebsd-version -kru (installed kernel, running kernel, installed userland)
-
GoSox
neat
-
GoSox
yup 14.2
-
GoSox
i'm trying to make myself a 100% comprehensive guide to setting up a bsd web and mail server from scratch, so i can easily recreate the process and feel confident enough to ship out a collocated freebsd box
-
GoSox
so i'm looking at the manual - the real manual - and it says you run pkg and that runs a baby pkg that actually installs the real pkg
-
GoSox
is that still accurate, or does freebsd now come with the full real package manager already installed?
-
nimaje
the problem with having pkg in the base system is that it would couple releases together
-
GoSox
i appear to have the full pkg installed, and i'm trying to figure out if i installed it without noting it, or if its already there
-
ivy
pkg is not in base, you have to install it (by running the base pkg, which does that for you)
-
GoSox
ok i must have failed to write that in my notes
-
nimaje
well, it will do that automatically the first time you try to use pkg (it will ask you of course before installing anything, but not sure if it gives you more hints what is going on or if it just looks like when pkg updates itself)
-
GoSox
yeah i must have done that already and not noted it
-
GoSox
i'm going to start over and note it
-
ivy
i wonder how pkgbase will handle this, it would be weird that the tool to update base isn't shipped in base
-
GoSox
this might be a question nobody knows anything about, HOWEVER
-
GoSox
when i shutdown with `shutdown -h now`, the machine shuts down. But the hardware is a Mac, and it doesn't acutally power down the machine. It jsut sits there at like a dead prompt
-
GoSox
is there a way to make shutdown also power down the hardware?
-
GoSox
i have no idea if this will also be an issue on PC hardware
-
ivy
GoSox: you want shutdown -p, not shutdown -h
-
GoSox
ahhhhh
-
GoSox
confirmed
-
GoSox
wow the drive formatting that freebsd uses, REALLY confuses macos
-
GoSox
which isn't actually a problem, the real install will be on an HP server. but its kinda funny
-
dch
anybody know how linuxlator decides what sound device to use?
-
dch
I have sysctl hw.snd.default_unit=2 which works everywhere except linuxlator
-
GoSox
oh crap, it looks like macos saw the hdd and ssd, and automatically turned it back into a fusion drive :/
-
GoSox
i feel like i could design a general purpose GUI for freebsd and other unix systems that could be good enough and polished enough that people could really use it for popular general computer use
-
GoSox
i should get on that some day
-
futune
-
futune
:)
-
GoSox
hah
-
GoSox
i would make a GUI that is based visually on MacOS 8 from the 90s, but functionally based on peak Mac OS X from the mid 2010's
-
GoSox
and then have some options in settings to make certain functions windows-like to make those people happy
-
LXGHTNXNG
i would be interested in seeing your work product in this regard
-
futune
Wasn't there a bsd derived os with a mac looking gui?
-
GoSox
i truly don't even know where to begin, and i don't see myself ever having time to do it.
-
futune
hello something?
-
GoSox
well macos itself is based on nextstep
-
GoSox
and also there was BeOS way back when which ran on macs but was not macos
-
r0ni
hello system
-
GoSox
apple was going to buy it and make it macos, i forget the story but that never ended up happening
-
futune
yeah, it's called helloSystem
-
GoSox
never heard of that
-
futune
said mac looking ui is called hellodesktop
-
GoSox
ive seen a lot of "mac like" UIs and they problem is they all seem to focus on the cosmetic ways to look like macos, but they ignore the fore functionality of the desktop that we mac guys really care about
-
futune
my point was that if this is something you want to do, maybe talking to those guys would be worthwhile, to avoid duplicating effort
-
GoSox
if it ever happens, which is unlikely, i would specifically want to start my own thing from scratch, and do everything exactly the way i want.
-
GoSox
but don't hold your breath
-
mage
hello, which program do you use to scan for vulnarabilities? I'm already using pkg audit but I'm looking for something for programs not installed through pkg
-
mage
ideal something like $> get_cve_for geoserver,mapserver,a,list,of,programs
-
runxiyu
Is it possible to use ftruncate to punch holes in memfd-backed memory in FreeBSD?
-
polarian
isnt memfd a Linux syscall which was ported to linuxolator (the Linux compat layer)
-
polarian
I dont know the low level very well
-
polarian
ivy: thanks will take a look :)
-
LXGHTNXNG
> The memfd_create() function creates an anonymous shared memory object, identical to that created by shm_open() when SHM_ANON is specified. Newly created objects start off with a size of zero. The size of the new object must be adjusted via ftruncate(2).
-
nerozero
where scared to death, seeing this message post install of lsof: lsof: WARNING: compiled for FreeBSD release 11.1-RELEASE-p6; this is 11.1-RELEASE-p4.
-
nerozero
after checking all versions found that this is the post message in the lsof package itself ...
-
nerozero
-
dgeo
'lo world !
-
dgeo
From here (France - RENATER provider), we can't join www.freebsd.org with IPv4 (IPv6 is ok)
-
dgeo
ping 96.47.72.77 does't respond, mtr stops to 96.47.66.42 (other providers in france are ok)
-
tsoome
dgeo no problem from here.
-
polarian
LXGHTNXNG: I could have just man'd it, embarrassing on my part
-
polarian
I assume the freebsd memfd_create is different from the Linux one hence linuxolater implementing its own one?
-
titou
Hi
-
titou
i'm trying to use dlib-cpp under FreeBSD (through the PHP dlib wrapper) and I encounter trouble since PHP crashes at its end due to a callback of an "unknown" address during __cxa_finalize call
-
titou
after trying to find the problem, it seems it comes from dlib-cpp.
-
titou
with a simple example program (dlopen libdlib and dlclose and exit) it reproduces the crash
-
titou
it seems that dlib register a callback function called during cxa_finalize which is not unregistered when dlclose is performed
-
titou
i don't know how to debug that.. if someone has an idea?
-
kevans
runxiyu: for memfd (which is really shm_alloc(2) wrapped in libc), ftruncate just reserves swap and pages are allocated on write(2) except in case of superpage-configured memfd
-
kevans
iirc
-
kevans
polarian: interface is compatible, native one inspired by linux
-
kevans
but on freebsd we created a shm_open2 to support some of the extra properties that a shm wants and we wrap that in libc instead of implementing it as its own syscall
-
kevans
s/shm wants/memfd wants/
-
titou
nobody knows for my quesiton?
-
runxiyu
kevans: thanks
-
kevans
titou: can you throw up a pastebin or something with your simpler reproducer?
-
mzar
is bytecode affected affected by reciprocal tarrifs too ?
-
mzar
s/affected//
-
polarian
hmm using -j with pkg when the jail is a vnet jail causes it to hang on "Updating FreeBSD repository catalogue...", both the host and jail have network access...
-
polarian
"pkg: An error occured while fetching package" yeah it cant fetch them weird
-
titou
kevans: here is a simple example which crashs:
pastebin.com/edABC2hG
-
mzar
probably you have to manage VNET jails from the inside of the jail
-
titou
if i remove the dlclose line, it works very well
-
polarian
mzar: possibly, it depends on how pkg -j is implemented
-
polarian
does it download the pkg on the host, and then install it into the jails path... or does it attempt to pull the pkg from within the jail
-
» polarian doesnt know :P
-
mzar
the benefits of VNET jails are overestimated
-
polarian
mzar: is it worth the added headache? not really
-
polarian
does it provide network isolation from the host? yes
-
polarian
does it provide layered network filtering? yes
-
polarian
but does this make a big enough security improvement to justify the headache and the longer setup? ehhhh
-
mzar
network performance gets degraded by VNET and more CPU cycles are needed, so it's also agains green computing, buy whocare
-
mzar
s
-
polarian
ok I can answer the question of where pkg is executed, its within the jail because I cant fetch from within the jail, but I can ping other hosts
-
polarian
weirddd
-
polarian
mzar: that is like saying IPv6 is more eco friendly because it does not require a nat
-
kevans
titou: oy, that's hairy
-
polarian
the amount of energy we are talking here is negligable
-
polarian
fraction of a watt
-
mzar
polarian: sure it is, ip6 doesn't require recomputation of checksums if packet is forwarded
-
titou
kevans: do you have ideas about how to debug that?
-
mzar
do you guys know what happened to koobs ? I haven't seen him here since a while
-
polarian
mzar: we are talking about very little amounts of energy
-
mzar
OK, so let's reducy byteflow
-
mzar
*reduce
-
polarian
mzar: lets not bother with security features like encryption, it wastes cpu cycles too and slows things down
-
polarian
why bother with firewalls, all that packet matching takes cpu cycles
-
polarian
and slows down packets
-
titou
it would be great to list the functions which will be called by cxa_finalize but I don't know how to access to this list without modifying the libc...
-
kevans
titou: the problem is that that's not an application problem
-
titou
for sure... i'm afraid it's a FreeBSD libc bug?
-
kevans
libc/rtld, yeah
-
titou
but why it only appears for this libray?!
-
titou
this bug is documented since many years..
-
titou
(at least 5 yaers)
-
titou
do you know somone / a mailing list which will be able to help me solving this bug?
-
kevans
I was trying to distill it down into a simpler test case, but it's not as cut and dry as it looked initially
-
titou
kevans: why?
-
kevans
titou: basic __cxa_atexit stuff is fine, so it's not just a global object trying to do teardown, and dlib doesn't seem to be doing anything too crazy on its own at first grep
-
kevans
titou: I'd recommend hacking up a libc that prints what it's doing at __cxa_finalize time and try to get a feel for all of the cxa_func's that are running when you do not dlclose it
-
kevans
for basic global object dtor that gets a __cxa_atexit, we seem to be doing fine and everything looks good
-
titou
:/
-
kevans
so you're kind of looking for functions that are out of the ordinary in some way
-
titou
it means recompile libc with debug enabled.. it's quite boring to do :)
-
jmnbtslsQE
polarian: one alternative is pkg -r $jail_root , with the repositories being configured in the host not the jail
-
polarian
jmnbtslsQE: ooo thats a cool tip, thanks...
-
polarian
the thing is I need http access within the jail... and I cant figure out why the packets are being dropped, icmp works
-
polarian
tcp is explicitly passed
-
polarian
but the host drops the resposne
-
jmnbtslsQE
if a connection can't be made, i'd think that's a firewall issue somehow
-
polarian
yeah but pf is stateful, why the fuck would it drop a response??
-
polarian
I have one idea of what it could be
-
jmnbtslsQE
is a connection made?
-
polarian
jmnbtslsQE: yup
-
jmnbtslsQE
maybe it's an ssl problem, or an MTU problem (where the response is too large to fit in the MTU of one of your interfaces)
-
polarian
I tcpdump'd my router, the response reaches WAN, and I get the response back from WAN, and it is indeed passed to the host
-
polarian
hmm MTU problem is possible... its on a wireguard interface and I had to drop the MTU a while back because packets wouldn't pass via wireguard
-
polarian
I found 1325 was a safe MTU to ensure packets passed...
-
polarian
but to be honest, I dont this is MTU
-
jmnbtslsQE
it's something where there should be clues in tcpdump at various places
-
jmnbtslsQE
if a response packet doesn't make it through, it should be clear on tcpdump which is the last interface to see it
-
jmnbtslsQE
but it's also worth noting, technically the treatment of packets during the tcp handshake could be different from the firewall's standpoint than for packets once the connection is established
-
jmnbtslsQE
not sure how that would happen here there for pf
-
jmnbtslsQE
though*
-
polarian
jmnbtslsQE: pf is stateful, if the packet passed originally, it will always pass, in fact it bypasses pf entirely in the network stack
-
polarian
which is why if you change pf rules you should also flush your state table
-
polarian
so the response *should* pass
-
jmnbtslsQE
pf does still see the stateful packets but if it has state for a packet it probably decide to not evaluate anything in the ruleset (don't remember)
-
polarian
indeed
-
polarian
there was a talk on it at fosdem which I watched
-
polarian
-
polarian
very good talk
-
jmnbtslsQE
OK
-
polarian
s/watched/attended/
-
SKull
polarian: do you actually rdr your http packets to the jail?
-
polarian
SKull: this shouldnt be needed
-
polarian
if I put in an inbound rule for the jail interface this would affect non-stateful packets
-
SKull
polarian: that depends on the setup
-
polarian
the weird thing is ICMP passes which is really weird
-
SKull
so just doing user@host: curl <your-jail> fails?
-
SKull
where host is the actual jail host.
-
titou
kevans: that's very interesting! I guess I got the trick..
-
titou
i'll try to make a simple example to recreate the bug
-
titou
kevans: in fact for an unknown reason i can't reproduce __cxa_atexit is called during a call to a callback during __cxa_finalize which then is not called during this call (__cxa_finalize called during dlclose). Then it is called during the last __cxa_finalize call which is performed at the end of the process...
-
kevans
titou: libdlib pulls in so many other shlibs that I have to wonder if the problem is actually in libdlib or in one of the shlibs it pulls in
-
mzar
polarian: you can also optimise encryption and make it more green by the transition from RSA to ECDSA
-
kevans
titou: I trivially debunked that by trying the reproducer with all of the dependencies, so nevermind
-
polarian
mzar: imma just assume you are an eco extremist which fixates on small insignificant environmental issues, and misses the bigger picture
-
polarian
think of how wasteful the web is, and then tell me some security measures are too bad for the environment
-
mzar
polarian: I really don't care
-
polarian
then why comment on my use of vnet jails if you dont?
-
mzar
I like to stir the pot from time to time
-
runxiyu
> Trace/BPT trap
-
runxiyu
Ungoogled Chromium crashes
-
runxiyu
Any pointers to debug?
-
dstolfa
runxiyu: where'd you install it from
-
runxiyu
packages
-
runxiyu
yeah probably a packages vs ports issue again
-
dstolfa
if you make sure that all the dependencies are the right versions, using the right ABI and so on, and it still crashes, running it under gdb might provide some hints
-
dstolfa
although you'll probably need to rebuild the debug version with DCHECKs enabled for any more information
-
dstolfa
another worthwhile thing to check would be if regular chromium also crashes
-
kevans
titou: it's something about this thread_destruct_helper
-
kevans
threader_destruct_helper
-
titou
kevans: in fact by hacking the libc i hit the problem into dlib. That's why i told you why it crashes
-
titou
the problem come from calls to __cxa_atexit called into a callback called during __cxa_finalize. The new callback added by __cxa_atexit is not executed during the current __cxa_finalize call and stay into memory until __cxa_finalize is called with DSO set to NULL at the end of the procress
-
titou
unfortunately the library has been unloaded from memory thus the callback doesn't exist anymore
-
titou
this is due to a static class intance loaded during an "atexit" function which needs to call its destructor once it is no more used
-
titou
the problematic line in dlib code is: threads_kernel_shared.cpp:49
-
kevans
titou: oh, sorry, I guess I misunderstood. that's a lot easier to write a reproducer for
-
titou
i thought but i didn't succeed yet :)
-
titou
the last thing is that it is easy to correct..
-
titou
but it needs to update the FreeBSD libc code..
-
titou
I succeed !
-
kevans
hmm, I thought I had it, but it also crashes if I don't dlclose:
people.freebsd.org/~kevans/atexit-repro.c
-
kevans
toss yours this way?
-
titou
something like that
-
titou
it's almost the same
-
kevans
the fact that your initial one doesn't reproduce without dlclose() may be a coincidence, I suppose
-
titou
my example code works if dlclose is not performed and crash if dlclose is performed
-
titou
it crashs the same way as the dlib one during __cxa_finalize code
-
titou
i'll write it the same way as you
-
kevans
oh, I'm dumb. I recompiled the shared object again, not the non-shared bits
-
kevans
artifact of trying to write both into a single self-contained file to pass along easier :-)
-
titou
-
titou
but you got the trick!
-
titou
in fact one of the easy way to solve this bug would be to execute again __cxa_finalize if more than one callback is called during the last __cxa_finalize
-
titou
it also would be possible to set a flag which indicates that cxa_finalize should be called again if the DSO passed to __cxa_atexit functions is the same as the one currently in use during the __cxa_finalize call
-
titou
i could try to write something
-
mtll
what's the idiomatic way to disable(in the same way as accompished by devctl disable <device>) a pci device during boot, before the modules in kldload list are loaded?
-
titou
where should I send the buggy example program and the associated patch?
-
kevans
titou: throw it on bugzilla and send me a link
-
mtll
this is why: I finally got i915kms and xorg to work with my iGPU even when my dGPU(which causes a kernel panic when i915kms is loaded), but right now I have to manually run devctl disable pci0:3:0:0, then manually load the driver, then I can start the X server
-
mtll
obviously I'd like to do all of this automatically on boot instead
-
mtll
when my dGPU is present*
-
floogy
I got
-
floogy
nextcloud-php80-25.0.2 in 13.1-RELEASE in an iocage on TrueNAS. I upgraded it within nextcloud to 28. Now I want to upgrade it to nextcloud-php84-31.0.2. I'm not sure what that will do to the nextcloud databases. Also pkg upgrade wants to remove nextcloud. I would rather upgrade php8 to 8.3 or 8.4 to upgrade nextcloud within nextcloud 28 >29 > 30 > 31 I didn't want to risk dataloss or loss of the nextcloud database.
-
mtll
and also, for later, I want to do this in a way that doesn't stop me from attaching the device to bhyve later on, cause I wanna try to port the linux driver to FreeBSD, and it'd be nice to not have to reboot every time I test it
-
titou
kevans: my patch solved the bug
-
mzar
floogy: performing upgrade from the CLI is advised
-
mzar
but you can try risky path if you have full backup of the database
-
mzar
floogy: what was used as database backend on TrueNAS ?
-
titou
kevans: do you know which kind of component is concerned? kern? not sure..
-
floogy
I think mariadb
-
nimaje
well, the way stuff it handled currently for pkg nextcloud-php80 and nextcloud-php84 have nothing to do with each other, so it doesn't know that you would want to install nextcloud-php84 now, replacing nextcloud-php80
-
floogy
It wouldn't replace nextcloud-php80?
-
mzar
nextcloud is just a tarball, you extract it and run php script to upgrade
-
mzar
I have never been using FreeBSD package
-
kevans
titou: call it bin
-
titou
-
mtll
does no one know how to do this? I would've thought it was a fairly simple thing to do, but I can't find the manpage that tells me how
-
rtprio
mtll: i thought it was in the bhyve section of the wiki
-
rtprio
-
rtprio
floogy: take a backup of both files and sql before doing anything
-
mtll
well yes, but right now I just want to know how to disable the pci device before i915kms is loaded by kld
-
mtll
I'll set up the bhyve stuff later
-
rtprio
i believe it's the same approach
-
mtll
oic, nice, bit of a hack, but since I will be using it for bhyve anyway, an appropriate one, thanks
-
titou
how to compile a port with a specific compiler (for instance gcc) ?
-
nimaje
-
nimaje
compiler?
-
titou
nimaje: because the PHP wrapper use mangled C++ function names which are only compatible with the gcc output (for dlib-cpp)
-
titou
but thank you for the answer
-
nimaje
I would have expected that to come up when the port was written, not when someone tries to build it