google / triage-party

🎉 Triage Party: massively multi-player GitHub triage 🎉
Apache License 2.0
502 stars 80 forks source link

Consistent segmentation violation with pypa/pip and a minimal configuration #306

Open pradyunsg opened 4 months ago

pradyunsg commented 4 months ago

Description

When trying to use triage-party with https://github.com/pypa/pip, I'm consistently getting a SIGSEGV crash.

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x10563c624]

This seems to be looking up a null pointer.

How I'm reproducing this crash consistently

  1. Start a Postgres 16 server with an empty pradyunsg database (crashes happen with disk backend as well, but this is a quicker backend for me).

  2. Run:

    go run cmd/server/main.go --github-token-file=/tmp/random.out --config config/examples/pip.yaml --persist-backend=postgres --persist-path="dbname=pradyunsg sslmode=disable"
  3. Recieve a segmentation violation while processing pull requests.

  4. Run:

    go run cmd/server/main.go --github-token-file=/tmp/random.out --config config/examples/pip.yaml --persist-backend=postgres --persist-path="dbname=pradyunsg sslmode=disable"
  5. Recieve the (seemingly) same segmentation violation, while processing pull requests.

  6. Run the program again, this time under dlv debugger:

    ~/go/bin/dlv debug cmd/server/main.go -- --github-token-file=/tmp/random.out --config config/examples/pip.yaml --persist-backend=postgres --persist-path="dbname=pradyunsg sslmode=disable"
  7. Recieve the (seemingly) same segmentation violation, this time under the debugger.

Configuration at config/examples/pip.yaml ```yaml # Copyright 2020 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. --- settings: name: pip min_similarity: 0.8 repos: - https://github.com/pypa/pip collections: - id: home name: Home rules: - issue-needs-comment - needs-review rules: issue-needs-comment: name: "Unresponded, older than 3 days" type: issue filters: - tag: "!commented" - tag: "recv" - created: +3d needs-review: name: "Needs Review" type: pull_request filters: - title: "!.*(WIP|wip).*" - tag: "!draft" - tag: "(new-commits|unreviewed)" ```

Additional details

Caveat: I'm not very familar with Go or this codebase, so it's very likely that the details available here are insufficient for complete diagnosis. 😅

