sharjeelyunus/github-issues-dataset huggingface dataset:
Repository: rust
Issue: Higher-ranked trait bounds on associated types are not elaborated
Labels: C-enhancement,A-trait-system,A-associated-items,T-types,A-higher-ranked

This code works:

```rust
trait Boring {}

trait Usage
where
    Self::Thing: Boring,
{
    type Thing;
}

fn value_example<T: Usage>(t: T::Thing) {
    use_the_trait(t);
}

fn use_the_trait<T: Boring>(_: T) {}

fn main() {}
```

While this code fails:

```rust
trait Boring {}

trait Usage
where
    for<'a> &'a Self::Thing: Boring,
{
    type Thing;
}

fn ref_example<T: Usage>(t: T::Thing) {
    use_the_trait(&t);
}

fn use_the_trait<T: Boring>(_: T) {}

fn main() {}
```

```
error[E0277]: the trait bound `for<'a> &'a <T as Usage>::Thing: Boring` is not satisfied
  --> src/main.rs:10:1
   |
10 | / fn ref_example<T: Usage>(t: T::Thing) {
11 | |     use_the_trait(&t);
12 | | }
   | |_^ the trait `for<'a> Boring` is not implemented for `&'a <T as Usage>::Thing`
   |
note: required by `Usage`
  --> src/main.rs:3:1
   |
3  | / trait Usage
4  | | where
5  | |     for<'a> &'a Self::Thing: Boring,
6  | | {
7  | |     type Thing;
8  | | }
   | |_^
```

This is probably related to #20671, but seems slightly different from the examples posited there. Specifically, the "standard" case (the first example) does work.

Also highly relevant: #44656 and #32722.

Tested with Rust 1.25.0 and 1.27.0-nightly (2018-04-29 79252ff4e25d82f9fe85)
Repository: go
Issue: spec: document cycle restrictions for alias type declarations
Labels: Documentation,NeedsFix

Per the original type-alias design doc from @rsc, it must be possible to "expand out" type alias declarations; this wouldn't be possible for `type T = *T` without expanding endlessly.

The spec doesn't say anything in this regard; and is generally vague or silent on the subject of cycles.
Repository: flutter
Issue: A cold-start "flutter test" takes multiple seconds
Labels: a: tests,tool,dependency: dart,P2,team-tool,triaged-tool

Running "flutter test" used to be pretty fast (a few hundred milliseconds until the test runs — not great, but workable). Now though it takes entire seconds to start up the test. This makes iterating on a test an unbearably slow process.

cc @mraleph @aam @a-siva @tvolkert
Repository: go
Issue: cmd/compile: elide useless type assertion
Labels: Performance,compiler/runtime

Consider the following:
```go
type CustomUnmarshaler interface {
	CustomUnmarshal([]byte) error
}

type MyMessage struct{}

func (m *MyMessage) Unmarshal(b []byte) error {
	if u, ok := (interface{})(m).(CustomUnmarshaler); ok {
		return u.CustomUnmarshal(b)
	}
	return nil
}
```

In this situation, the compiler knows that the `MyMessage` type has no `CustomUnmarshal` method, so the type assertion cannot possibly succeed. In this case, the condition of the if statement can be statically determined and the body be considered dead code.

