Skip to content
This repository has been archived by the owner on Feb 26, 2019. It is now read-only.

Infinite loop in vendor experiment in v43 #382

Closed
cknowles opened this issue Dec 23, 2015 · 9 comments
Closed

Infinite loop in vendor experiment in v43 #382

cknowles opened this issue Dec 23, 2015 · 9 comments

Comments

@cknowles
Copy link

I have a basic project not yet using godep with source inside my $GOPATH, when I run godep save -r on it the expected result happens but if I set revert all of those changes and then run export GO15VENDOREXPERIMENT=1 and godep save -d it never completes. I get this as part of the debug output:

resolving vendor posibilities: /Users/cknowles/Projects/go/src/github.com/xxx/yyyy /Users/cknowles/Projects/go/
Adding search dir: /Users/cknowles/Projects/go/src/github.com/xxx/yyyy/vendor/encoding/json
Adding search dir: /Users/cknowles/Projects/go/src/github.com/xxx/vendor/encoding/json
Adding search dir: /Users/cknowles/Projects/go/src/github.com/vendor/encoding/json
Adding search dir: /Users/cknowles/Projects/go/src/vendor/encoding/json
Adding search dir: /Users/cknowles/Projects/go/vendor/encoding/json
Adding search dir: /Users/cknowles/Projects/vendor/encoding/json
Adding search dir: /Users/cknowles/vendor/encoding/json
Adding search dir: /Users/vendor/encoding/json
Adding search dir: /vendor/encoding/json
Adding search dir: /vendor/encoding/json
Adding search dir: /vendor/encoding/json
Adding search dir: /vendor/encoding/json
Adding search dir: /vendor/encoding/json
Adding search dir: /vendor/encoding/json
Adding search dir: /vendor/encoding/json
Adding search dir: /vendor/encoding/json

[repeat the above line seemingly forever]

For some reason it gets stuck on the json encoding. The debug output of the packages looks ok. Go version is 1.5

@freeformz
Copy link

Can I get the entirety of the debug output as well as the output of 'go env'?

Sent from my iPhone

On Dec 23, 2015, at 00:37, Chris Knowles notifications@github.com wrote:

I have a basic project not yet using godep with source inside my $GOPATH, when I run godep save -r on it the expected result happens but if I set revert all of those changes and then run export GO15VENDOREXPERIMENT=1 and godep save -d it never completes. I get this as part of the debug output:

resolving vendor posibilities: /Users/cknowles/Projects/go/src/github.com/xxx/yyyy /Users/cknowles/Projects/go/
Adding search dir: /Users/cknowles/Projects/go/src/github.com/xxx/yyyy/vendor/encoding/json
Adding search dir: /Users/cknowles/Projects/go/src/github.com/xxx/vendor/encoding/json
Adding search dir: /Users/cknowles/Projects/go/src/github.com/vendor/encoding/json
Adding search dir: /Users/cknowles/Projects/go/src/vendor/encoding/json
Adding search dir: /Users/cknowles/Projects/go/vendor/encoding/json
Adding search dir: /Users/cknowles/Projects/vendor/encoding/json
Adding search dir: /Users/cknowles/vendor/encoding/json
Adding search dir: /Users/vendor/encoding/json
Adding search dir: /vendor/encoding/json
Adding search dir: /vendor/encoding/json
Adding search dir: /vendor/encoding/json
Adding search dir: /vendor/encoding/json
Adding search dir: /vendor/encoding/json
Adding search dir: /vendor/encoding/json
Adding search dir: /vendor/encoding/json
Adding search dir: /vendor/encoding/json

[repeat the above line seemingly forever]
For some reason it gets stuck on the json encoding. The debug output of the packages looks ok. Go version is 1.5


Reply to this email directly or view it on GitHub.

@freeformz
Copy link

Nevermind, realized that your package root has a trailing slash, so this should be fixed in v44. Please let me know!

@cknowles
Copy link
Author

Seems to be working now, thanks! Any way to add a test for it?

@freeformz
Copy link

@c-knowles I could test the underlying function probably, but I'm not really sure how these paths are being generated in the first place, hence the initial ask for the entire debug output.

@DamienFontaine
Copy link

Same problem with Godep v55 and Golang 1.6.

