unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#14412: 24.3.50; emacs_backtrace.txt
@ 2013-05-16 21:21 Drew Adams
  2013-05-17  9:59 ` Eli Zaretskii
  2015-12-26 17:43 ` Paul Eggert
  0 siblings, 2 replies; 6+ messages in thread
From: Drew Adams @ 2013-05-16 21:21 UTC (permalink / raw)
  To: 14412

Backtrace:
0x01159525
0x01159597
0x01001459
0x01021A5E
0x0101675C
0x010D82B4
0x010D938E
0x010D8F02
0x010116DA
0x010118DF
0x0101120C
0x01011326
0x01011365
0x01006765
0x010E4AC8
0x0101596C
0x01014E87
0x010E5146
0x01015511
0x01014E87
0x010E5146
0x0101596C
0x01014E87
0x010E5146
0x0101596C
0x01014E87
0x01013C70
0x010141D4
0x010E8FBA
0x01014B45
0x010E5146
0x01015511
0x01014E87
0x01014229
0x01024826
0x01010C39
0x01023814
0x01010696
0x010237CE
0x01022D88
0x010230B5
0x010029C4
0x010010F9
0x7C81776B
 
 
 

In GNU Emacs 24.3.50.1 (i386-mingw-nt5.1.2600)
 of 2013-05-14 on ODIEONE
Bzr revision: 112586 juri@jurta.org-20130514233814-nnkh1ymiqgoq2fk6
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --with-gcc (4.7) --no-opt --enable-checking --cflags
 -IC:/Devel/emacs/build/include --ldflags -LC:/Devel/emacs/build/lib'
 






^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#14412: 24.3.50; emacs_backtrace.txt
  2013-05-16 21:21 bug#14412: 24.3.50; emacs_backtrace.txt Drew Adams
@ 2013-05-17  9:59 ` Eli Zaretskii
  2015-12-26  0:47   ` Lars Ingebrigtsen
  2015-12-26 17:43 ` Paul Eggert
  1 sibling, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2013-05-17  9:59 UTC (permalink / raw)
  To: Drew Adams; +Cc: 14412

> From: "Drew Adams" <drew.adams@oracle.com>
> Date: Thu, 16 May 2013 14:21:05 -0700
> 
> Backtrace:
> 0x01159525
> 0x01159597
> 0x01001459
> 0x01021A5E
> 0x0101675C
> 0x010D82B4
> 0x010D938E
> 0x010D8F02
> 0x010116DA
> 0x010118DF
> 0x0101120C
> 0x01011326
> 0x01011365
> 0x01006765
> 0x010E4AC8
> 0x0101596C
> 0x01014E87
> 0x010E5146
> 0x01015511
> 0x01014E87
> 0x010E5146
> 0x0101596C
> 0x01014E87
> 0x010E5146
> 0x0101596C
> 0x01014E87
> 0x01013C70
> 0x010141D4
> 0x010E8FBA
> 0x01014B45
> 0x010E5146
> 0x01015511
> 0x01014E87
> 0x01014229
> 0x01024826
> 0x01010C39
> 0x01023814
> 0x01010696
> 0x010237CE
> 0x01022D88
> 0x010230B5
> 0x010029C4
> 0x010010F9
> 0x7C81776B

  w32_backtrace at C:\Devel\emacs\repo\build\src/w32fns.c:7740
  emacs_abort at C:\Devel\emacs\repo\build\src/w32fns.c:7772
  terminate_due_to_signal at C:\Devel\emacs\repo\build\src/emacs.c:343
  die at C:\Devel\emacs\repo\build\src/alloc.c:6522
  unbind_to at C:\Devel\emacs\repo\build\src/eval.c:3124
  Fprinc at C:\Devel\emacs\repo\build\src/print.c:658
  print_error_message at C:\Devel\emacs\repo\build\src/print.c:901
  Ferror_message_string at C:\Devel\emacs\repo\build\src/print.c:826
  skip_debugger at C:\Devel\emacs\repo\build\src/eval.c:1566
  maybe_call_debugger at C:\Devel\emacs\repo\build\src/eval.c:1607
  Fsignal at C:\Devel\emacs\repo\build\src/eval.c:1431
  xsignal at C:\Devel\emacs\repo\build\src/eval.c:1466
  xsignal1 at C:\Devel\emacs\repo\build\src/eval.c:1481
  Fsymbol_value at C:\Devel\emacs\repo\build\src/data.c:1061
  exec_byte_code at C:\Devel\emacs\repo\build\src/bytecode.c:717
  funcall_lambda at C:\Devel\emacs\repo\build\src/eval.c:2906
  Ffuncall at C:\Devel\emacs\repo\build\src/eval.c:2723
  exec_byte_code at C:\Devel\emacs\repo\build\src/bytecode.c:900
  funcall_lambda at C:\Devel\emacs\repo\build\src/eval.c:2840
  Ffuncall at C:\Devel\emacs\repo\build\src/eval.c:2723
  exec_byte_code at C:\Devel\emacs\repo\build\src/bytecode.c:900
  funcall_lambda at C:\Devel\emacs\repo\build\src/eval.c:2906
  Ffuncall at C:\Devel\emacs\repo\build\src/eval.c:2723
  exec_byte_code at C:\Devel\emacs\repo\build\src/bytecode.c:900
  funcall_lambda at C:\Devel\emacs\repo\build\src/eval.c:2906
  Ffuncall at C:\Devel\emacs\repo\build\src/eval.c:2723
  Fapply at C:\Devel\emacs\repo\build\src/eval.c:2208
  apply1 at C:\Devel\emacs\repo\build\src/eval.c:2442
  Fcall_interactively at C:\Devel\emacs\repo\build\src/callint.c:381
  Ffuncall at C:\Devel\emacs\repo\build\src/eval.c:2681
  exec_byte_code at C:\Devel\emacs\repo\build\src/bytecode.c:900
  funcall_lambda at C:\Devel\emacs\repo\build\src/eval.c:2840
  Ffuncall at C:\Devel\emacs\repo\build\src/eval.c:2723
  call1 at C:\Devel\emacs\repo\build\src/eval.c:2468
  command_loop_1 at C:\Devel\emacs\repo\build\src/keyboard.c:1578
  internal_condition_case at C:\Devel\emacs\repo\build\src/eval.c:1193
  command_loop_2 at C:\Devel\emacs\repo\build\src/keyboard.c:1167
  internal_catch at C:\Devel\emacs\repo\build\src/eval.c:964
  command_loop at C:\Devel\emacs\repo\build\src/keyboard.c:1146
  recursive_edit_1 at C:\Devel\emacs\repo\build\src/keyboard.c:779
  Frecursive_edit at C:\Devel\emacs\repo\build\src/keyboard.c:843
  main at C:\Devel\emacs\repo\build\src/emacs.c:1531
  ?? at crt1.c:0

It aborts here:

      /* If variable has a trivial value (no forwarding), we can
	 just set it.  No need to check for constant symbols here,
	 since that was already done by specbind.  */
 >>>  else if (XSYMBOL (this_binding.symbol)->redirect == SYMBOL_PLAINVAL)
	SET_SYMBOL_VAL (XSYMBOL (this_binding.symbol),
			this_binding.old_value);

Should we explicitly test for SYMBOLP before calling XSYMBOL?





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#14412: 24.3.50; emacs_backtrace.txt
  2013-05-17  9:59 ` Eli Zaretskii