However, a tip build of the compiler continues to emit code for the assertion.
```
0x0021 00033 (/tmp/main.go:10)	LEAQ	type."".CustomUnmarshaler(SB), AX
0x0028 00040 (/tmp/main.go:10)	MOVQ	AX, (SP)
0x002c 00044 (/tmp/main.go:10)	LEAQ	type.*"".Foo(SB), AX
0x0033 00051 (/tmp/main.go:10)	MOVQ	AX, 8(SP)
0x0038 00056 (/tmp/main.go:9)	MOVQ	"".f+64(SP), AX
0x003d 00061 (/tmp/main.go:10)	MOVQ	AX, 16(SP)
0x0042 00066 (/tmp/main.go:10)	PCDATA	$0, $1
0x0042 00066 (/tmp/main.go:10)	CALL	runtime.assertE2I2(SB)
0x0047 00071 (/tmp/main.go:10)	MOVQ	24(SP), AX
0x004c 00076 (/tmp/main.go:10)	MOVQ	32(SP), CX
0x0051 00081 (/tmp/main.go:10)	LEAQ	40(SP), DX
0x0056 00086 (/tmp/main.go:10)	CMPB	(DX), $0
0x0059 00089 (/tmp/main.go:10)	JEQ	161
0x005b 00091 (/tmp/main.go:11)	MOVQ	24(AX), AX
0x005f 00095 (/tmp/main.go:11)	MOVQ	"".b+72(SP), DX
0x0064 00100 (/tmp/main.go:11)	MOVQ	DX, 8(SP)
0x0069 00105 (/tmp/main.go:11)	MOVQ	"".b+80(SP), DX
0x006e 00110 (/tmp/main.go:11)	MOVQ	DX, 16(SP)
0x0073 00115 (/tmp/main.go:11)	MOVQ	"".b+88(SP), DX
0x0078 00120 (/tmp/main.go:11)	MOVQ	DX, 24(SP)
0x007d 00125 (/tmp/main.go:11)	MOVQ	CX, (SP)
0x0081 00129 (/tmp/main.go:11)	PCDATA	$0, $2
0x0081 00129 (/tmp/main.go:11)	CALL	AX
0x0083 00131 (/tmp/main.go:11)	MOVQ	32(SP), AX
0x0088 00136 (/tmp/main.go:11)	MOVQ	40(SP), CX
0x008d 00141 (/tmp/main.go:11)	MOVQ	AX, "".~r1+96(SP)
0x0092 00146 (/tmp/main.go:11)	MOVQ	CX, "".~r1+104(SP)
0x0097 00151 (/tmp/main.go:11)	MOVQ	48(SP), BP
0x009c 00156 (/tmp/main.go:11)	ADDQ	$56, SP
0x00a0 00160 (/tmp/main.go:11)	RET
```
Repository: TypeScript
Issue: In JS, export assignments should bind as types, not just values
Labels: Bug,checkJs,Domain: JavaScript

Currently, there is special code in the checker to look up values as type in order to support the value-only way that the binder exports things that come from an export assignment, even things that in Typescript export types, such as classes.

The binder should instead treat JS export assignments as types if the initialiser (such as a class or constructor function) or later assignments (such as prototype assignments) warrant it. That means the checker code will be more uniform and easier to understand.

**Code**

```js
function F() {
}
F.prototype.method = function() {
}
exports.F = F
```

Allows `F` to be used as a type:

```js
var x = require('./module')
/** @type {x.F} */
```

But this doesn't work in pure typespace:

```js
/** @typedef {import('./module').F} F */
/** @type {F} */
var f;
```

Note that binding this way will enable tricks that aren't possible in Typescript today:

```js
module.exports. C = class {
}
module.exports.C.D = class {
}
```

Now `var m = require('./module')` makes both `m.C` and `m.C.D` available as types.
Repository: flutter
Issue: Android things: All shared object libraries(*.so) in the APK should be uncompressed
Labels: platform-android,tool,P2,team-android,triaged-android

i am using flutter with Android things on a rpi3.

everything works and i am testing a basic hello world.

when i upload to the android things console to embed my app i get:
"All shared object libraries(*.so) in the APK should be uncompressed"

Any tips ?
Repository: pytorch
Issue: how can i use openMP for caffe2? why caffe2 not work in multi-threads mode?
Labels: caffe2

i had compile caffe2 with set openMP ON and use openblas, it compile correctly .
but  problem is how to use it?
1)
i set openBLAS_NUM_THREADS=1 and OMP_NUM_THREADS=4
then run command: python convnet_benchmarks.py --batch_size=16 iteration 1 --cpu  --mode AlexNet
i can see only one core is run, and the result is Milliseconds per iter:8499

i change the OMP_NUM_THREADS value to 1,2,3,4
but only core is running, the result is same

2) 
i set openBLAS_NUM_THREADS=4 and OMP_NUM_THREADS=1
then run python convnet_benchmarks.py --batch_size=16 iteration 1 --cpu  --mode AlexNet
i can see 4  core is running, and the result is Milliseconds per iter:3835
but it is openBLAS work in multi-threads mode

