GNU bug report logs -
#42151
[PATCH 0/3] offload to Childhurd fails: setting synchronous mode: locking protocol
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#42151: [PATCH 0/3] offload to Childhurd fails: setting synchronous mode: locking protocol
which was filed against the guix package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 42151 <at> debbugs.gnu.org.
--
42151: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=42151
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Ludovic Courtès writes:
> "Jan (janneke) Nieuwenhuizen" <janneke <at> gnu.org> skribis:
>
>> This fixes <https://bugs.gnu.org/42151>.
>>
>> * gnu/system/images/hurd.scm (hurd-initialize-root-partition): Use #:wal-mode #f
>> in call to ...
[...]
>> + (list #:make-device-nodes make-hurd-device-nodes
>> + #:wal-mode? #f)))))
>
> IWBN to have an XXX comment here stating why we disable WAL mode on
> GNU/Hurd, possibly referencing this issue. That way, we can eventually
> revisit the issue and hopefully get rid of this workaround.
Sure, done!
> Apart from that the patch LGTM, thanks!
Yay! Pushed series to master as 4b9eecd322e566783369795ebea63a479b51f486.
Let the offloadings commence!
Janneke
--
Jan Nieuwenhuizen <janneke <at> gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
[Message part 3 (message/rfc822, inline)]
Hello Guix!
I configured my system with a childhurd service and added
--8<---------------cut here---------------start------------->8---
(build-machine
(name "childhurd")
(system "i586-gnu")
(host-key "ssh-ed25519 ... root <at> childhurd")
(user "root")
(private-key "/home/janneke/.ssh/id_rsa_childhurd"))
--8<---------------cut here---------------end--------------->8---
to /etc/guix/machines. Sadly, running guix offload test gives
--8<---------------cut here---------------start------------->8---
$ guix offload test
guix offload: testing 1 build machines defined in '/etc/guix/machines.scm'...
guix offload: Guix is usable on 'childhurd' (test returned "/gnu/store/883yjkl46dxw9mzykykmbs0yzwyxm17z-test")
guix offload: 'childhurd' is running GNU Guile 3.0.4
guix offload: error: exception occurred on remote host 'localhost': (%exception #<inferior-object #<&store-protocol-error message: "setting synchronous mode: locking protocol" status: 1>>)
--8<---------------cut here---------------end--------------->8---
So, I looked into the Debian/Hurd sqlite3 package for inspiration and found
debian/patches/20-hurd-locking-style.patch...well, that should fix it, right?
Sadly, this patch seems to break sqlite3 altogether.
--8<---------------cut here---------------start------------->8---
$ guix offload test
guix offload: testing 1 build machines defined in '/etc/guix/machines.scm'...
Backtrace:
In ice-9/boot-9.scm:
1736:10 11 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
In unknown file:
10 (apply-smob/0 #<thunk 7f3c99b1f480>)
In ice-9/boot-9.scm:
718:2 9 (call-with-prompt _ _ #<procedure default-prompt-handler (k proc)>)
In ice-9/eval.scm:
619:8 8 (_ #(#(#<directory (guile-user) 7f3c99743f00>)))
In guix/ui.scm:
1949:12 7 (run-guix-command _ . _)
663:2 6 (call-with-error-handling _)
In ice-9/boot-9.scm:
1736:10 5 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
1731:15 4 (with-exception-handler #<procedure 7f3c9546d3f0 at ice-9/boot-9.scm:1815:7 (exn)> _ #:unwind? _ # …)
In guix/scripts/offload.scm:
647:6 3 (check-machine-availability _ _)
In srfi/srfi-1.scm:
650:11 2 (for-each #<procedure assert-node-has-guix (node name)> (#<<inferior> pid: pipe socket: #<input…>) …)
In guix/scripts/offload.scm:
582:2 1 (assert-node-has-guix #<<inferior> pid: pipe socket: #<input-output: channel (open) 7f3c954a2500…> …)
In ice-9/boot-9.scm:
1669:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1669:16: In procedure raise-exception:
ERROR:
1. &inferior-exception:
arguments: (%exception #<inferior-object #<&store-protocol-error message: "setting synchronous mode: unable to open database file" status: 1>>)
inferior: #<<inferior> pid: pipe socket: #<input-output: channel (open) 7f3c954a2500> close: #<procedure close-port (_)> version: (0 1 1) packages: #<promise #<procedure 7f3c954a8000 at guix/inferior.scm:161:32 ()>> table: #<promise #<procedure 7f3c954a56f0 at guix/inferior.scm:162:32 ()>>>
stack: ((#f ("ice-9/boot-9.scm" 1763 13)) (raise-exception ("ice-9/boot-9.scm" 1666 16)) (raise-exception ("ice-9/boot-9.scm" 1668 16)) (#f ("guix/store.scm" 582 42)) (with-exception-handler ("ice-9/boot-9.scm" 1735 10)) (open-connection ("guix/store.scm" 545 2)) (call-with-store ("guix/store.scm" 626 15)) (#f (#f #f #f)) (#f ("guix/repl.scm" 92 21)) (with-exception-handler ("ice-9/boot-9.scm" 1735 10)) (with-exception-handler ("ice-9/boot-9.scm" 1730 15)) (#f ("guix/repl.scm" 119 7)))
--8<---------------cut here---------------end--------------->8---
Maybe we're missing some file_lock patch that Debian has? Where to look,
glibc, hurd, ...? Ideas?
Greetings,
Janneke
Jan (janneke) Nieuwenhuizen (3):
gnu: Add sqlite/hurd with locking fix.
gnu: guile-sqlite3: Use sqlite/hurd for locking on the Hurd.
gnu: guix: Use sqlite/hurd for locking on the Hurd.
gnu/local.mk | 1 +
gnu/packages/guile.scm | 2 +-
gnu/packages/package-management.scm | 2 +-
gnu/packages/patches/sqlite3-hurd.patch | 51 +++++++++++++++++++++++++
gnu/packages/sqlite.scm | 9 +++++
5 files changed, 63 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/sqlite3-hurd.patch
--
Jan Nieuwenhuizen <janneke <at> gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
This bug report was last modified 4 years and 337 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.