GNU bug report logs - #30106
Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'

Previous Next

Package: emacs;

Reported by: Jean Louis <bugs <at> gnu.support>

Date: Sun, 14 Jan 2018 06:35:01 UTC

Severity: normal

Fixed in version 27.1

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Forwarded to https://github.com/anse1/emacs-libpq/issues/8

Full log


View this message in rfc822 format

From: Jean Louis <bugs <at> gnu.support>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 30106 <at> debbugs.gnu.org
Subject: bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
Date: Tue, 16 Jan 2018 22:18:55 +0300
On Tue, Jan 16, 2018 at 08:10:49PM +0200, Eli Zaretskii wrote:
> > Date: Mon, 15 Jan 2018 21:55:33 +0300
> > From: Jean Louis <bugs <at> gnu.support>
> > Cc: 30106 <at> debbugs.gnu.org
> > 
> > I can see that 'make check' fails so:
> > 
> >   ELC      src/emacs-module-tests.elc
> > Emacs module assertion: Module function called from outside the current Lisp thread
> > /bin/sh: line 1:  6214 Aborted                 EMACSLOADPATH= LC_ALL=C EMACS_TEST_DIRECTORY=/sources/emacs/test "../src/emacs" --module-assertions -batch --no-site-file --no-site-lisp -L ":." -f batch-byte-compile src/emacs-module-tests.el
> 
> Ah, that changes almost everything.  The test fails here:
> 
>   static void
>   module_assert_thread (void)
>   {
>     if (!module_assertions)
>       return;
>     if (!in_current_thread ())
>       module_abort ("Module function called from outside "  <<<<<<<<<<<<<<<
> 		    "the current Lisp thread");
>     if (gc_in_progress)
>       module_abort ("Module function called during garbage collection");
>   }
> 
> And in_current_thread does this:
> 
>   static bool
>   in_current_thread (void)
>   {
>     if (current_thread == NULL)
>       return false;
>   #ifdef HAVE_PTHREAD
>     return pthread_equal (pthread_self (), current_thread->thread_id);
>   #elif defined WINDOWSNT
>     return GetCurrentThreadId () == current_thread->thread_id;
>   #endif
>   }
> 
> So either current_thread is NULL in your case, or pthread_equal
> returns false.  Can you tell which one of these happens?

I cannot test it myself on my own. You may tell me
what to do, to test it.

Do I miss some software package?

Jean




This bug report was last modified 6 years and 34 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.