why caffe2 not work in multi-threads mode?
Repository: go
Issue: cmd/compile: BCE/Prove do not take arithmetic into account
Labels: NeedsInvestigation,compiler/runtime

This is follow-up to https://github.com/golang/go/issues/19714 where prove/BCE were taught to take transitivity into account, but originally-motivating example where indices are constructed as arithmetic expressions remains with bounds checks not eliminated:

```go
package hex 

func Encode(dst, src []byte) {
        if len(dst) < len(src) * 2 { 
              panic("dst overflow")
        }

        for i, _ := range src {
                dst[i*2] = 0         // XXX BC not eliminated
                dst[i*2+1] = 0       // XXX BC not eliminated
        }   
}
```

```
$ gotip version
go version devel +030ac2c719 Tue May 1 05:02:43 2018 +0000 linux/amd64
```

```
$ gotip tool compile -S 3.go |go2asm
```

```asm
TEXT ·Encode(SB), $24-48 // 3.go:3
        // MOVQ    (TLS), CX (stack growth prologue)
        // CMPQ    SP, 16(CX)
        // JLS     158
        // SUBQ    $24, SP
        // MOVQ    BP, 16(SP) (BP save)
        // LEAQ    16(SP), BP (BP init)
        // FUNCDATA $0, gclocals·7578f313ff9d15b1ec5bd5c7e7ab3d8c(SB) (args)
        FUNCDATA   $1, gclocals·69c1753bd5f81501d95132d08af04464(SB) (locals)
        MOVQ       src+32(FP), AX       // 3.go:4
        MOVQ       AX, CX
        SHLQ       $1, AX
        MOVQ       dst+8(FP), DX
        CMPQ       DX, AX
        JLT        pc128
        MOVQ       dst+0(FP), AX
        XORL       BX, BX
        JMP        pc72                 // 3.go:8
pc63:
        MOVB       $0, 1(BX)(AX*1)      // 3.go:10
        LEAQ       1(SI), BX            // 3.go:8
pc72:
        CMPQ       BX, CX
        JGE        pc104
        MOVQ       BX, SI
        SHLQ       $1, BX               // 3.go:9
        CMPQ       BX, DX
        JCC        pc121                                // <-- NOTE
        MOVB       $0, (AX)(BX*1)
        LEAQ       1(SI)(SI*1), DI      // 3.go:10
        CMPQ       DI, DX
        JCS        pc63
        JMP        pc114                                // <-- NOTE
pc114:
        // PCDATA  $0, $1 (stack growth)
        // CALL    runtime.panicindex(SB)               // <-- NOTE
        // UNDEF
pc121:
        // PCDATA  $0, $1               // 3.go:9
        // CALL    runtime.panicindex(SB)               // <-- NOTE
        // UNDEF
pc128:
        // LEAQ    type.string(SB), AX  // 3.go:5
        // MOVQ    AX, (SP)
        // LEAQ    ·statictmp_0(SB), AX
        // MOVQ    AX, 8(SP)
        // PCDATA  $0, $1
        // CALL    runtime.gopanic(SB)
        // UNDEF
        // NOP
        // PCDATA  $0, $-1              // 3.go:3
        // CALL    runtime.morestack_noctxt(SB)
        // JMP     0
```

/cc @rasky, @josharian
Repository: flutter
Issue: Example application in Flutter Plugin project does not include Gradle sub-projects
Labels: tool,t: gradle,P2,team-tool,triaged-tool

## Steps to Reproduce

1. Create a new Flutter Plugin project.
2. Add a new Gradle project under the `android/` folder called `foo`.
3. Add some Java code to `foo`.
3. Make the `android/` project depend on the `foo` sub-project (add a dependency like `implementation project(':foo')`).
4. Use Java code from `foo` in the `android/` project's code.

The Android project should build correctly. However, the `example` app will not build, failing with this error:

