Skip to content

Deadlock when using invalid local prefix path #13

Open
@nick-jones

Description

I noticed whilst testing changes over the weekend that a deadlock can occur if a local prefix is supplied that doesn't match any import (unsure what the exact reason is at this stage). This occurs on v0.0.1 so it's not linked to any recent changes. I'm happy to take a look at some point, just raising for visibility at the moment.

$ /Users/nicholas/Dev/impi/cmd/impi/impi --local github.com/invalid/prefix --scheme stdThirdPartyLocal --ignore-generated=true ./...
fatal error: all goroutines are asleep - deadlock!

goroutine 1 [chan send]:
github.com/pavius/impi.(*Impi).addFilePathToFilePathsChan(0xc00004a3c0, 0xc0004106c0, 0x25)
	/Users/nicholas/Dev/impi/impi.go:254 +0x1df
github.com/pavius/impi.(*Impi).populatePathsChan(0xc00004a3c0, 0x7ffeefbffa8d, 0x5, 0x0, 0x135a008)
	/Users/nicholas/Dev/impi/impi.go:144 +0x29b
github.com/pavius/impi.(*Impi).Verify(0xc00004a3c0, 0x7ffeefbffa8d, 0x5, 0xc00004a400, 0x11d1020, 0x1306c10, 0x15, 0xc0000403e0)
	/Users/nicholas/Dev/impi/impi.go:105 +0x162
main.run(0x17, 0xc000097f58)
	/Users/nicholas/Dev/impi/cmd/impi/main.go:70 +0x405
main.main()
	/Users/nicholas/Dev/impi/cmd/impi/main.go:92 +0x41

goroutine 4 [chan send]:
github.com/pavius/impi.(*Impi).verifyPathsFromChan(0xc00004a3c0, 0x118a660, 0x60)
	/Users/nicholas/Dev/impi/impi.go:215 +0x18b
created by github.com/pavius/impi.(*Impi).createWorkers
	/Users/nicholas/Dev/impi/impi.go:184 +0x48

goroutine 5 [chan send]:
github.com/pavius/impi.(*Impi).verifyPathsFromChan(0xc00004a3c0, 0x118a660, 0x60)
	/Users/nicholas/Dev/impi/impi.go:215 +0x18b
created by github.com/pavius/impi.(*Impi).createWorkers
	/Users/nicholas/Dev/impi/impi.go:184 +0x48

goroutine 6 [chan send]:
github.com/pavius/impi.(*Impi).verifyPathsFromChan(0xc00004a3c0, 0x118a660, 0x60)
	/Users/nicholas/Dev/impi/impi.go:215 +0x18b
created by github.com/pavius/impi.(*Impi).createWorkers
	/Users/nicholas/Dev/impi/impi.go:184 +0x48

goroutine 7 [chan send]:
github.com/pavius/impi.(*Impi).verifyPathsFromChan(0xc00004a3c0, 0x118a660, 0x60)
	/Users/nicholas/Dev/impi/impi.go:215 +0x18b
created by github.com/pavius/impi.(*Impi).createWorkers
	/Users/nicholas/Dev/impi/impi.go:184 +0x48

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