Skip to content

Terminating CLI sometimes creates infinite termination loop #69

Open
@stackotter

Description

@stackotter

Ctrl+C'ing Swift Bundler can cause it to enter an infinite loop (at multiple different points during execution). The process's memory usage then starts growing rather rapidly. I believe it's caused by an unhandled within Swift Bundler's signal handlers, which then causes the signal handler to get called again.

When I attached lldb, the stack was 6670 frames deep.

libc++abi: terminating due to uncaught exception of type NSException
libc++abi: terminate_handler unexpectedly threw an exception
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSConcreteTask terminate]: task not launched'
*** First throw call stack:
(
	0   CoreFoundation                      0x000000019a1bcec0 __exceptionPreprocess + 176
	1   libobjc.A.dylib                     0x0000000199ca2cd8 objc_exception_throw + 88
	2   Foundation                          0x000000019b382454 _signalRunningTask + 232
	3   swift-bundler                       0x00000001011ba120 $sSo6NSTaskC12SwiftBundlerE29killAllRunningProcessesOnExityyFZyycfU_ + 244
	4   swift-bundler                       0x00000001011ba138 $sSo6NSTaskC12SwiftBundlerE29killAllRunningProcessesOnExityyFZyycfU_To + 12
	5   libsystem_platform.dylib            0x000000019a098184 _sigtramp + 56
	6   libsystem_pthread.dylib             0x000000019a062f70 pthread_kill + 288
	7   libsystem_c.dylib                   0x0000000199f6f908 abort + 128
	8   libc++abi.dylib                     0x000000019a01944c _ZN10__cxxabiv130__aligned_malloc_with_fallbackEm + 0
	9   libc++abi.dylib                     0x000000019a018730 _ZSt11__terminatePFvvE + 48
	10  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	11  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	12  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	13  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	14  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	15  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	16  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	17  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	18  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	19  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	20  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	21  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	22  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	23  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	24  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	25  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	26  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	27  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	28  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	29  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	30  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	31  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	32  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	33  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	34  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	35  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	36  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	37  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	38  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	39  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	40  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	41  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	42  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	43  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	44  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	45  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	46  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	47  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	48  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	49  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	50  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	51  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	52  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	53  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	54  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	55  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	56  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	57  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	58  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	59  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	60  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	61  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	62  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	63  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	64  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	65  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	66  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	67  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	68  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	69  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	70  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	71  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	72  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	73  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	74  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	75  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	76  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	77  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	78  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	79  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	80  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	81  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	82  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	83  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	84  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	85  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	86  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	87  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	88  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	89  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	90  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	91  libc++abi.dylib                     0x000000019a018738 _ZSt15get_new_handlerv + 0
	92  libc++abi.dylib                     0x000000019a0186b4 _ZSt9terminatev + 108
	93  libc++abi.dylib                     0x000000019a01

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions