01:33:28 <_xor> Ok this is annoying enough now that it's worth actually trying to debug >:( 01:34:01 <_xor> My desktop environment randomly coredumps sometimes when I exit a terminal (using x11/foot). 01:37:32 <_xor> Is there a standard way to enable debug builds when using meson? 01:40:24 in a port build or just stuff you're building yourself? 01:44:22 (in a port build, WITH_DEBUG=1, when building yourself, the --buildtype debug option to meson 03:03:05 <_xor> RhodiumToad: Port build (x11-wm/hyprland), so WITH_DEBUG it is then. 03:10:49 <_xor> So far, based on this: https://termbin.com/wtxi 03:11:05 <_xor> I'm thinking it's around this line somewhere: https://github.com/hyprwm/Hyprland/blob/v0.27.2/src/protocols/XDGOutput.cpp#L11 03:11:06 Title: Hyprland/src/protocols/XDGOutput.cpp at v0.27.2 · hyprwm/Hyprland · GitHub 03:11:28 <_xor> ...but I'm also wondering why I'm doing a debug build of hyprland when I should be doing one of wayland heh. 03:11:35 <_xor> er, libwayland-server.so. 03:14:53 interesting that it's a bus error rather than a segv. 03:14:56 that sometimes helps tracking these things down. 03:14:57 <_xor> How come? 03:15:04 * _xor is learning 03:15:30 you get segv if you try and access memory that's not there, often from referencing a null pointer 03:16:21 you get a bus error for two main cases: on amd64, from accessing a non-canonical address (i.e. the top bits are neither 0x0000 nor 0xffff), 03:17:02 or on pretty much any platform, from doing an access that requires an aligned address but which was given an unaligned one 03:17:17 <_xor> Ah, earlier when I was looking at XDGOutput.cpp, I was wondering if it was a null pointer from line 15 (wl_resource_destroy), but then I saw I was looking at the wrong line and the function above it uses a smart pointer. 03:17:27 <_xor> Based on this though, that wouldn't be an issue. 03:18:11 a third possibility is access to memory that's mapped, but which you don't have permission for 03:18:21 <_xor> Hmm 03:18:47 you may not appreciate that us lurkers are also learning. but we are. thanks Rhodium 03:19:21 note that this doesn't necessarily generalize across OSes, this is just mostly true for freebsd 03:19:34 other systems may just report segv for every kind of error 03:19:40 <_xor> I'm using this too, which might also be a potential culprit: https://github.com/amshafer/nvidia-driver 03:19:41 Title: GitHub - amshafer/nvidia-driver: Fork of the Nvidia FreeBSD driver to port the nvidia-drm.ko module from Linux 03:20:29 <_xor> But it started happening with the latest release of x11-wm/hyprland when exiting a terminal session of x11/foot. 03:20:36 * RhodiumToad is currently knee-deep in bus errors from trying to compile fortran ports on i386 03:20:39 <_xor> It happens randomly though and not very often. 03:21:04 <_xor> So that also includes x32 and not just x64? 03:21:26 (there's a long-standing bug in the gcc builds that bites on i386 whenever you set a CPUTYPE of pentium3 or later) 03:21:43 <_xor> Oh btw, is there a make port macro to get the current architecture as x86_64 instead of amd64? (e.g. ${ARCH}) 03:22:13 RhodiumToad: that sounds bizarre 03:22:34 freebsd always calls it amd64, if the port needs to see x64_64 then you generally need to patch the port or override it in the CONFIGURE_* or MAKE_* vars 03:22:42 <_xor> ah 03:23:08 johnjaye: not really. clang and gcc disagree over what the presumed stack alignment should be on i386, and the gcc ports don't try and correct this 03:23:33 fascinating. i didn't know gcc and clang disagreed on much things 03:24:07 so if you call gcc-compiled code from clang-compiled code, the stack isn't aligned as gcc expects, and if the CPU architecture includes any SSE instructions and those were used, you get bus errors 03:24:25 <_xor> This is for a rust port, which uses x86_64 for its "target tuple" of architecture-vendor-os string. 03:24:48 since some SSE instructions require 16-byte alignment and clang provides only 4-byte stack alignment 03:26:09 <_xor> Heh, I was confused for a second before I remembered that SSE came out with P90 (or around then) on i386. For a second I was confused. 03:26:54 pentium3 was the first to have sse, pentium4 to have sse2 03:27:12 <_xor> Oh it was as late as P3? 03:27:22 <_xor> Oh, I'm thinking of MMX, nevermind. Confused again lol. 03:27:39 MMX doesn't have any alignment restrictions as far as I know. 03:28:14 <_xor> I'm sure you're right, I just got MMX and SSE confused for a second. Had you thrown in Altivec or something, my head would have exploded. 03:28:20 it was SSE that introduced 16-byte move instructions like movaps 03:29:23 <_xor> Oh, I need to restart this session don't I? 03:29:33 * _xor just rebuilt graphics/wayland with WITH_DEBUG=1 03:29:39 if you recompiled, yes, obviously 03:33:01 <_xor> Umm...dumb question, but I made a .pkg of graphics/wayland. When I try to install it using `sudo pkg install -F ./wayland-1.22.0.pkg` it confirms with me but then it doesn't actually do anything (even with -f). 03:33:03 <_xor> What am I doing wrong? 03:33:45 <_xor> I'd prefer to not have to remove the existing installed package (though I guess I could tell it not to uninstall its dependencies). 03:35:47 <_xor> Nevermind, I got it. Forgot I setup a local repo on this workstation for exactly this type of reason. 03:41:17 <_xor> Oh 03:41:27 * _xor just noticed mentions from a few days ago 03:42:19 <_xor> RhodiumToad: Yeah, I was asking about order of loading kernel modules between loader.conf and rc.conf. I noticed that hyprland wouldn't load unless I unloaded and then reloaded nvidia-drm.ko. After that it started fine. 03:42:36 <_xor> I moved that from loader.conf back to rc.conf and the problem went away. 03:47:12 <_xor> Interestingly, I think this coredump was generated when I restarted this system a few minutes ago... 03:47:13 <_xor> https://termbin.com/ezaw4 03:48:17 <_xor> All right, let me see if I can get this to coredump again. 03:49:31 <_xor> Fantastic. The time I need it to coredump, it's not doing so. :| 03:57:25 <_xor> RhodiumToad: * frame #0: 0x0000000821e55739 libwayland-server.so.0`___lldb_unnamed_symbol313 + 137 03:57:35 <_xor> RhodiumToad: Is there a way to get that unnamed symbol without a debug build? 04:00:20 <_xor> That memory address is in the process space of Hyprland where libwayland-server.so.0 is mapped, no? So we don't have enough information to figure out where in libwayland-server.so.0 that frame was sitting? 04:01:21 <_xor> For some reason my brain is popping up "relocatable", but not sure why. I know that has to do with fixing up location references when the linker loads executable code. 04:02:58 a more interesting thing to look at is the output of info reg 04:03:17 and disassembling the specific instruction that faulted 04:08:30 <_xor> https://termbin.com/npah 04:09:43 and what do you get by disassembling at 0x0000000821e55739 04:10:08 I'm betting it's indexing %rax, which would be a noncanonical address 04:10:11 <_xor> One min 04:11:38 <_xor> Wanted to save this really quick before disassembling that... 04:11:39 (the content of %rax looks like ascii to me, "oyed (wl" ) 04:11:39 <_xor> https://termbin.com/ob7r 04:11:56 <_xor> That's the function referenced by the top two frames. 04:12:33 which line is line 376 ? 04:12:38 <_xor> Specifically, "opcode = p[1] & 0xffff;" as the frame. 04:13:00 <_xor> It's probably p[1] by the sounds of what you're saying, but let me double-check the line number. 04:13:26 <_xor> Yup, that's line 376. 04:14:20 what's wl_connection_copy look like? 04:16:14 <_xor> https://termbin.com/bpoc 04:16:18 <_xor> Want me to find ring_buffer_copy? 04:16:49 <_xor> Oh it's in that same file. 04:17:46 <_xor> https://termbin.com/x6wq 04:17:51 <_xor> I just copied the whole set of related functions. 04:19:07 and what do you get by disassembling at 0x0000000821e55739 04:20:19 <_xor> Doing that now 04:20:30 * _xor has to look up the lldb commands while doing this 04:22:54 <_xor> https://termbin.com/elib 04:23:41 <_xor> That's from `disassemble --frame` in lldb, which I'm assuming is current frame as marked by the *. 04:24:00 oh, the register values from before were from a different dump, not this one? what are the registers from this one? 04:24:47 <_xor> I thought that was odd, but I'm pretty sure they're from the same dump (let me double-check). 04:25:27 <_xor> I have two dumps so far, and I've been using the oldest one (which was caused by exiting a foot terminal). The other one is just from the reboot I did like an hour ago. I can probably get rid of that. 04:26:28 <_xor> Oh wait, the first dump is from when graphics/wayland was built without debug. I've since rebuilt+reinstalled the port WITH_DEBUG=1. 04:26:55 <_xor> Is it that the dump is pointing to the wrong addresses now that it's a different shared lib? 04:27:01 yes 04:27:07 * _xor sighs 04:27:38 you need to investigate the dump BEFORE replacing the libs :-) 04:27:43 <_xor> One min, let me reinstall the one package without debugging and reload + disassemble the dump again. 04:27:46 <_xor> yeah 04:28:28 <_xor> Oh, I don't need to reboot, do I? It's loading it from disk, right? 04:30:17 <_xor> https://termbin.com/yirw 04:33:01 hah 04:33:30 so yes, it's using %rax as an address, in this case a pointer to a function 04:34:00 but it contains some ascii value that isn't a canonical address, so you get a bus error 04:34:42 <_xor> Dumb question, but it's left-to-right in this asm syntax, right? 04:34:49 <_xor> AT&T? 04:35:00 yes 04:35:09 <_xor> I'm used to seeing dst, src from Intel. 04:35:11 op src,dest 04:35:20 <_xor> yup 04:35:51 rax apparently came from here: movq 0x18(%r12), %rax 04:36:01 <_xor> Is the ASCII value from the movq at 572c? 04:36:05 <_xor> Ah 04:36:38 what's in memory at %r12 ? 04:37:52 <_xor> While I'm getting that...what does the 0x18 prefix do in "0x18(%r12)"? is that an offset or something? 04:38:02 offset, yes 04:43:19 <_xor> https://termbin.com/olxuj 04:43:40 <_xor> Is that correct or is the final result from disassemble wrong? 04:44:11 that memory is data, not code, so disassembling it is just garbage 04:44:25 display it as ascii :-) 04:44:26 <_xor> ah 04:45:37 <_xor> Oh so I was thinking right with the `memory read ...` I did, just need to change the --format I take it? 04:45:42 yes 04:47:47 <_xor> https://termbin.com/xouok 04:47:58 <_xor> I just guessed a for ASCII. 04:48:06 * _xor is looking up valid values for --format... 04:50:11 <_xor> Oh oops, forgot to include the address lol 04:51:22 <_xor> https://termbin.com/7t19 04:51:23 <_xor> Heh 04:53:29 well, that's obviously not what the code expected. 04:53:47 <_xor> Nope. 04:53:52 the question is, what code exactly was being called, and where did the value come from 04:54:28 <_xor> Yeah I'm trying to picture in my head where that string would come from. 04:54:38 * _xor fuzzy-greps the source for that string 04:59:26 <_xor> Apparently it's coming from here... 04:59:28 <_xor> https://github.com/hyprwm/Hyprland/blob/v0.27.2/src/protocols/WaylandProtocol.cpp#L22 04:59:29 Title: Hyprland/src/protocols/WaylandProtocol.cpp at v0.27.2 · hyprwm/Hyprland · GitHub 04:59:41 <_xor> That dtor. 05:01:32 <_xor> ...though I guess that doesn't really say much since it's trying to callq without having a valid value in %rax. 05:04:53 <_xor> RhodiumToad: Maybe a dumb question, but is "movq 0x18(%r12), %rax" trying to index into a vtable or something to get the address of a function? 05:05:11 <_xor> I mean is that what that could look like? 05:19:56 hard to know without the source 07:08:42 i just got a Lenovo ThinkPad X1 Yoga (gen5/20UB) and am trying to install FreeBSD UNIX... I used Slackware to create a FreeBSD partition, then in the FreeBSD installer, went to shell and did newfs /dev/nvd0s1 , and then went to the installer and selected to manually use that partition... it says it's not bootable... do I have to make something else within it? 07:13:10 i want to use UFS... does it have to be changed to something like install freebsd-ufs on /dev/nvd0s1a? I haven't seen a way to make the 'a' yet if that's it... 07:27:49 the manual is insufficient for manual partitioning and creating slices and areas in those and filesystems... i found a forum thread discussing details (similar to what people told me here a few years ago) and now seems I'm able to install... 07:56:36 you shouldn't try and create filesystems directly on an MBR-type partition 07:56:45 if we deploy a production site on vms at whatever hosts, what's the right way to handle freebsd version upgrades? freebsd-update the vms in-place and update our vm template, or only update our vm template and redeploy every server. in other words is there ever a good reason to freebsd-update running production servers? 07:56:59 darwin: this system doesn't support UEFI? 07:58:48 darwin: what you probably wanted was gpart create -s BSD /dev/nvd0s1 && gpart add -t freebsd-ufs /dev/nvd0s1 08:06:14 polyex: imo, the right way is to update the templates, and blast the VMs away 08:07:53 darwin: of course you'd also need something like gpart bootcode -b /boot/boot /dev/nvd0s1 08:09:37 meena me too. the 1 exception i can maybe see is like, what if an urgent security fix is put out? not desirable to be able to update them in place, still better to update template and roll out updated vms? 08:12:58 my opinion is informed by working on cloud-init 08:14:01 I spend a lot of time blasting away VMs and setting them up again, and yet, this VM running my IRC client, is woefully outdated 08:14:43 ya i'll skip adding update functionality to vms and keep them more immutable 08:14:46 ty 08:15:23 imo, freebsd-update on one machine takes about as long as doing that on the template 08:16:12 do you allow pkg update on vms or that only in template & redeploy too? 08:17:32 the story is slightly different with PkgBase, but there we still don't bectl automated so if it's updates that touch anything that might fail your applications, or botch your etc, recovery is pretty hard 08:18:38 polyex: pkg is okay, unless you have a pipeline for rebuilding images. but at that point you're probably better off with just jails 08:18:38 ya imo pkg upgrade can break shit easier than freebsd-update could. so neither should happen on immutable production vms 08:19:12 ya i'm moving to jails what i can, but there still needs to be vms to house the jails 08:19:20 at least to me i don't have dedicated servers 08:20:25 So, it's a balancing act full of bad opinions. pick your poison, and test how effective it is, before zealously committing to it, and telling everyone that your process is the best (i.e. becoming a DevOps Though Leader) 08:20:48 lol 08:24:49 * meena puts on her DevOps Thought Leader Hat 08:27:45 The easiest way to ensure your software works after an update is end to end testing, and perhaps the most efficient way to do end to end tests without lying to yourself is in production. Putting that together: The most efficient way to ensure that your software updates work is green blue deployment. 08:29:15 what's green blue deployment? 08:38:13 it's a setup where your deployment is duplicated, and every time you update you flip between the two, and every time something goes wrong in an update you flop back 08:38:33 <_xor> Side-by-side deployments. 08:38:37 <_xor> Yeah, that. 08:39:10 In times of need it could also be misappropriated to extend the capacity by 100%, but that might be tricky depending on the database setups 08:39:28 Thanks, meena 08:39:49 seems heavy no? to update a whole deployment then swap over, rather than having rolling updates on the same single deployment 08:40:29 You have always on backup, with relatively minimal downtime 08:40:36 <_xor> Ephemeral instances have the benefit of reproducible environments. 08:41:23 i mean if i'm paying for 1k servers now i gotta pay for 2k just so 1k can stand by for the next dev update? 08:41:29 <_xor> You're separating runtime environment from application data (generally) and it allows for finer-grained HA tuning. 08:42:02 polyex: depending on the size of the infra, this may only be feasible or sensible for a small subset 08:42:21 <_xor> Not necessarily, you're doing it in smaller batches and they're spot instances. 08:42:41 or what _xor says 08:43:19 * meena takes off her DevOps Thought Leader Hat again 08:43:34 oh so i'd spin up 1k new ones in a new env, run e2e on them, then if they work swap load balancer ip to ip of new env? 08:44:08 <_xor> RhodiumToad: Based on some existing issues I found in the main repo, I decided to update ports and reinstall wlroots+hyprland to see if it helps. Heh, not only did it not help, it made it a lot worse. 08:44:23 <_xor> It was coredumping left and right. Now I'm afraid to open a terminal heh. 08:45:10 .oO( Ouch, ouch ) 08:45:15 <_xor> polyex: You can do that, or you can do them 50 servers at a time (depending on how application state is handled). 08:46:07 polyex: also, you could keep them idle, if you're doing that process once an hour 08:52:30 <_xor> CI/CD pipeline + images work well with this type of workflow. 08:53:05 <_xor> You can keep a fixed set of VMs if you want and just deploy containers (e.g. jails) from images (e.g. ZFS). 08:53:19 how does CI/CD tell your hosting companies to create x new vms for it to provision and deploy new build to? 08:55:14 <_xor> Depends on the orchestrator you're using, but Terraform can do that (for example). It does it via provider APIs. Common approach is to monitor resource utilization and then spin up more containers (or VMs if desired) and deploy more application instances, or destroy containers (or VMs) if low utilization. 08:55:47 polyex: what's your hosting company? 08:55:56 so CI/CD systems have integrations with hosting companies? nice 08:56:08 vultr but open to better 08:56:12 <_xor> I deploy to bare metal in my server rack, but if I wanted to, I could configure my CI/CD infra to deploy to AWS or DigitalOcean or whatnot. 08:56:40 <_xor> I use Vultr now and I like them so far (though don't really utilize my VM much, just picked them after DigitalOcean dropped FreeBSD support). 08:57:05 how do you deploy to bare metal? 08:57:36 <_xor> I use Nomad, which handles orchestration for me across my physical servers. 08:57:44 you need install disk in it so it boots then gets new OS files over network? 08:58:01 polyex: how do you get IPv6 in jails on Vultr? 08:58:19 not sure. just use vms atm but wanna move to vms + jails 08:58:20 <_xor> No, I use jails. Don't need to install a new OS for every deployment (though I can if I want, as I have iPXE setup with cloud-init integrated). 08:58:32 oh wow 08:58:48 how does ipxe get integrated with cloud-init? 08:59:03 _xor: cool 08:59:59 <_xor> iPXE to handle system boot after it POSTs, followed by a FreeBSD install (usually from a prebuilt image I've made). Then cloud-init to configure the server on boot before consul+nomad+vault takeover. 09:00:27 damn nice 09:00:33 what CI/CD you use? 09:00:38 you seem to got a pretty modern stack 09:01:09 <_xor> That's in flux, but I've used Gitlab CI, BuildBot, and now currently OneDev. 09:01:19 fav and why? 09:02:05 <_xor> Probably OneDev because it's pretty straightforward and has decent functionality for my needs. But I haven't been using it for long and probably haven't run into the rough edges yet. 09:02:55 <_xor> Gitlab CI is nice, but Gitlab is too heavy for my tastes. Gitea is nice too, but some of the more recent releases seemed to be getting more Linux-centric and I got tired of spending more time porting it. 09:03:16 <_xor> I like devel/soft-serve quite a bit. It's really lightweight, fast, and simple. Pair that with BuildBot. 09:04:19 <_xor> Lots of CI/CD systems these days are very docker-centric, so the choices on FreeBSD are a bit more limited (unless you don't mind porting). 09:04:31 <_xor> There's Woodpecker, Concourse, Drone, Argo, Earthly, etc. 09:05:42 ya i want out of box freebsd support 09:06:05 ty i'll look at those 09:06:39 <_xor> BuildBot is in ports tree and is pretty good, as long as you don't mind Python. 09:50:48 is iwlwifi(4) still stuck on 802.11n? Is there any 802.11ac support in FreeBSD? 09:51:44 actually media is reporting 802.11g :( 09:52:19 What does "wifibox" port report? 09:56:02 wifibox? I'm running iwlwifi(4) in FreeBSD not in a vm 09:57:37 Yes, I know. Was asking if the Linux driver worked better 09:58:15 will check once I'm done git clone'ing freebsd ports :D 10:01:00 wifibox status says it's running on a PID 10:01:50 not sure what I am doing here 10:04:11 I have a wifibox0 device 10:09:13 never mind.. going to have to abandon FreeBSD on this laptop.. HW is too new 10:09:20 thanks anyway :) 11:21:12 iwlwifi(4) is a Linux driver 13:12:43 Hello. Today i tried 13:12:44 # bsdinstall jail . After choosing a mirror to install, i receive the error: "the checksum for base.txz does not match. It may have become corrupted, and should be redownloaded.". Restart is not successful neither. I would appreciate any help on this issue. Thx! 13:17:49 tivolo: which version? 13:38:27 @meena FreeBSD 13.2-RELEASE releng/13.2 GENERIC arm64 13:41:45 @meena I solved it. I had to delete the folder '/usr/freebsd-dist' and restart bsdinstall. Any explanation? 13:43:52 tivolo: nope. i don't use bsdinstall for jails 13:44:11 So I'm not too deeply familiar with its inner workings 13:55:57 Hi, has anyone got FreeBSD to work with Qubes?. I have gotten it to work in the past, but I had issues with the mouse, even though technically it is not a dealbreaker, given that i could use cwm or i3, exclusively with keyboard bindings 14:07:59 antranigv: How's your devuan documentation coming? 14:08:13 ted-ious pretty good. I forgot to publish it! :D 14:09:02 LOL 14:11:04 I would have found writing all that documentation ted-ious 14:13:31 :) 19:57:58 Here's me hoping: Much chance of getting latest cron into FreeBSD 14? https://github.com/vixie/cron/pull/20 - it supports last-day-of-month. 19:58:00 Title: allow '$' to indicate last day-of-month by vixie · Pull Request #20 · vixie/cron · GitHub 20:19:14 dvl: that's extremely cool 20:19:34 pretty easy to do without it tho 20:19:52 dvl: has they're been a release since? 20:20:28 llua: yes, but getting explicit notation is better than everyone having to figure out how to easily do it without 20:24:30 there's zero Tags on that repo 20:26:14 dvl: you got commit, surely you can do a vendor import 20:26:23 I got a port commit 20:29:28 i thought commit was extended to just be. commit 20:31:35 this is the last import, https://cgit.freebsd.org/src/commit/usr.sbin/cron?id=fe590ffe40f49fe09d8275fbf29f0d46c5b99dc7 20:31:37 Title: src - FreeBSD source tree 20:36:34 dvl: given how selective that import is, maybe you can email the committer and ask for pulling… that pull request in 20:59:21 hello, this is my dmesg https://bsd-hardware.info/?probe=0e10359af8&log=dmesg 20:59:22 Title: HW probe of ASUSTek P8P67 Desktop Computer #0e10359af8: dmesg 20:59:28 what's that WARNING ? 21:03:43 probably harmless 21:33:23 RhodiumToad: ok 21:36:15 FreeBSD powered 22:19:07 what is the default settings of tap0? i have deleted it and i have created again but if i do vm init the vm-public switch does not activate it. 22:36:26 how can i configure dvorak keyboard before boot proces for cryted disk ? 22:39:38 what's the correct sysctl to grab the total amount of installed memory (in bytes)? 22:46:00 good night, take care 22:57:53 jbo: looks like hw.physmem 22:59:14 there's also hw.realmem 23:00:47 not sure what the difference is. On a system with 8GB of memory realmem is exactly that in bytes, physmem is slightly lower (maybe due to a graphics window or some such?) 23:03:55 aha https://lists.freebsd.org/pipermail/freebsd-hackers/2013-July/043057.html 23:03:56 Title: hw.physmem/hw.realmem question 23:37:16 hello, I have another queston: netgraph concern security ? or it's just a way to interconnect devices ? 23:40:24 mystic, "netgraph"? Please say more? 23:43:54 rwp: https://man.freebsd.org/cgi/man.cgi?query=netgraph&sektion=4 23:43:55 Title: netgraph(4) 23:46:25 mystic, How is netgraph(4) a security concern? And if it is then wouldn't socket(2) also be the same security concern? 23:50:01 rwp: if it would be so simple I wouldn't ask that, isn'it ?