```
Launching lib/main.dart on Android SDK built for x86 in debug mode...
Initializing gradle...
Resolving dependencies...
Finished with error: Please review your Gradle project setup in the android/ folder.
* Error running Gradle:
Exit code 1 from: /Users/renato/AndroidStudioProjects/flutter_plugin/example/android/gradlew app:properties:

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/renato/AndroidStudioProjects/flutter_plugin/android/build.gradle' line: 37

* What went wrong:
A problem occurred evaluating project ':flutter_plugin'.
> Project with path ':foo' could not be found in project ':flutter_plugin'.
```

The problem is that the `android/` project is "included" in the `example/android` project with a incomplete hack. In `example/android/settings.gradle`, the `android/` project is included using this code:

```groovy

plugins.each { name, path ->
    def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
    include ":$name"
    project(":$name").projectDir = pluginDirectory
}
```

This fails to take into account that the `android/` folder may contain sub-projects, hence breaking the Gradle build expectations.

The code above should take into account Gradle semantics. I suppose the best way to solve this would be to change completely how this is being done and let Gradle do the work. For example, if the `example/android` project was part of the same build as the `android/` project, then `example/android/` could just depend on `android/`, similar to how `android/` depends on the artifacts generated by `foo/` in the example given above.

Alternatively, you would have to parse the `settings.gradle` files recursively to be able to know which projects should be included in the example app, which seem unreliable and error-prone.

## Logs

N/A

## Flutter Doctor

N/A
Repository: go
Issue: net/http/httptrace: internal nettrace leaks into other net.Dial calls
Labels: NeedsInvestigation

### What version of Go are you using (`go version`)?
go version go1.10.2 linux/amd64

### Does this issue reproduce with the latest release?
Yep

### What did you do?
Run the following program
```
package main

import (
	"context"
	"fmt"
	"net"
	"net/http"
	"net/http/httptrace"
)

func main() {
	dialFunc := func(ctx context.Context, network string, addr string) (net.Conn, error) {
		// This would be where there's a net.Dial to an external lookup service
		// but just pretend that this actually matters for the purposes of this bug
		// report
		n, err := (&net.Dialer{}).DialContext(ctx, "tcp", "www.golang.org:80")
		if err != nil {
			panic(err)
		}
		n.Close()
		// assume that 1.1.1.1 is an IP returned from the lookup service
		// This IP was purely chosen because it's an IP that I know runs a
		// HTTP server
		return (&net.Dialer{}).DialContext(ctx, network, "1.1.1.1:80")
	}

	transport := &http.Transport{
		DialContext: dialFunc,
	}
	req, err := http.NewRequest("GET", "http://example.org/", nil)
	if err != nil {
		panic(err)
	}
	ct := &httptrace.ClientTrace{
		DNSStart: func(info httptrace.DNSStartInfo) {
			fmt.Println("DNSStart:", info.Host)
		},
	}
	ctx := httptrace.WithClientTrace(context.Background(), ct)
	req = req.WithContext(ctx)
	resp, err := transport.RoundTrip(req)
	if err != nil {
		panic(err)
	}
	resp.Body.Close()
}
```

### What did you expect to see?
Nothing printed on stdout

### What did you see instead?
`DNSStart: www.golang.org` printed on stdout

Additionally, ConnectStart and ConnectDone gets called twice, once for the resolution service and once for the actual HTTP connection. This also gets really annoying once your resolution service might be using HTTP itself, resulting in even more confusion.

Normally, I'd stash away the ClientTrace while the resolution function runs and call the DNSStart and DNSDone functions independently, but there is no way to remove a ClientTrace once it's been put into the context.

I'm fairly confident I can come up with a workaround for this, but this sort of interaction is unexpected and could cause confusion if you were using a library for ClientTraces that weren't expecting overridden Dial functions.
Repository: electron
Issue: Make single instance the default
Labels: enhancement :sparkles:,discussion,semver/major

