diff mbox series

[bug#41363] knot-resolver: Enable reloading of policy files (add lua-cqueues)

Message ID 87v9keleji.fsf@mercury.simonsouth.net
State Accepted
Headers show
Series [bug#41363] knot-resolver: Enable reloading of policy files (add lua-cqueues) | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job

Commit Message

Simon South May 29, 2020, 7:36 p.m. UTC
I'm posting updated patches here as a work-in-progress, in case anyone
else is interested. The patches are not yet ready to be applied.

The package definitions are pretty much complete (I believe), however
the regression tests for luajit-cqueues are failing for me on both
aarch64 and x86_64.

On aarch64, the test for issue #71 (only) fails with

    71-empty-cqueue: .......
    71-empty-cqueue: testing issue 71A
    71-empty-cqueue: 71A OK
    71-empty-cqueue: testing 71B
    71-empty-cqueue: setting alert on inner loop
    71-empty-cqueue: stepping inner loop
    71-empty-cqueue: polling inner loop
    71-empty-cqueue: stepping inner loop
    71-empty-cqueue: timeout before inner loop test completed

This test, along with the rest of the suite, passes fine if the stock
Lua 5.1 interpreter is used instead, which suggests a possible
regression in LuaJIT. (Building LuaJIT from the latest revision in its
source repository leads to the same error.)

On x86_64, that test passes but a different one fails:

    141-segfault-on-accept: OK
    PANIC: unprotected error in call to Lua API (attempt to call a thread value)

I've written to the authors of cqueues regarding the first issue but
have not received a response. I may try following up with LuaJIT's
author as a next step; a bit of analysis might reveal why these tests
are failing but my interest here is in getting a DNS server up and
running, not in learning Lua or diving into the internals of a compiler.

Perhaps someone more familiar with these libraries, language and tools
could help?

--
Simon South
ssouth@simonsouth.net
diff mbox series

Patch

From c8b4d696c96a3dc81e84aa05a24220cbadf90809 Mon Sep 17 00:00:00 2001
From: Simon South <simon@simonsouth.net>
Date: Sat, 16 May 2020 14:35:27 -0400
Subject: [PATCH 3/3] gnu: knot-resolver: Enable automatic reloading of policy
 files.

* gnu/packages/dns.scm (knot-resolver)[inputs]: Add lua5.1-cqueues.
---
 gnu/packages/dns.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 7ff0501ab2..dea24cf7c9 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -723,8 +723,9 @@  synthesis, and on-the-fly re-configuration.")
        ("libuv" ,libuv)
        ("lmdb" ,lmdb)
        ("luajit" ,luajit)
-       ;; TODO: Add optional lua modules: basexx, cqueues and psl.
+       ;; TODO: Add optional lua modules: basexx and psl.
        ("lua-bitop" ,lua5.1-bitop)
+       ("lua-cqueues" ,lua5.1-cqueues)
        ("lua-filesystem" ,lua5.1-filesystem)
        ("lua-sec" ,lua5.1-sec)
        ("lua-socket" ,lua5.1-socket)))
-- 
2.26.2