unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Sam Halliday <sam.halliday@gmail.com>
Cc: 19983@debbugs.gnu.org
Subject: bug#19983: 24.4; exit-emacs regression in 24.4?
Date: Sun, 08 Mar 2015 18:14:17 +0200	[thread overview]
Message-ID: <83d24jlb52.fsf@gnu.org> (raw)
In-Reply-To: <87k2yrvea4.fsf@gmail.com>

Please always CC the bug address, so that this discussion gets
recorded with the bug.

> From: Sam Halliday <sam.halliday@gmail.com>
> Date: Sun, 08 Mar 2015 12:56:19 +0000
> 
> > Can you please show a complete self-contained recipe for reproducing
> > the problem, starting with "emacs -Q"?  I couldn't find one in the URL
> > you provide above; apologies if I missed something.
> 
> 
> Yes, (our test suite intentionally creates a clean room), but apologies
> in advance because this involves a lot of automatic downloading of Java
> / Scala jars that will probably be completely irrelevant to you other
> than this bug report. But I'll explain to you what is happening and how
> to clean up afterwards.
> 
> If you clone our repository
> 
>   git clone --depth 1 https://github.com/ensime/ensime-emacs
> 
> you can run the tests with
> 
>   test/run_emacs_tests.sh
> 
> That will create a clean-room emacs.d just for the tests and contact
> MELPA to download our dependencies.
> 
> HOWEVER, you will also need to have a working JDK and the `sbt` script
> in your PATH. 1) Use your package manager to install something like
> `openjdk-6-jdk` 2) obtain
> https://github.com/paulp/sbt-extras/blob/master/sbt and place it on your
> PATH.
> 
> To explain: ENSIME is a bit like SLIME. There is a server component
> which runs a Scala compiler in-process. Scala runs on the JVM and we
> piggy-back off the SBT build tool for dependency management. Lots of
> files are being downloaded and being placed into your `~/.ivy` and
> `~/.sbt` folders as a result. For the typical Scala developer, this will
> already have been populated because its part of their dev environment.
> 
> When we run the tests in emacs 24.1, 24.2, 24.3 the tests exit 0. But
> with 24.4 they exit 1 (despite us printing out on the screen "exiting
> 0"). We have absolutely no idea what is going on, but it really feels
> like a regression in emacs 24.4. We are primarily interested in a
> workaround at this stage, but obviously if this is a bug in emacs
> itself, I think we'd all like to see a fix.
> 
> The code that is calling `kill-emacs` is here
> https://github.com/ensime/ensime-emacs/blob/master/ensime-test.el#L402
> 
> If you'd like to continue discussing by email that is fine, but you'll
> probably get a faster response on
> https://github.com/ensime/ensime-server/issues/862 as I cannot access my
> personal email from my work account.
> 
> We really wish we had a more minimal test for you, but of course
> anything involving `kill-emacs` works just fine in trivial scripts.

I'm sorry, I cannot afford to re-create your environment on my
system.  I tried to simplify the situation as follows:

The code around line 402 in the above repository is this:

 (progn
   (goto-char (point-max))
   (let* ((status (if ensime--test-had-failures 1 0))
          (msg (format "Finished suite with status %s." status)))
     (message msg)
     (when ensime--test-exit-on-finish
     (kill-emacs status))))

I emulated that with the following:

  emacs -batch --eval "(progn (let ((status 0)) (message \"Status %s\" status) (kill-emacs status)))"

and

  emacs -batch --eval "(progn (let ((status 1)) (message \"Status %s\" status) (kill-emacs status)))"

In both cases, I saw the message announcing the value of exit status,
and Emacs exited exactly with the status I wanted it to.

So I'm sorry to say that I couldn't reproduce the problem you are
reporting.

What I can suggest is run Emacs under a debugger, put a breakpoint in
Fkill_emacs, and when it breaks, show what argument is received by
that function.

Another possibility is that this is a manifestation of Bug#19897 that
was recently fixed on master.  (But in that case, I cannot understand
why you didn't see it in 24.3, since that bug was VERY old.





  parent reply	other threads:[~2015-03-08 16:14 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-02 22:38 bug#19983: 24.4; exit-emacs regression in 24.4? Sam Halliday
2015-03-03 15:38 ` Eli Zaretskii
     [not found]   ` <87k2yrvea4.fsf@gmail.com>
2015-03-08 16:14     ` Eli Zaretskii [this message]
2015-03-08 16:26       ` Sam Halliday
2015-03-08 16:31         ` Eli Zaretskii
2015-03-08 18:34           ` Sam Halliday
2015-03-08 20:17             ` Eli Zaretskii
2015-03-08 19:11           ` Sam Halliday
2015-03-08 20:18             ` Eli Zaretskii
2015-03-08 22:57           ` Sam Halliday
2015-03-09  3:16             ` Óscar Fuentes
2015-03-10 18:57             ` Eli Zaretskii
2015-03-10 19:30             ` Glenn Morris
2015-03-10 19:42               ` Sam Halliday
2015-03-10 23:17                 ` Sam Halliday
2015-03-11 16:07                   ` Eli Zaretskii
2015-03-11 17:44                   ` Glenn Morris
2015-03-13  0:47                     ` Sam Halliday
2015-03-13  6:24                       ` Glenn Morris
2015-03-13  8:30                   ` Andreas Schwab
2015-03-14 10:36                     ` Sam Halliday
2015-03-22 20:00                       ` Sam Halliday
2015-03-10 20:53             ` Andreas Schwab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83d24jlb52.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=19983@debbugs.gnu.org \
    --cc=sam.halliday@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).