PR# 13839 Missing critical section in `exget' in except.c

Problem Report Summary
Submitter: prestoat2000
Category: Runtime
Priority: Medium
Date: 2008/01/02
Class: Bug
Severity: Serious
Number: 13839
Release: 6.2.71689
Confidential: No
Status: Open
Responsible: ted_eiffel
Environment: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.8.1.9) Gecko/20071111 Firefox/2.0.0.9 Solaris 10 on x86
Synopsis: Missing critical section in `exget' in except.c

Description
Based on code inspection only, it looks like there is a missing critical
section in `exget' in except.c.  The routine in garcol.c from which this
routine appears to be copied and adapted is `epush' and it does block
signals if (stk->st_end == top).  Another solution would be to guarantee
that all callers of `exget' already have signals blocked, which is not
currently the case:  `exfail' calls `make_exception' which calls `build_trace'
which calls `exget' (all without signals blocked, as far as I can tell).
To Reproduce

										
Problem Report Interactions