Running multiple instances of Electron is generally a bad idea and [not really supported](https://github.com/electron/electron/issues/4727) with the default configuration. Some renderer features don't work in this scenario ([localStorage](https://github.com/electron/electron/issues/2493), [IndexedDb](https://github.com/electron/electron/issues/10792), persisted sessions?) and this is not documented and so I'm guessing not tested for regressions either. 

This would be a significant breaking change but in the spirit of guiding developers in the right direction it might be worth it.

Related to @MarshallOfSound's [New event for `makeSingleInstance`](https://github.com/electron/electron/issues/12752).
Repository: pytorch
Issue: [Caffe2 warpctc] How to use the offered warpctc?
Labels: caffe2

caffe2 offers warpctc in caffe2/contrib/warpctc. But how can I use it as a caffe2 op? When I run `ctc_ops_test.py`, the error happens, `Ignoring @/caffe2/caffe2/contrib/warpctc:ctc_ops as it is not a valid file.`. Is there anyone can help me? Thanks!
Repository: kubernetes
Issue: kubelet: CRI: return structured errors from CRI calls
Labels: area/kubelet,sig/node,kind/feature,lifecycle/frozen

Currently, the CRI does not return any structured errors such that the kubelet code can, for example, distinguish between a "Runtime not available" error or a "Container not found" error.

See https://github.com/kubernetes/kubernetes/pull/63334 for an example.

The kubelet has many paths where a "Container not found" error is no big deal and the error could be treated harmlessly and not logged.  But since these methods do not return structured errors, there is no reliable way to tell them apart.

Discussed in sig-node 5/1/18.

@smarterclayton @derekwaynecarr @dchen1107 @vishh @dashpole
Repository: rust
Issue: Confusing error when forgetting to include system crates in Cargo.toml
Labels: C-enhancement,A-diagnostics,T-compiler


Using a crate like `rand` without adding it to dependencies produces a long message: 
`error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via 'Cargo.toml' instead? (see issue #27812)`
etc.

This is pretty incomprehensible for a Rust beginner, compared to the normal error when failing to add a dependency:
```
error[E0463]: can't find crate for `nom`
 --> src/main.rs:1:1
  |
1 | extern crate nom;
  | ^^^^^^^^^^^^^^^^^ can't find crate
```

## Meta

`rustc --version --verbose`:
```
% rustc --version --verbose
rustc 1.27.0-nightly (79252ff4e 2018-04-29)
binary: rustc
commit-hash: 79252ff4e25d82f9fe856cb66f127b79cdace163
commit-date: 2018-04-29
host: x86_64-apple-darwin
release: 1.27.0-nightly
LLVM version: 6.0
```
Repository: flutter
Issue: Attach widget creation source in build/paint profile timeline events
Labels: framework,a: debugging,c: proposal,P2,team-framework,triaged-framework

Would be nice in places like https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/widgets/framework.dart#L3627 and https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/rendering/object.dart#L122 to also point out where the widget was created. 

cc @jacob314 I think we chatted about this but I forgot where.
Repository: puppeteer
Issue: extensions: Ability to click browser action buttons
Labels: feature,upstream,chromium

We are relying on puppeteer to automate testing of our extension. I can automate most things except I cannot click the button that our extension adds to the browser's toolbar.

Could there be an API to interact with browser action buttons?

Something to the tune of
```js
let actionButtons = await browser.actionButtons();
await actionButtons[0].click();
```
would be great.

This will allow us to fully automate testing of our extension workflow. Thanks!
Repository: neovim
Issue: option 'splitvertical' to split vertically by default
Labels: enhancement,has:vim-patch,has:workaround,has:plan

There's an old patch for Vim that adds an option, 'splitvertical' which opens splits vertically rather than horizontally by default:
[vim-mq-patches/vertsplit](https://github.com/chrisbra/vim-mq-patches/blob/master/verstplit) 
It's a nice option to have since most monitors are wider than tall. Could this be added as a feature? Or will something like this be exposed to plugins in the future.
Repository: go
Issue: x/crypto/ssh: test cipher implementations against known good input/output data
Labels: Testing,help wanted

If I apply the following patch to the cipher.go file the tests still pass. It would be nice to catch this kind of error so we can refactor this code and have some confidence we haven't broken it.

```diff
diff --git a/ssh/cipher.go b/ssh/cipher.go
index 67b0126..d99ffc7 100644
--- a/ssh/cipher.go
+++ b/ssh/cipher.go
@@ -16,7 +16,7 @@ import (
        "hash"
        "io"
        "io/ioutil"
-       "math/bits"
+       _ "math/bits"
 
        "golang.org/x/crypto/internal/chacha20"
        "golang.org/x/crypto/poly1305"
@@ -666,7 +666,7 @@ func newChaCha20Cipher(key, unusedIV, unusedMACKey []byte, unusedAlgs directionA
 }
 
 func (c *chacha20Poly1305Cipher) readPacket(seqNum uint32, r io.Reader) ([]byte, error) {
-       nonce := [3]uint32{0, 0, bits.ReverseBytes32(seqNum)}
+       nonce := [3]uint32{1, 2, 3}
        s := chacha20.New(c.contentKey, nonce)
        var polyKey [32]byte
        s.XORKeyStream(polyKey[:], polyKey[:])
@@ -724,7 +724,7 @@ func (c *chacha20Poly1305Cipher) readPacket(seqNum uint32, r io.Reader) ([]byte,
 }
 
 func (c *chacha20Poly1305Cipher) writePacket(seqNum uint32, w io.Writer, rand io.Reader, payload []byte) error {
-       nonce := [3]uint32{0, 0, bits.ReverseBytes32(seqNum)}
+       nonce := [3]uint32{1, 2, 3}
        s := chacha20.New(c.contentKey, nonce)
        var polyKey [32]byte
        s.XORKeyStream(polyKey[:], polyKey[:])
```
Repository: go
Issue: runtime: can not read stacktrace from a core file
Labels: NeedsInvestigation,Debugging,compiler/runtime

Please answer these questions before submitting your issue. Thanks!


### What version of Go are you using (`go version`)?

This problem was introduced by b1d1ec9 (CL 110065) and is still present at tip.

### Does this issue reproduce with the latest release?

No.

### What operating system and processor architecture are you using (`go env`)?

```
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/a/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/a/n/go/"
GORACE=""
GOROOT="/usr/local/go-tip"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go-tip/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build495464568=/tmp/go-build -gno-record-gcc-switches"
```

### What did you do?

Given:

```
package main

import "runtime/debug"

func main() {
	debug.SetTraceback("crash")
	crash()
}

func crash() {
	panic("panic!")
}
```

Running it under gdb will produce this stacktrace:

```
(gdb) bt
#0  0x000000000044fff4 in runtime.raise () at <autogenerated>:1
#1  0x0000000000438c2b in runtime.dieFromSignal (sig=6) at /usr/local/go-tip/src/runtime/signal_unix.go:424
#2  0x0000000000438dea in runtime.crash () at /usr/local/go-tip/src/runtime/signal_unix.go:526
#3  0x0000000000426487 in runtime.fatalpanic (msgs=<optimized out>) at /usr/local/go-tip/src/runtime/panic.go:696
#4  0x0000000000425e6b in runtime.gopanic (e=...) at /usr/local/go-tip/src/runtime/panic.go:502
#5  0x0000000000470ac9 in main.crash () at /home/a/temp/simple.go:11
#6  0x0000000000470a7b in main.main () at /home/a/temp/simple.go:7
```

however letting it produce a core file then reading the core file with gdb produces this:

```
$ gdb ./simple simple-core
...
(gdb) bt
#0  0x000000000044fff4 in runtime.raise () at <autogenerated>:1
#1  0x0000000000438c2b in runtime.dieFromSignal (sig=6) at /usr/local/go-tip/src/runtime/signal_unix.go:424
#2  0x00000000004390a8 in runtime.sigfwdgo (ctx=0xc000009ac0, info=0xc000009bf0, sig=6, ~r3=<optimized out>) at /usr/local/go-tip/src/runtime/signal_unix.go:637
#3  0x0000000000438488 in runtime.sigtrampgo (ctx=0xc000009ac0, info=0xc000009bf0, sig=<optimized out>) at /usr/local/go-tip/src/runtime/signal_unix.go:289
#4  0x00000000004502e3 in runtime.sigtramp () at <autogenerated>:1
#5  0x00000000004503d0 in ?? () at <autogenerated>:1
#6  0x0000000000000001 in ?? ()
#7  0x0000000000000000 in ?? ()
```

I'm not sure what's happening here. Is the signal handler running and overwriting part of the stack?