Closed
Description
Environment
Rubens-MBP:arduino-cli ruben$ uname -a
Darwin Rubens-MBP.home 20.3.0 Darwin Kernel Version 20.3.0: Thu Jan 21 00:07:06 PST 2021; root:xnu-7195.81.3~1/RELEASE_X86_64 x86_64
Rubens-MBP:arduino ruben$ arduino-cli version
arduino-cli alpha Version: 0.15.1 Commit: c7403ed2 Date: 2021-02-04T10:11:39Z
Description
Hi devs, I tried to install the PacketSerial
library which failed
Rubens-MBP:arduino ruben$ arduino-cli lib install PacketSerial
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x44be30c]
goroutine 1 [running]:
go.bug.st/relaxed-semver.(*Version).CompareTo(0xc000f2a630, 0x0, 0xc00171f5e9)
/go/pkg/mod/go.bug.st/relaxed-semver@v0.0.0-20190922224835-391e10178d18/version.go:115 +0x3c
go.bug.st/relaxed-semver.(*Version).GreaterThan(...)
/go/pkg/mod/go.bug.st/relaxed-semver@v0.0.0-20190922224835-391e10178d18/version.go:202
github.com/arduino/arduino-cli/arduino/libraries/librariesindex.(*Index).FindLibraryUpdate(0xc0001c2000, 0xc000581500, 0x0)
/home/build/arduino/libraries/librariesindex/index.go:139 +0x88
github.com/arduino/arduino-cli/commands/lib.listLibraries(0xc00032c040, 0x4de0000, 0xc0014431d0, 0xc0037285a0, 0x0)
/home/build/commands/lib/list.go:130 +0xe8
github.com/arduino/arduino-cli/commands/lib.LibraryResolveDependencies(0x4df1cc0, 0xc000038088, 0xc0014431d0, 0x1, 0xc0001c2dc8, 0x1)
/home/build/commands/lib/resolve_deps.go:39 +0x145
github.com/arduino/arduino-cli/cli/lib.runInstallCommand(0xc001713340, 0xc0016bdaf0, 0x1, 0x1)
/home/build/cli/lib/install.go:131 +0xed1
github.com/spf13/cobra.(*Command).execute(0xc001713340, 0xc0016bdad0, 0x1, 0x1, 0xc001713340, 0xc0016bdad0)
/go/pkg/mod/github.com/spf13/cobra@v1.0.1-0.20200710201246-675ae5f5a98c/command.go:846 +0x29d
github.com/spf13/cobra.(*Command).ExecuteC(0xc0000bf8c0, 0x0, 0xc001699b00, 0x0)
/go/pkg/mod/github.com/spf13/cobra@v1.0.1-0.20200710201246-675ae5f5a98c/command.go:950 +0x349
github.com/spf13/cobra.(*Command).Execute(...)
/go/pkg/mod/github.com/spf13/cobra@v1.0.1-0.20200710201246-675ae5f5a98c/command.go:887
main.main()
/home/build/main.go:31 +0x85
Analysis
This happens due to a missing nil check in FindLibraryUpdate
for the following library:
&libraries.Library{Name:"UIPEthernet", Author:"ntruchsess", Maintainer:"Norbert Truchsess <norbert.truchsess@t-online.de>", Sentence:"Ethernet library for ENC28J60", Paragraph:"implements the same API as stock Ethernet-lib. Just replace the include of Ethernet.h with UIPEthernet.h", Website:"https://github.com/ntruchsess/arduino_uip", Category:"Uncategorized", Architectures:[]string{"avr"}, Types:[]string(nil), InstallDir:(*paths.Path)(0xc001797ad0), SourceDir:(*paths.Path)(0xc001797ad0), UtilityDir:(*paths.Path)(0xc001663930), Location:3, ContainerPlatform:(*cores.PlatformRelease)(nil), Layout:0x0, RealName:"UIPEthernet", DotALinkage:false, Precompiled:false, PrecompiledWithSources:false, LDflags:"", IsLegacy:false, Version:(*semver.Version)(nil), License:"Unspecified", Properties:(*properties.Map)(0xc0019f0750), Examples:paths.PathList{(*paths.Path)(0xc001663c10), (*paths.Path)(0xc001663c30), (*paths.Path)(0xc001663c60), (*paths.Path)(0xc001663c80), (*paths.Path)(0xc001663ca0), (*paths.Path)(0xc001663cc0)}, declaredHeaders:[]string(nil), sourceHeaders:[]string(nil), CompatibleWith:map[string]bool(nil)}
Metadata
Metadata
Assignees
Labels
No labels