vmware-archive / spring-cloud-dataflow-for-pcf-cli-plugin

A Cloud Foundry CLI plugin for Spring Cloud Dataflow for PCF
Apache License 2.0
1 stars 6 forks source link

Plugin fails attempting to create invalid path in Windows #14

Closed ghost closed 4 years ago

ghost commented 4 years ago

Setup:

Symptom: executing 'cf dataflow-shell service_name' results in this exception:

Attaching shell to dataflow service cloudplatform-dataflow in org oaisys-cloud / space development as mchuegeh@travelers.com...
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x18 pc=0x748957]

goroutine 1 [running]:
github.com/pivotal-cf/spring-cloud-dataflow-for-pcf-cli-plugin/download/cache.fileExists(0xc0001e01c0, 0xd1, 0xc0000f41e0)
        c:/temp/go/src/github.com/pivotal-cf/spring-cloud-dataflow-for-pcf-cli-plugin/download/cache/cache.go:188 +0xb7
github.com/pivotal-cf/spring-cloud-dataflow-for-pcf-cli-plugin/download/cache.(*fileCacheEntry).Retrieve(0xc0000f41e0, 0xc00013e0a0, 0x95, 0x8b0720, 0xc0000f41e0, 0xc000034a80, 0x1c06b0)
        c:/temp/go/src/github.com/pivotal-cf/spring-cloud-dataflow-for-pcf-cli-plugin/download/cache/cache.go:132 +0x43
github.com/pivotal-cf/spring-cloud-dataflow-for-pcf-cli-plugin/download.(*downloader).DownloadFile(0xc00007fa70, 0xc00013e0a0, 0x95, 0xc000134280, 0x40, 0x8b5820, 0xc000084800, 0x0, 0xc0000183c0, 0x59, ...)
        c:/temp/go/src/github.com/pivotal-cf/spring-cloud-dataflow-for-pcf-cli-plugin/download/download.go:152 +0x90
main.downloadAndRunShell(0x82782f, 0x8, 0xc00007fb70, 0xc00007fb50, 0x8adb80, 0xc000006018, 0x8b4960, 0xc00011a0e0)
        c:/temp/go/src/github.com/pivotal-cf/spring-cloud-dataflow-for-pcf-cli-plugin/plugin.go:141 +0x198
main.(*Plugin).Run.func3(0x8adb80, 0xc000006018, 0xc000014280, 0x4b, 0x8adb80, 0xc000006018)
        c:/temp/go/src/github.com/pivotal-cf/spring-cloud-dataflow-for-pcf-cli-plugin/plugin.go:87 +0x25a
github.com/pivotal-cf/spring-cloud-dataflow-for-pcf-cli-plugin/format.RunAction(0x8ba300, 0xc000037bb0, 0xc000014280, 0x4b, 0xc00007fd50, 0x8adb80, 0xc000006018, 0x845a30)
        c:/temp/go/src/github.com/pivotal-cf/spring-cloud-dataflow-for-pcf-cli-plugin/format/action.go:41 +0xae
main.runAction(0xc00007fd18, 0x8ba300, 0xc000037bb0, 0xc000014280, 0x4b, 0xc00007fd50)
        c:/temp/go/src/github.com/pivotal-cf/spring-cloud-dataflow-for-pcf-cli-plugin/plugin.go:225 +0x90
main.(*Plugin).Run(0xb57ee8, 0x8ba300, 0xc000037bb0, 0xc0000420a0, 0x2, 0x2)
        c:/temp/go/src/github.com/pivotal-cf/spring-cloud-dataflow-for-pcf-cli-plugin/plugin.go:75 +0x41f
github.com/pivotal-cf/spring-cloud-dataflow-for-pcf-cli-plugin/vendor/code.cloudfoundry.org/cli/plugin.Start(0x8b0760, 0xb57ee8)
        c:/temp/go/src/github.com/pivotal-cf/spring-cloud-dataflow-for-pcf-cli-plugin/vendor/code.cloudfoundry.org/cli/plugin/plugin_shim.go:34 +0x28b
main.main()
        c:/temp/go/src/github.com/pivotal-cf/spring-cloud-dataflow-for-pcf-cli-plugin/plugin.go:219 +0x5c

the 'CF_HOME\spring-cloud-dataflow-for-pcf\cache.cachedata' directory and file are created but the JAR file is not downloaded.

observation: the plugin appears to try to create an invalid path on the windows platform - it works on Linux but is not valid in Windows.

C:\Progra~1\CloudF~1\.cf\spring-cloud-dataflow-for-pcf\cache\https:\repo.spring.io\libs-release\org\springframework\cloud\spring-cloud-dataflow-shell\2.2.2.RELEASE\spring-cloud-dataflow-shell-2.2.2.RELEASE.jar

Notice the 'https:' directory name which is not valid on Windows platform.