| 2 Dec 2025 |
WeetHet | https://github.com/postgres/postgres/blob/master/src/backend/port/sysv_shmem.c | 19:35:50 |
Randy Eckenrode | https://github.com/marzent/wine-msync | 19:36:16 |
WeetHet | I'm surprised that only postgres is running into these issues | 19:38:50 |
WeetHet | I would expect most databases to use shared memory in one way or another | 19:39:04 |
Randy Eckenrode | Use one of the other shared memory types for
shared memory and futexes for protecting the data directory? | 19:39:09 |
Randy Eckenrode | * | 19:39:54 |
Randy Eckenrode | Doesn’t Postgres spawn a process per user? | 19:40:30 |
WeetHet | Is there any other shared memory type on macOS though | 19:55:51 |
Randy Eckenrode | POSIX shared memory. It’s what Apple recommends. | 20:02:05 |
Randy Eckenrode | https://developer.apple.com/forums/thread/719897?answerId=736261022#736261022 | 20:02:14 |
niklaskorz | reading the postgres source and the issue emily linked, they alread default to mmap, but still need the sysv shared memory to detect which processes are attached to it (I guess that implies this is not possible in posix?) | 20:12:59 |
antifuchs | so I have an issue with users.users / users.knownUsers on nix-darwin; I'm trying to have nix-darwin create a user, but (after a bunch of swearing & reading the activate script in the built system closure) it seems to expect that the user needs to be deleted? here's what I configure, is there anything wrong with it?
users.knownGroups = [ "ci-worker" ];
users.knownUsers = [ "ci-worker" ];
users.groups.ci-worker = {
gid = 502;
};
users.users.ci-worker = {
createHome = false;
description = "Nix Build support user for remote builds from CI";
home = "/var/empty";
shell = pkgs.bashInteractive;
name = "Nix Build CI Worker";
uid = 502;
gid = 502;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGFg7XQg/ACCFIL0f2OJoU0EIcQFuwa3qz7pQNzmDe2W root@gloria"
];
};
| 20:36:16 |
antifuchs | (creating a home dir or anything else seems to have no effect on the "should be present" calculation) | 20:36:50 |
Randy Eckenrode | Redacted or Malformed Event | 20:37:12 |
Randy Eckenrode | Per the issue emily linked and the part I quoted, named POSIX semaphores are apparently more wasteful. There is a patch to implement the functionality using futexes on Darwin. No idea how well it works. | 20:37:37 |
antifuchs | update: the user is missing a name attribute. without that, the check in https://github.com/nix-darwin/nix-darwin/blob/e95de00a471d07435e0527ff4db092c84998698e/modules/users/default.nix#L20 counts the user as not-intended-to-be-created | 20:45:24 |
antifuchs | * update: the user doesn't have a matching name attribute. without that, the check in https://github.com/nix-darwin/nix-darwin/blob/e95de00a471d07435e0527ff4db092c84998698e/modules/users/default.nix#L20 counts the user as not-intended-to-be-created | 20:45:42 |
| 3 Dec 2025 |
Randy Eckenrode | The C++ bootstrap compiler can’t even use the 14.4 SDK. | 03:37:00 |
Randy Eckenrode | https://github.com/swiftlang/swift/pull/84413 | 03:37:01 |
Randy Eckenrode | I need to see if I can revert https://github.com/swiftlang/swift/pull/79186. Otherwise, that issue in 84413 prevents building against the 14.4 SDK. | 03:37:54 |
Randy Eckenrode |
FAILED: bootstrapping1/SwiftCompilerSources/Basic.o /nix/var/nix/builds/nix-build-swiftc-6.2.1+bootstrap.drv-0/b/source/build/bootstrapping1/SwiftCompilerSources/Basic.o
cd /nix/var/nix/builds/nix-build-swiftc-6.2.1+bootstrap.drv-0/b/source/SwiftCompilerSources && /nix/var/nix/builds/nix-build-swiftc-6.2.1+bootstrap.drv-0/b/source/build/bootstrapping0/bin/swiftc -c -o /nix/var/nix/builds/nix-buil>
<unknown>:0: warning: using (deprecated) legacy driver, Swift installation does not contain swift-driver at: '/nix/var/nix/builds/nix-build-swiftc-6.2.1+bootstrap.drv-0/b/source/build/bootstrapping0/bin/swift-driver-new'
/nix/store/bj5iys7xm7ba8xxsc6hb9q6zv9x5igs2-apple-sdk-14.4/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk/usr/lib/swift/Swift.swiftmodule/arm64e-apple-macos.swiftinterface:10062:3: error: missing return in instance metho>
10060 | }
10061 | while true
10062 | }
| `- error: missing return in instance method expected to return 'FlattenSequence<Base>.Iterator.Element?' (aka 'Optional<Base.Element.Element>')
10063 | }
10064 | extension Swift.FlattenSequence.Iterator : Swift.Sequence {
| 03:38:08 |
Randy Eckenrode | Though. Hmm. I wonder if swift-driver works. | 03:38:43 |
Randy Eckenrode | Why isn’t it setting it up? | 03:38:50 |
Randy Eckenrode | Nope. I may have to try to revert that change. | 04:24:00 |
Randy Eckenrode | I think I managed to revert the optimizer changes that cause this failure. The optimization pass moved to Swift, which broke the C++ bootstrap compiler. There have been some workarounds done in the Swift stdlib, but those don’t help when dealing with SDK swiftinterface files that have the same constructs. | 05:17:05 |
Randy Eckenrode | I am so happy I don’t have to rebuild LLVM every time while working on this …. | 05:17:48 |
Randy Eckenrode | Dammit, no. Let’s see if reverting the change in the stage 1 compiler works. | 05:19:18 |
Randy Eckenrode | It built! That’s a Swift compiler that supports macros, which should let it build the full compiler and SwiftPM. | 05:36:58 |
Randy Eckenrode | Unfortunately, install phase failed. I’ll fix that tomorrow. | 05:37:05 |
kfiz | Redacted or Malformed Event | 05:42:46 |