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