@ 2015-12-26  0:47   ` Lars Ingebrigtsen
  2015-12-26 10:07     ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Lars Ingebrigtsen @ 2015-12-26  0:47 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 14412

Eli Zaretskii <eliz@gnu.org> writes:

> It aborts here:
>
>       /* If variable has a trivial value (no forwarding), we can
> 	 just set it.  No need to check for constant symbols here,
> 	 since that was already done by specbind.  */
>  >>>  else if (XSYMBOL (this_binding.symbol)->redirect == SYMBOL_PLAINVAL)
> 	SET_SYMBOL_VAL (XSYMBOL (this_binding.symbol),
> 			this_binding.old_value);
>
> Should we explicitly test for SYMBOLP before calling XSYMBOL?

Was this resolved, by any chance?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#14412: 24.3.50; emacs_backtrace.txt
  2015-12-26  0:47   ` Lars Ingebrigtsen
@ 2015-12-26 10:07     ` Eli Zaretskii
  2015-12-26 10:44       ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2015-12-26 10:07 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 14412

> From: Lars Ingebrigtsen <larsi@gnus.org>
> Cc: Drew Adams <drew.adams@oracle.com>,  14412@debbugs.gnu.org
> Date: Sat, 26 Dec 2015 01:47:50 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > It aborts here:
> >
> >       /* If variable has a trivial value (no forwarding), we can
> > 	 just set it.  No need to check for constant symbols here,
> > 	 since that was already done by specbind.  */
> >  >>>  else if (XSYMBOL (this_binding.symbol)->redirect == SYMBOL_PLAINVAL)
> > 	SET_SYMBOL_VAL (XSYMBOL (this_binding.symbol),
> > 			this_binding.old_value);
> >
> > Should we explicitly test for SYMBOLP before calling XSYMBOL?
> 
> Was this resolved, by any chance?

Not that I could see, but adding the test is trivial, so I will do it
soon.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#14412: 24.3.50; emacs_backtrace.txt
  2015-12-26 10:07     ` Eli Zaretskii
