[issue29096] Signal Handlers reliably cause UnboundLocalErrors

2016-12-28 Thread Joe Jevnik
Joe Jevnik added the comment: The issue appears to be in ceval.c:unicode_concatenate (or the py2 equivalent) The code sets the local variable on the lhs to NULL before doing a potentially inplace append to the string. This means that if a signal is raised during the concat, we never hit the ST

[issue29096] Signal Handlers reliably cause UnboundLocalErrors

2016-12-28 Thread Ted Meyer
Ted Meyer added the comment: Sorry everyone, it appears I made a mistake pasting the code in here. There was a type where I was trying to print local_val instead of local_var. the code should be this: import signal def sig_hdlr(signum, frame): raise ValueError() def faulty(): local_va

[issue29096] Signal Handlers reliably cause UnboundLocalErrors

2016-12-28 Thread Ted Meyer
Changes by Ted Meyer : -- type: -> crash ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.o

[issue29096] Signal Handlers reliably cause UnboundLocalErrors

2016-12-28 Thread Ted Meyer
New submission from Ted Meyer: Using this simple snippit of code: import signal import signal def sig_hdlr(signum, frame): raise ValueError() def faulty(): local_var = "" signal.signal(signal.SIGALRM, sig_hdlr) signal.alarm(1) try: while True: local_va