versionString() godep v55 (windows/amd64/go1.6)
majorGoVersion go1.6
VendorExperiment true
sep /vendor/
dotPackageImportPath: github.com/DamienFontaine/lunarc
dotPackageDir: C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc
LoadPackages [.]
listPackage .
findDirForPath . <nil>
Filling package: github.com/DamienFontaine/lunarc from C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc
C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc\handlers.go
C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc\handlers_test.go
C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc\lunarc_test.go
C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc\server.go
C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc\server_test.go
Looking For Package: . in C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc
&build.Package{
    Dir:            "C:\\Users\\dfontaine\\go\\src\\github.com\\DamienFontaine\\lunarc",
    Name:           "",
    ImportComment:  "",
    Doc:            "",
    ImportPath:     "github.com/DamienFontaine/lunarc",
    Root:           "C:\\Users\\dfontaine\\Go",
    SrcRoot:        "C:\\Users\\dfontaine\\Go\\src",
    PkgRoot:        "C:\\Users\\dfontaine\\Go\\pkg",
    PkgTargetRoot:  "",
    BinDir:         "C:\\Users\\dfontaine\\Go\\bin",
    Goroot:         false,
    PkgObj:         "",
    AllTags:        nil,
    ConflictDir:    "",
    GoFiles:        {"handlers.go", "server.go"},
    CgoFiles:       nil,
    IgnoredGoFiles: nil,
    InvalidGoFiles: nil,
    CFiles:         nil,
    CXXFiles:       nil,
    MFiles:         nil,
    HFiles:         nil,
    SFiles:         nil,
    SwigFiles:      nil,
    SwigCXXFiles:   nil,
    SysoFiles:      nil,
    CgoCFLAGS:      nil,
    CgoCPPFLAGS:    nil,
    CgoCXXFLAGS:    nil,
    CgoLDFLAGS:     nil,
    CgoPkgConfig:   nil,
    Imports:        {"crypto/tls", "errors", "fmt", "github.com/DamienFontaine/lunarc/config", "github.com/dgrijalva/jwt-go", "log", "net", "net/http", "os", "syscall"},
    ImportPos:      {},
    TestGoFiles:    {"handlers_test.go", "lunarc_test.go", "server_test.go"},
    TestImports:    {"crypto/tls", "github.com/DamienFontaine/lunarc/config", "github.com/dgrijalva/jwt-go", "golang.org/x/net/http2", "log", "net", "net/http", "net/http/httptest", "os", "strings", "testing", "time"},
    TestImportPos:  {},
    XTestGoFiles:   nil,
    XTestImports:   nil,
    XTestImportPos: {},
}
Adding pc: C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc crypto/tls
Adding pc: C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc errors
Adding pc: C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc fmt
Adding pc: C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc github.com/DamienFontaine/lunarc/config
Adding pc: C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc github.com/dgrijalva/jwt-go
Adding pc: C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc log
Adding pc: C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc net
Adding pc: C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc net/http
Adding pc: C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc os
Adding pc: C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc syscall
Processing import crypto/tls for C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc
findDirForPath crypto/tls &{C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc    github.com/DamienFontaine/lunarc C:\Users\dfontaine\Go C:\Users\dfontaine\Go\src C:\Users\dfontaine\Go\pkg  C:\Users\dfontaine\Go\bin false  []  [handlers.go server.go] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [crypto/tls errors fmt github.com/DamienFontaine/lunarc/config github.com/dgrijalva/jwt-go log net net/http os syscall] map[] [handlers_test.go lunarc_test.go server_test.go] [crypto/tls github.com/DamienFontaine/lunarc/config github.com/dgrijalva/jwt-go golang.org/x/net/http2 log net net/http net/http/httptest os strings testing time] map[] [] [] map[]}
resolving vendor posibilities: C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc C:\Users\dfontaine\Go
Adding search dir: C:\Users\dfontaine\go\src\github.com\DamienFontaine\lunarc\vendor\crypto\tls
Adding search dir: C:\Users\dfontaine\go\src\github.com\DamienFontaine\vendor\crypto\tls
Adding search dir: C:\Users\dfontaine\go\src\github.com\vendor\crypto\tls
Adding search dir: C:\Users\dfontaine\go\src\vendor\crypto\tls
Adding search dir: C:\Users\dfontaine\go\vendor\crypto\tls
Adding search dir: C:\Users\dfontaine\vendor\crypto\tls
Adding search dir: C:\Users\vendor\crypto\tls
Adding search dir: C:\vendor\crypto\tls
Adding search dir: C:\vendor\crypto\tls
Adding search dir: C:\vendor\crypto\tls
Adding search dir: C:\vendor\crypto\tls
Adding search dir: C:\vendor\crypto\tls
Adding search dir: C:\vendor\crypto\tls
Adding search dir: C:\vendor\crypto\tls
Adding search dir: C:\vendor\crypto\tls
Adding search dir: C:\vendor\crypto\tls
Adding search dir: C:\vendor\crypto\tls
Adding search dir: C:\vendor\crypto\tls
Adding search dir: C:\vendor\crypto\tls
Adding search dir: C:\vendor\crypto\tls
Adding search dir: C:\vendor\crypto\tls
Adding search dir: C:\vendor\crypto\tls
Adding search dir: C:\vendor\crypto\tls
Adding search dir: C:\vendor\crypto\tls
Adding search dir: C:\vendor\crypto\tls

@freeformz
Copy link

Sorry about that. I'll have to spin up a windows machine to test with.

@freeformz
Copy link

@DamienFontaine So this looks like a case insensitive issue (which was different, but similar to the original issue). Can you test with a godep built from this branch: https://github.com/tools/godep/tree/pathEqual and confirm if things are fixed or not?

@DamienFontaine
Copy link

@freeformz It works, thanks !

@freeformz
Copy link

@DamienFontaine Great. Merged and released as v56.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants