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

From: Andy Moreton <[email-masked]>
Date: Wed, 17 Jan 2018 18:32:24 +0000

On Wed 17 Jan 2018, Jean Louis wrote:

> On Wed, Jan 17, 2018 at 05:36:45PM +0200, Eli Zaretskii wrote:
>> > Date: Tue, 16 Jan 2018 22:18:55 +0300
>> > From: Jean Louis <[email-masked]>
>> > Cc: [email-masked]
>> > 
>> > >   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.
>> 
>> Apply the patch below, rebuild Emacs, rerun the test, and see if
>> there's the telltale "current_thread is NULL"
>> message in the log.
>
> I have done that, I did not see during "make
> check" the line "current_thread is NULL", and I am
> attaching the output from "make check".

Looking at the log you supplied:

  CCLD     data/emacs-module/mod-test.so
  ELC      src/emacs-module-tests.elc
Emacs module assertion: Module function called from outside the current Lisp thread

That would seem to be the cause of your problem.

    AndyM