Some exploratory looking around at the state of the program via dlv ```txt (dlv) bt 0 0x0000000104c33e90 in runtime.fatalpanic at /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/panic.go:1217 1 0x0000000104c3302c in runtime.gopanic at /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/panic.go:779 2 0x0000000104c32358 in runtime.panicmem at /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/panic.go:261 3 0x0000000104c4b1c0 in runtime.sigpanic at /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/signal_unix.go:881 4 0x000000010563c624 in github.com/google/triage-party/pkg/hubbub.(*Engine).createConversation at ./pkg/hubbub/item.go:164 5 0x00000140000be050 in ??? at ?:-1 6 0x0000000105647aa8 in github.com/google/triage-party/pkg/hubbub.(*Engine).PRSummary at ./pkg/hubbub/pull_requests.go:312 7 0x00000140000e88c0 in ??? at ?:-1 8 0x0000000105633188 in github.com/google/triage-party/pkg/hubbub.(*Engine).analyzePRWorker at ./pkg/hubbub/analyze.go:196 9 0x00000140000dc173 in ??? at ?:-1 10 0x0000000105633094 in github.com/google/triage-party/pkg/hubbub.(*Engine).analyzePRMatches.gowrap1 at ./pkg/hubbub/analyze.go:172 11 0x00000140000dc173 in ??? at ?:-1 error: protocol error E08 during memory read for packet $m8,8 (truncated) (dlv) frame (dlv) where (dlv) goroutines Goroutine 1 - User: /opt/homebrew/Cellar/go/1.22.2/libexec/src/net/fd_unix.go:172 net.(*netFD).accept (0x104e74fe8) [IO wait 34930633023625] Goroutine 2 - User: /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/proc.go:403 runtime.gopark (0x104c364f0) [finalizer wait 34930633023625] Goroutine 3 - User: /Users/pradyunsg/go/pkg/mod/k8s.io/klog/v2@v2.0.0/klog.go:1107 k8s.io/klog/v2.(*loggingT).flushDaemon (0x105259c14) [chan receive 34935064438708] Goroutine 4 - User: /Users/pradyunsg/go/pkg/mod/go.opencensus.io@v0.24.0/stats/view/worker.go:292 go.opencensus.io/stats/view.(*worker).start (0x105500bf4) [select 34930633023625] Goroutine 5 - User: /opt/homebrew/Cellar/go/1.22.2/libexec/src/database/sql/sql.go:1246 database/sql.(*DB).connectionOpener (0x10527cd9c) [select 34930633023625] Goroutine 10 - User: /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/proc.go:403 runtime.gopark (0x104c364f0) [debug call 34931333357416] Goroutine 11 - User: /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/proc.go:403 runtime.gopark (0x104c364f0) [debug call 34936873407333] Goroutine 12 - User: /Users/pradyunsg/go/pkg/mod/github.com/imjasonmiller/godice@v0.1.2/godice.go:33 github.com/imjasonmiller/godice.bigramsForWords (0x105630484) (thread 948877) Goroutine 18 - User: /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/proc.go:403 runtime.gopark (0x104c364f0) [force gc (idle) 34930633023625] Goroutine 19 - User: /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/proc.go:403 runtime.gopark (0x104c364f0) [GC sweep wait 34936873407333] Goroutine 20 - User: /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/proc.go:403 runtime.gopark (0x104c364f0) [GC scavenge wait] Goroutine 21 - User: /Users/pradyunsg/go/pkg/mod/github.com/patrickmn/go-cache@v2.1.0+incompatible/cache.go:1079 github.com/patrickmn/go-cache.(*janitor).Run (0x1055de224) [select 34930633023625] Goroutine 22 - User: ./pkg/hubbub/analyze.go:182 github.com/google/triage-party/pkg/hubbub.(*Engine).analyzePRMatches (0x105632d28) [chan receive] Goroutine 25 - User: /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/proc.go:403 runtime.gopark (0x104c364f0) [debug call 34935064438708] Goroutine 26 - User: /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/mgcwork.go:154 runtime.(*gcWork).putFast (0x104c22a70) (thread 949073) [unknown wait reason 27 34936873407333] Goroutine 27 - User: /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/mheap.go:733 runtime.pageIndexOf (0x104c23b8c) (thread 948834) [unknown wait reason 27 34936873407333] Goroutine 28 - User: /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/proc.go:403 runtime.gopark (0x104c364f0) [debug call 34935955626958] Goroutine 35 - User: /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/mgcmark.go:1650 runtime.greyobject (0x104c1bfb0) (thread 948875) [unknown wait reason 27] Goroutine 36 - User: /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/proc.go:403 runtime.gopark (0x104c364f0) [debug call 34936873407333] Goroutine 3710 - User: /Users/pradyunsg/go/pkg/mod/github.com/imjasonmiller/godice@v0.1.2/godice.go:34 github.com/imjasonmiller/godice.bigramsForWords (0x1056304f8) (thread 948874) Goroutine 3711 - User: /opt/homebrew/Cellar/go/1.22.2/libexec/src/database/sql/ctxutil.go:48 database/sql.ctxDriverQuery (0x105276d28) (thread 948832) Goroutine 3712 - User: /opt/homebrew/Cellar/go/1.22.2/libexec/src/net/fd_posix.go:55 net.(*netFD).Read (0x104e729e4) [IO wait] Goroutine 3713 - User: /opt/homebrew/Cellar/go/1.22.2/libexec/src/encoding/gob/decode.go:1155 encoding/gob.(*Decoder).compileDec (0x1055151e4) (thread 948878) Goroutine 3778 - User: /opt/homebrew/Cellar/go/1.22.2/libexec/src/encoding/gob/decode.go:1012 encoding/gob.(*Decoder).compatibleType (0x105513adc) Goroutine 3779 - User: /opt/homebrew/Cellar/go/1.22.2/libexec/src/net/fd_posix.go:55 net.(*netFD).Read (0x104e729e4) [IO wait] * Goroutine 3780 - User: ./pkg/hubbub/item.go:164 github.com/google/triage-party/pkg/hubbub.(*Engine).createConversation (0x10563c624) (thread 948779) [26 goroutines] (dlv) threads * Thread 948779 at 0x104c33e90 /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/panic.go:1217 runtime.fatalpanic Thread 948831 at :0 Thread 948832 at 0x105276d28 /opt/homebrew/Cellar/go/1.22.2/libexec/src/database/sql/ctxutil.go:48 database/sql.ctxDriverQuery Thread 948833 at :0 Thread 948834 at 0x104c23b8c /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/mheap.go:733 runtime.pageIndexOf Thread 948835 at :0 Thread 948874 at 0x104c0cf6c /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/map_fast64.go:399 runtime.evacuate_fast64 Thread 948875 at 0x104c1bfb0 /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/mgcmark.go:1650 runtime.greyobject Thread 948876 at :0 Thread 948877 at 0x104c0f460 /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/mbitmap.go:321 runtime.findObject Thread 948878 at 0x1055151e4 /opt/homebrew/Cellar/go/1.22.2/libexec/src/encoding/gob/decode.go:1155 encoding/gob.(*Decoder).compileDec Thread 949073 at 0x104c22a70 /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/mgcwork.go:154 runtime.(*gcWork).putFast Thread 949380 at :0 (dlv) locals (no locals) (dlv) up > [unrecovered-panic] runtime.fatalpanic() /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/panic.go:1217 (hits goroutine(3780):1 total:1) (PC: 0x104c33e90) Warning: debugging optimized function Frame 1: /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/panic.go:779 (PC: 104c3302c) 774: // Because it is unsafe to call arbitrary user code after freezing 775: // the world, we call preprintpanics to invoke all necessary Error 776: // and String methods to prepare the panic strings before startpanic. 777: preprintpanics(&p) 778: => 779: fatalpanic(&p) // should not return 780: *(*int)(nil) = 0 // not reached 781: } 782: 783: // start initializes a panic to start unwinding the stack. 784: // (dlv) up > [unrecovered-panic] runtime.fatalpanic() /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/panic.go:1217 (hits goroutine(3780):1 total:1) (PC: 0x104c33e90) Warning: debugging optimized function Frame 2: /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/panic.go:261 (PC: 104c32358) 256: 257: var memoryError = error(errorString("invalid memory address or nil pointer dereference")) 258: 259: func panicmem() { 260: panicCheck2("invalid memory address or nil pointer dereference") => 261: panic(memoryError) 262: } 263: 264: func panicmemAddr(addr uintptr) { 265: panicCheck2("invalid memory address or nil pointer dereference") 266: panic(errorAddressString{msg: "invalid memory address or nil pointer dereference", addr: addr}) (dlv) up > [unrecovered-panic] runtime.fatalpanic() /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/panic.go:1217 (hits goroutine(3780):1 total:1) (PC: 0x104c33e90) Warning: debugging optimized function Frame 3: /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/signal_unix.go:881 (PC: 104c4b1c0) 876: } 877: print("unexpected fault address ", hex(gp.sigcode1), "\n") 878: throw("fault") 879: case _SIGSEGV: 880: if (gp.sigcode0 == 0 || gp.sigcode0 == _SEGV_MAPERR || gp.sigcode0 == _SEGV_ACCERR) && gp.sigcode1 < 0x1000 { => 881: panicmem() 882: } 883: // Support runtime/debug.SetPanicOnFault. 884: if gp.paniconfault { 885: panicmemAddr(gp.sigcode1) 886: } (dlv) up > [unrecovered-panic] runtime.fatalpanic() /opt/homebrew/Cellar/go/1.22.2/libexec/src/runtime/panic.go:1217 (hits goroutine(3780):1 total:1) (PC: 0x104c33e90) Warning: debugging optimized function Frame 4: ./pkg/hubbub/item.go:164 (PC: 10563c624) 159: lastQuestion = c.Created 160: } 161: } 162: } 163: => 164: if !seenCommenters[*c.User.Login] { 165: co.Commenters = append(co.Commenters, c.User) 166: seenCommenters[*c.User.Login] = true 167: } 168: } 169: (dlv) locals authorIsMember = true co = ("*github.com/google/triage-party/pkg/hubbub.Conversation")(0x1400b01e268) urlParts = []string len: 0, cap: 1374669619312, [] lastQuestion = time.Time(0001-01-01T00:01:36Z){wall: 1374570131584, ext: 96, loc: *time.Location nil} seenCommenters = map[string]bool [...] seenClosedCommenters = map[string]bool [...] seenMemberComment = true c = ("*github.com/google/triage-party/pkg/provider.Comment")(0x104c1c4fc) r = ("*github.com/google/triage-party/pkg/provider.Reactions")(0x1400b01e488) (dlv) *c (dlv) p *c github.com/google/triage-party/pkg/provider.Comment { User: *github.com/google/triage-party/pkg/provider.User { Login: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), ID: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), NodeID: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), AvatarURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), HTMLURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), GravatarID: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Name: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Company: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Blog: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Location: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Email: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Hireable: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Bio: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), PublicRepos: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), PublicGists: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Followers: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Following: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), CreatedAt: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), UpdatedAt: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), SuspendedAt: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Type: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), SiteAdmin: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), TotalPrivateRepos: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), OwnedPrivateRepos: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), PrivateGists: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), DiskUsage: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Collaborators: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), TwoFactorAuthentication: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), LdapDn: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), URL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), EventsURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), FollowingURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), FollowersURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), GistsURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), OrganizationsURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), ReceivedEventsURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), ReposURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), StarredURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), SubscriptionsURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Permissions: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...),}, Created: time.Time(1908-06-03T01:19:11Z, +6052841760110936127){ wall: 10016850013157589027, ext: 6052841760110936127, loc: *(*time.Location)(0x8a02008438616864),}, Updated: time.Time(2062-01-15T12:35:26Z, -8070282190115569309){ wall: 15222198091810668641, ext: -8070282190115569309, loc: *(*time.Location)(0x3600008339625b63),}, Body: (unreadable could not read string at 0xaa02006338e23023 due to protocol error E08 during memory read for packet $maa02006338e23023,4...), AuthorAssoc: (unreadable invalid length: -486358515837829189), Reactions: *github.com/google/triage-party/pkg/provider.Reactions { TotalCount: (unreadable protocol error E08 during memory read for packet $m9400a6f6f9406820,4...), PlusOne: (unreadable protocol error E08 during memory read for packet $m9400a6f6f9406820,4...), MinusOne: (unreadable protocol error E08 during memory read for packet $m9400a6f6f9406820,4...), Laugh: (unreadable protocol error E08 during memory read for packet $m9400a6f6f9406820,4...), Confused: (unreadable protocol error E08 during memory read for packet $m9400a6f6f9406820,4...), Heart: (unreadable protocol error E08 during memory read for packet $m9400a6f6f9406820,4...), Hooray: (unreadable protocol error E08 during memory read for packet $m9400a6f6f9406820,4...), URL: (unreadable protocol error E08 during memory read for packet $m9400a6f6f9406820,4...),}, ReviewID: -483793907054804965,} (dlv) p *c.User.Login (dlv) p *c.User github.com/google/triage-party/pkg/provider.User { Login: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), ID: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), NodeID: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), AvatarURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), HTMLURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), GravatarID: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Name: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Company: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Blog: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Location: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Email: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Hireable: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Bio: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), PublicRepos: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), PublicGists: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Followers: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Following: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), CreatedAt: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), UpdatedAt: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), SuspendedAt: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Type: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), SiteAdmin: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), TotalPrivateRepos: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), OwnedPrivateRepos: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), PrivateGists: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), DiskUsage: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Collaborators: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), TwoFactorAuthentication: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), LdapDn: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), URL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), EventsURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), FollowingURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), FollowersURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), GistsURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), OrganizationsURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), ReceivedEventsURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), ReposURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), StarredURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), SubscriptionsURL: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...), Permissions: (unreadable protocol error E08 during memory read for packet $md28080033980001b,1...),} (dlv) whatis *c.User github.com/google/triage-party/pkg/provider.User (dlv) whatis *c.User.Login (dlv) regs PC = 0x000000010563c624 SP = 0x000001400b01e090 X29 = 0x000001400b01e098 X30 = 0x000000010563c624 (dlv) args h = ("*github.com/google/triage-party/pkg/hubbub.Engine")(0x1400b01eea8) i = (unreadable could not resolve interface type) cs = []*github.com/google/triage-party/pkg/provider.Comment len: 1374552362240, cap: 1374504147712, [...] age = time.Time(0001-01-01T00:00:32Z){wall: 24, ext: 32, loc: (*time.Location)(0x35dd0060)} ~r0 = ("*github.com/google/triage-party/pkg/hubbub.Conversation")(0x1) (dlv) transcript -off ```

I also have a 4.43 GB core dump/memory dump of the program at the crash, generated with dump <file> in dlv -- I expect that is not going to be particularly easy to transfer (although, it'll have basically everything someone might need to understand the crash, hopefully). If one of the maintainers has interest in me sharing that, I can look into ways to share that (I've revoked the relevant GitHub token used for that execution, so it should be safe to share).

I'm also happy to respond to "do X to give me more information" style requests, in case that would be useful in trying to diagnose this issue. :)

pradyunsg commented 4 months ago

It looks like https://github.com/pypa/pip/pull/12388#discussion_r1399906995 is the problematic comment for createConversation.