@ 2015-12-26 10:44       ` Eli Zaretskii
  0 siblings, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2015-12-26 10:44 UTC (permalink / raw)
  To: larsi; +Cc: 14412-done

> Date: Sat, 26 Dec 2015 12:07:19 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 14412@debbugs.gnu.org
> 
> > From: Lars Ingebrigtsen <larsi@gnus.org>
> > Cc: Drew Adams <drew.adams@oracle.com>,  14412@debbugs.gnu.org
> > Date: Sat, 26 Dec 2015 01:47:50 +0100
> > 
> > Eli Zaretskii <eliz@gnu.org> writes:
> > 
> > > It aborts here:
> > >
> > >       /* If variable has a trivial value (no forwarding), we can
> > > 	 just set it.  No need to check for constant symbols here,
> > > 	 since that was already done by specbind.  */
> > >  >>>  else if (XSYMBOL (this_binding.symbol)->redirect == SYMBOL_PLAINVAL)
> > > 	SET_SYMBOL_VAL (XSYMBOL (this_binding.symbol),
> > > 			this_binding.old_value);
> > >
> > > Should we explicitly test for SYMBOLP before calling XSYMBOL?
> > 
> > Was this resolved, by any chance?
> 
> Not that I could see, but adding the test is trivial, so I will do it
> soon.

Done.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#14412: 24.3.50; emacs_backtrace.txt
  2013-05-16 21:21 bug#14412: 24.3.50; emacs_backtrace.txt Drew Adams
  2013-05-17  9:59 ` Eli Zaretskii
@ 2015-12-26 17:43 ` Paul Eggert
  1 sibling, 0 replies; 6+ messages in thread
From: Paul Eggert @ 2015-12-26 17:43 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Lars Ingebrigtsen, 14412

[-- Attachment #1: Type: text/plain, Size: 291 bytes --]

Eli, thanks for fixing that. There's parallel code in backtrace_eval_unrewind 
that presumably should be fixed in a similar way. Also, it's clearer to keep the 
FALLTHROUGH!! comment at the actual fallthrough point. I installed the attached 
additional patch to try to address these issues.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Propagate-Bug-14412-fix-to-backtrace_eval_unrewind.patch --]
[-- Type: text/x-diff; name="0001-Propagate-Bug-14412-fix-to-backtrace_eval_unrewind.patch", Size: 2310 bytes --]

From 60764d06b76ce39c2c902c302c29954945ed0e9c Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sat, 26 Dec 2015 09:30:22 -0800
Subject: [PATCH] Propagate Bug#14412 fix to backtrace_eval_unrewind
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* src/eval.c (unbind_to): Redo so that the FALLTHROUGH!! comment
becomes accurate again. This shouldn’t affect behavior.
(backtrace_eval_unrewind): Apply the recent unbind_to fix here, too.
---
 src/eval.c | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/src/eval.c b/src/eval.c
index 571681c..bd0cf68 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -3196,15 +3196,12 @@ unbind_to (ptrdiff_t count, Lisp_Object value)
 	  { /* If variable has a trivial value (no forwarding), we can
 	       just set it.  No need to check for constant symbols here,
 	       since that was already done by specbind.  */
-	    Lisp_Object symbol = specpdl_symbol (specpdl_ptr);
-	    if (SYMBOLP (symbol))
+	    Lisp_Object sym = specpdl_symbol (specpdl_ptr);
+	    if (SYMBOLP (sym) && XSYMBOL (sym)->redirect == SYMBOL_PLAINVAL)
 	      {
-		struct Lisp_Symbol *sym = XSYMBOL (symbol);
-		if (sym->redirect == SYMBOL_PLAINVAL)
-		  {
-		    SET_SYMBOL_VAL (sym, specpdl_old_value (specpdl_ptr));
-		    break;
-		  }
+		SET_SYMBOL_VAL (XSYMBOL (sym),
+				specpdl_old_value (specpdl_ptr));
+		break;
 	      }
 	    else
 	      { /* FALLTHROUGH!!
@@ -3412,12 +3409,12 @@ backtrace_eval_unrewind (int distance)
 	  { /* If variable has a trivial value (no forwarding), we can
 	       just set it.  No need to check for constant symbols here,
 	       since that was already done by specbind.  */
-	    struct Lisp_Symbol *sym = XSYMBOL (specpdl_symbol (tmp));
-	    if (sym->redirect == SYMBOL_PLAINVAL)
+	    Lisp_Object sym = specpdl_symbol (tmp);
+	    if (SYMBOLP (sym) && XSYMBOL (sym)->redirect == SYMBOL_PLAINVAL)
 	      {
 		Lisp_Object old_value = specpdl_old_value (tmp);
-		set_specpdl_old_value (tmp, SYMBOL_VAL (sym));
-		SET_SYMBOL_VAL (sym, old_value);
+		set_specpdl_old_value (tmp, SYMBOL_VAL (XSYMBOL (sym)));
+		SET_SYMBOL_VAL (XSYMBOL (sym), old_value);
 		break;
 	      }
 	    else
-- 
2.5.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-12-26 17:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-16 21:21 bug#14412: 24.3.50; emacs_backtrace.txt Drew Adams
2013-05-17  9:59 ` Eli Zaretskii
2015-12-26  0:47   ` Lars Ingebrigtsen
2015-12-26 10:07     ` Eli Zaretskii
2015-12-26 10:44       ` Eli Zaretskii
2015-12-26 17:43 ` Paul Eggert

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).