handler-case falls to ldb on unknown typespecs

Bug #1378939 reported by David Vázquez on 2014-10-08
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Medium
Jan Moringen

Bug Description

handler-case causes a stack overflow when a non-local exit happens and typespec is not valid. It should signal an error instead.

I have reduced the problem to the following:

(running SBCL from: .)
This is SBCL 1.2.4.53-1047c95, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
* (handler-case (throw 'foo nil)
    (bar ()))
INFO: Control stack guard page unprotected
Control stack guard page temporarily disabled: proceed with caution
fatal error encountered in SBCL pid 28360(tid 140737353934592):
Control stack exhausted

Welcome to LDB, a low-level debugger for the Lisp runtime environment.
ldb>

I tested this in 1.2.2 and the HEAD 1.2.4.53-1047c95. My environment:

Linux lispm 3.14-2-amd64 #1 SMP Debian 3.14.15-2 (2014-08-09) x86_64 GNU/Linux

and *features*:

(:ALIEN-CALLBACKS :ANSI-CL :ASH-RIGHT-VOPS :C-STACK-IS-CONTROL-STACK
 :COMMON-LISP :COMPARE-AND-SWAP-VOPS :COMPLEX-FLOAT-VOPS :CYCLE-COUNTER :ELF
 :FLOAT-EQL-VOPS :GENCGC :IEEE-FLOATING-POINT :INLINE-CONSTANTS :LARGEFILE
 :LINKAGE-TABLE :LINUX :LITTLE-ENDIAN :MEMORY-BARRIER-VOPS :MULTIPLY-HIGH-VOPS
 :OS-PROVIDES-BLKSIZE-T :OS-PROVIDES-DLADDR :OS-PROVIDES-DLOPEN
 :OS-PROVIDES-GETPROTOBY-R :OS-PROVIDES-POLL :OS-PROVIDES-PUTWC
 :OS-PROVIDES-SUSECONDS-T :PACKAGE-LOCAL-NICKNAMES :RAW-INSTANCE-INIT-VOPS
 :SB-DOC :SB-EVAL :SB-FUTEX :SB-LDB :SB-PACKAGE-LOCKS :SB-SIMD-PACK
 :SB-SOURCE-LOCATIONS :SB-TEST :SB-THREAD :SB-UNICODE :SBCL
 :STACK-ALLOCATABLE-CLOSURES :STACK-ALLOCATABLE-FIXED-OBJECTS
 :STACK-ALLOCATABLE-LISTS :STACK-ALLOCATABLE-VECTORS
 :STACK-GROWS-DOWNWARD-NOT-UPWARD :SYMBOL-INFO-VOPS :UNIX
 :UNWIND-TO-FRAME-AND-CALL-VOP :X86-64)

Stas Boukarev (stassats) on 2014-10-09
Changed in sbcl:
status: New → Triaged
importance: Undecided → Medium
Jan Moringen (scymtym) on 2014-10-12
Changed in sbcl:
assignee: nobody → Jan Moringen (scymtym)
status: Triaged → Fix Committed
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers