LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 04-23-2024, 01:39 AM   #1
3Tom
LQ Newbie
 
Registered: Apr 2024
Posts: 5

Rep: Reputation: 0
Emacs 29.3; suspicious error message from compile command in Emacs 29.3


The following error message appears in the terminal from which emacs was started every time I use the 'compile' command:

> emacs: writing to child signal FD: Invalid argument

The compilation itself (via make) works perfectly fine. Only this new message is a bit annoying. And so cryptic, isn't it? It did not appear up until the latest update.

This error message (or whatever it is) appears also, when I start emacs from a non-X tty (Ctrl + Alt + F2) and with '-Q' option. To be precise, it appears when I use 'M-x compile' and for longer compilation processes it appears at the end of the compilation, not at the beginning.

I asked for help with that at the GNU bugtracker and got the following answer:

> On 4/22/24 21:40, Eli Zaretskii wrote:
>> When a sub-process exits, Emacs writes to file descriptor which it
>> monitors with pselect. This is so we don't miss SIGCHLD for some
>> reason. Why in your case this write errors out with EINVAL, I don't
>> know. Perhaps Paul (CC'ed) could have some ideas.
>>
>> If this could happen for benign reasons, maybe we should silently
>> ignore these errors.

And then:

Please do report to them (slackware), it cannot possibly do any harm. When you
do, please ask them to tell us here whether this could be caused by
some downstream change they made in Emacs, or by some of the libraries
you have installed.
My question here: Gets anyone the same message when using the M-x compile command in Emacs 29.3 on slackware? And if so, where is the correct place for filing a bug report?
 
Old 04-23-2024, 02:30 AM   #2
Petri Kaukasoina
Senior Member
 
Registered: Mar 2007
Posts: 1,798

Rep: Reputation: 1478Reputation: 1478Reputation: 1478Reputation: 1478Reputation: 1478Reputation: 1478Reputation: 1478Reputation: 1478Reputation: 1478Reputation: 1478
Which emacs is it?
  • slackware64-15.0: patches/packages/emacs-29.3-x86_64-1_slack15.0.txz
  • slackware64-current: e/emacs-29.3-x86_64-1.txz
  • slackware64-current: extra/emacs-regular-build/emacs-29.3-x86_64-1_regular.txz
 
Old 04-23-2024, 08:11 AM   #3
drgibbon
Senior Member
 
Registered: Nov 2014
Distribution: Slackware64 15.0
Posts: 1,221

Rep: Reputation: 943Reputation: 943Reputation: 943Reputation: 943Reputation: 943Reputation: 943Reputation: 943Reputation: 943
Quote:
Originally Posted by 3Tom View Post
The following error message appears in the terminal from which emacs was started every time I use the 'compile' command:

> emacs: writing to child signal FD: Invalid argument
I've seen that, I believe it's related to the stock Slackware build script. Build Emacs yourself according to the SlackBuilds in post #4 here (no native-comp) or #18 here (with native-comp, requires rebuilding gcc) and the issue should be gone.
 
Old 04-23-2024, 09:03 AM   #4
3Tom
LQ Newbie
 
Registered: Apr 2024
Posts: 5

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by Petri Kaukasoina View Post
Which emacs is it?
  • slackware64-15.0: patches/packages/emacs-29.3-x86_64-1_slack15.0.txz
  • slackware64-current: e/emacs-29.3-x86_64-1.txz
  • slackware64-current: extra/emacs-regular-build/emacs-29.3-x86_64-1_regular.txz
It is the first one, the patch that came to my attention last week.
 
Old 04-23-2024, 10:21 AM   #5
drgibbon
Senior Member
 
Registered: Nov 2014
Distribution: Slackware64 15.0
Posts: 1,221

Rep: Reputation: 943Reputation: 943Reputation: 943Reputation: 943Reputation: 943Reputation: 943Reputation: 943Reputation: 943
Quote:
Originally Posted by 3Tom View Post
It is the first one, the patch that came to my attention last week.
Recompile as above, and problem solved I can confirm from testing (with `emacs -nw -Q`) that stock Emacs 29.3 produces the "write to child signal FD: Bad file descriptor" error after M-x compile, whereas the recompiled ones do not.

In sum, this error seems to be some quirk in how Emacs is being built on Slackware.

Last edited by drgibbon; 04-23-2024 at 10:27 AM.
 
Old 04-23-2024, 10:54 AM   #6
3Tom
LQ Newbie
 
Registered: Apr 2024
Posts: 5

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by drgibbon View Post
I've seen that, I believe it's related to the stock Slackware build script. Build Emacs yourself according to the SlackBuilds in post #4 here (no native-comp) or #18 here (with native-comp, requires rebuilding gcc) and the issue should be gone.
Thank you, I'd like to try that. Downloaded the source from https://packages.slackware.com/ and tried to verify the gpg signature of the tarball and gpg said

> gpg: Can't check signature: public key not found

Searched slackware.com but couldn't find the key. Where can I get it?

And then: What does 'native-comp' mean? Is it only the terminal version of emacs invoced with -nw, or does it more than that? I'd like to have it, but it is not essential.

I do not understand why an emacs with more functionality (X window etc.) can be build with the gcc from the distro and apperently the part with less functionality requires another version of gcc.

Is there a simple explanation for that?

I once installed the multilib thing from alienbob on my system and it works well. And there was some recompiling for the mingw that is also on my system. Everything works well, but I've forgotten how everything is interrelated and I don't want to endanger things. Maybe I should stick with my alias emacs=emacs 2>/dev/null "solution" for now.
 
Old 04-23-2024, 12:20 PM   #7
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,334

Rep: Reputation: 2331Reputation: 2331Reputation: 2331Reputation: 2331Reputation: 2331Reputation: 2331Reputation: 2331Reputation: 2331Reputation: 2331Reputation: 2331Reputation: 2331
Quote:
Is there a simple explanation for that?
Yes. In a word, developers. Each dev compiles code, and it usually works on present versions of gcc, but not necessarily on future ones.

By all means stick with your alias and get used to the fact that things that work might bellyache like mad because the developers like that feedback. It helps them find faults. If you think emacs is bad, wait until you start wine from a terminal!
 
Old 04-24-2024, 08:06 AM   #8
drgibbon
Senior Member
 
Registered: Nov 2014
Distribution: Slackware64 15.0
Posts: 1,221

Rep: Reputation: 943Reputation: 943Reputation: 943Reputation: 943Reputation: 943Reputation: 943Reputation: 943Reputation: 943
Quote:
Originally Posted by 3Tom View Post
Thank you, I'd like to try that. Downloaded the source from https://packages.slackware.com/ and tried to verify the gpg signature of the tarball and gpg said

> gpg: Can't check signature: public key not found

Searched slackware.com but couldn't find the key. Where can I get it?
You need the key for the person who signed the release archive for Emacs (nothing to do with Slackware):
Code:
gpg2 --verify emacs-29.3.tar.xz.sig
[...]
gpg: Good signature from "Eli Zaretskii <eliz@gnu.org>" [unknown]
Quote:
Originally Posted by 3Tom View Post
And then: What does 'native-comp' mean? Is it only the terminal version of emacs invoced with -nw, or does it more than that? I'd like to have it, but it is not essential.
It can lead to faster Emacs in some aspects, but just search it up and decide if you want it or not.

Quote:
Originally Posted by 3Tom View Post
I do not understand why an emacs with more functionality (X window etc.) can be build with the gcc from the distro and apperently the part with less functionality requires another version of gcc.
I don't know what you mean, if you want the native-comp feature on Slackware you will need to recompile gcc, but you can also just ignore it. Both build scripts above will give a GUI and terminal version of Emacs.

Quote:
Originally Posted by 3Tom View Post
Maybe I should stick with my alias emacs=emacs 2>/dev/null "solution" for now.
You can quite easily build Emacs with the build script here, no native-comp/gcc messing around, and the problem will be fixed properly.
 
1 members found this post helpful.
Old 04-24-2024, 08:23 AM   #9
3Tom
LQ Newbie
 
Registered: Apr 2024
Posts: 5

Original Poster
Rep: Reputation: 0
solved in a sense

Quote:
Originally Posted by business_kid View Post
Yes. In a word, developers. Each dev compiles code, and it usually works on present versions of gcc, but not necessarily on future ones.

By all means stick with your alias and get used to the fact that things that work might bellyache like mad because the developers like that feedback. It helps them find faults. If you think emacs is bad, wait until you start wine from a terminal!
Thanks for this enlightening meta-persepctive!

Finally I found the key (is is on savannah.org what makes sense..) but decided to stick with the alias.
 
Old 04-24-2024, 09:18 AM   #10
Petri Kaukasoina
Senior Member
 
Registered: Mar 2007
Posts: 1,798

Rep: Reputation: 1478Reputation: 1478Reputation: 1478Reputation: 1478Reputation: 1478Reputation: 1478Reputation: 1478Reputation: 1478Reputation: 1478Reputation: 1478
slackware64-15.0/ChangeLog.txt
Code:
Tue Apr 23 19:48:05 UTC 2024
patches/packages/emacs-29.3-x86_64-2_slack15.0.txz:  Rebuilt.
  This is a bugfix release.
  Only build the X11/GTK+3 version. Use "emacs -nw" if you want to start it
  in a terminal emulator in text mode, or rebuild if you really need to get
  rid of the X11 dependency for some reason.
  Build using --with-pdumper=auto. It seems that --with-dumping=unexec produces
  a buggy Emacs here in the modern era, with symptoms such as "child signal FD:
  Invalid argument". It's possible this had something to do with the reported
  memory leaks as well.
  Thanks to 3Tom for the bug report.
 
1 members found this post helpful.
Old 04-24-2024, 09:53 AM   #11
marabunta
LQ Newbie
 
Registered: Sep 2023
Location: Buenos Aires city, Argentina
Distribution: Slackware
Posts: 9

Rep: Reputation: 5
Quote:
Originally Posted by Petri Kaukasoina View Post
slackware64-15.0/ChangeLog.txt
Code:
Tue Apr 23 19:48:05 UTC 2024
patches/packages/emacs-29.3-x86_64-2_slack15.0.txz:  Rebuilt.
  This is a bugfix release.
  Only build the X11/GTK+3 version. Use "emacs -nw" if you want to start it
  in a terminal emulator in text mode, or rebuild if you really need to get
  rid of the X11 dependency for some reason.
  Build using --with-pdumper=auto. It seems that --with-dumping=unexec produces
  a buggy Emacs here in the modern era, with symptoms such as "child signal FD:
  Invalid argument". It's possible this had something to do with the reported
  memory leaks as well.
  Thanks to 3Tom for the bug report.
The crashes I reported are gone with this update.
 
2 members found this post helpful.
Old 04-25-2024, 05:33 AM   #12
3Tom
LQ Newbie
 
Registered: Apr 2024
Posts: 5

Original Poster
Rep: Reputation: 0
Thanks Petri, the error-messages are gone!
 
Old 04-27-2024, 08:19 PM   #13
drgibbon
Senior Member
 
Registered: Nov 2014
Distribution: Slackware64 15.0
Posts: 1,221

Rep: Reputation: 943Reputation: 943Reputation: 943Reputation: 943Reputation: 943Reputation: 943Reputation: 943Reputation: 943
Ah nice, fixed in the main branch, thanks Pat!
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
error executing emacs after attempt to upgrade to emacs 28.1 davebru Slackware - Installation 1 06-10-2022 09:58 AM
How can I get emacs -nw when I call emacs from a terminal but GUI emacs elsewhere? Blackened Justice Linux - Newbie 4 09-08-2011 07:57 AM
launching emacs-snapshot with the emacs command pamparana Linux - Newbie 1 07-21-2009 01:05 PM
More Emacs-help, interpret/compile from emacs? raskol Programming 2 04-19-2008 01:24 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 11:53 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration