Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build dependency download URL contains invalid control character #28890

Closed
AwaitFuture opened this issue Jan 28, 2024 · 1 comment · Fixed by #28900
Closed

build dependency download URL contains invalid control character #28890

AwaitFuture opened this issue Jan 28, 2024 · 1 comment · Fixed by #28900
Labels

Comments

@AwaitFuture
Copy link

System information

OS: Windows 10
Geth version: Master branch
Go version: go1.21.6 windows/amd64
commit hash: 2e947b7

Expected behaviour

make test should download all dependencies and build without issue.

Actual behaviour

>>> "C:\\Program Files\\Go\\bin\\go" build -ldflags "-X github.com/ethereum/go-ethereum/internal/version.gitCommit=2e947b7a0041f087ce4945303f3dd267b6296a14 -X github.com/ethereum/go-ethereum/internal/version.gitDate=20240127" -tags urfave_cli_no_docs,ckzg -trimpath -v -o F:\geth\go-ethereum\build\bin\rlpdump.exe ./cmd/rlpdump
github.com/ethereum/go-ethereum/cmd/rlpdump
go run build/ci.go test
build\cache\fixtures_develop.tar.gz is stale
/fixtures_develop.tar.gz/github.com/ethereum/execution-spec-tests/releases/download/v1.0.6
ci.go:349: download error: parse "https://github.com/ethereum/execution-spec-tests/releases/download/v1.0.6\r/fixtures_develop.tar.gz": net/url: invalid control character in URL
exit status 1
make: *** [Makefile:20: test] Error 1

Steps to reproduce the behaviour

make clean
make test

Solution

changing ci.go line 346 to:

url := fmt.Sprintf("https://github.com/ethereum/execution-spec-tests/releases/download/v%s/%s%s", strings.TrimSpace(executionSpecTestsVersion), base, ext)

was enough to solve the problem; should probably trim all version strings to avoid strange whitespace issues in the future.

@holiman
Copy link
Contributor

holiman commented Jan 30, 2024

Thanks,
Yes, this is the culprit

// MustLoadChecksums loads a file containing checksums.
func MustLoadChecksums(file string) *ChecksumDB {
	content, err := os.ReadFile(file)
	if err != nil {
		log.Fatal("can't load checksum file: " + err.Error())
	}
	return &ChecksumDB{strings.Split(string(content), "\n")}
}

(along with git's ability to reformat files from linux-encoding to windows-encoding)

fix is to use strings.Split(strings.ReplaceAll(string(content), "\r\n", "\n"), "\n")

holiman added a commit to holiman/go-ethereum that referenced this issue Jan 31, 2024
lukanus pushed a commit to blocknative/go-ethereum that referenced this issue Feb 19, 2024
* params: begin v.1.13.12 release cycle

* internal/flags: fix typo (ethereum#28876)

* core/types: fix and test handling of faulty nil-returning signer (ethereum#28879)

This adds an error if the signer returns a nil value for one of the signature value fields.

* README.md: fix travis badge (ethereum#28889)

The hyperlink in the README file that directs to the Travis CI build was broken.
This commit updates the link to point to the corrent build page.

* eth/catalyst: allow payload attributes v1 in fcu v2 (ethereum#28882)

At some point, `ForkchoiceUpdatedV2` stopped working for `PayloadAttributesV1` while `paris` was active. This was causing a few failures in hive. This PR fixes that, and also adds a gate in `ForkchoiceUpdatedV1` to disallow `PayloadAttributesV3`.

* docs/postmortems: fix outdated link (ethereum#28893)

* core: reset tx lookup cache if necessary (ethereum#28865)

This pull request resets the txlookup cache if chain reorg happens, 
preventing them from remaining reachable. It addresses failures in
the hive tests.

* build: fix problem with windows line-endings in CI download (ethereum#28900)

fixes ethereum#28890

* eth/downloader: fix skeleton cleanup (ethereum#28581)

* eth/downloader: fix skeleton cleanup

* eth/downloader: short circuit if nothing to delete

* eth/downloader: polish the logic in cleanup

* eth/downloader: address comments

* deps: update memsize (ethereum#28916)

* core/txpool/blobpool: post-crash cleanup and addition/removal metrics (ethereum#28914)

* core/txpool/blobpool: clean up resurrected junk after a crash

* core/txpool/blobpool: track transaction insertions and rejections

* core/txpool/blobpool: linnnnnnnt

* core/txpool: don't inject lazy resolved transactions into the container (ethereum#28917)

* core/txpool: don't inject lazy resolved transactions into the container

* core/txpool: minor typo fixes

* core/types: fix typo (ethereum#28922)

* p2p: fix accidental termination of portMappingLoop (ethereum#28911)

* internal/flags: fix --miner.gasprice default listing (ethereum#28932)

* all: fix typos in comments (ethereum#28881)

* Makefile: add help target to display available targets (ethereum#28845)


Co-authored-by: Martin HS <[email protected]>
Co-authored-by: Felix Lange <[email protected]>

* core: cache transaction indexing tail in memory (ethereum#28908)

* eth, miner: fix enforcing the minimum miner tip (ethereum#28933)

* eth, miner: fix enforcing the minimum miner tip

* ethclient/simulated: fix failing test due the min tip change

* accounts/abi/bind: fix simulater gas tip issue

* core/state, core/vm: minor uint256 related perf improvements (ethereum#28944)

* cmd,internal/era: implement `export-history` subcommand (ethereum#26621)

* all: implement era format, add history importer/export

* internal/era/e2store: refactor e2store to provide ReadAt interface

* internal/era/e2store: export HeaderSize

* internal/era: refactor era to use ReadAt interface

* internal/era: elevate anonymous func to named

* cmd/utils: don't store entire era file in-memory during import / export

* internal/era: better abstraction between era and e2store

* cmd/era: properly close era files

* cmd/era: don't let defers stack

* cmd/geth: add description for import-history

* cmd/utils: better bytes buffer

* internal/era: error if accumulator has more records than max allowed

* internal/era: better doc comment

* internal/era/e2store: rm superfluous reader, rm superfluous testcases, add fuzzer

* internal/era: avoid some repetition

* internal/era: simplify clauses

* internal/era: unexport things

* internal/era,cmd/utils,cmd/era: change to iterator interface for reading era entries

* cmd/utils: better defer handling in history test

* internal/era,cmd: add number method to era iterator to get the current block number

* internal/era/e2store: avoid double allocation during write

* internal/era,cmd/utils: fix lint issues

* internal/era: add ReaderAt func so entry value can be read lazily

Co-authored-by: lightclient <[email protected]>
Co-authored-by: Martin Holst Swende <[email protected]>

* internal/era: improve iterator interface

* internal/era: fix rlp decode of header and correctly read total difficulty

* cmd/era: fix rebase errors

* cmd/era: clearer comments

* cmd,internal: fix comment typos

---------

Co-authored-by: Martin Holst Swende <[email protected]>

* core,params: add holesky to default genesis function (ethereum#28903)

* node, rpc: add configurable HTTP request limit (ethereum#28948)

Adds a configurable HTTP request limit, and bumps the engine default

* all: fix docstring names (ethereum#28923)

* fix wrong comment

* reviewers input

* Update log/handler_glog.go

---------

Co-authored-by: Martin HS <[email protected]>

* ethclient/simulated: fix typo (ethereum#28952)

(ethclient/simulated):fix typo

* eth/gasprice: fix percentile validation in eth_feeHistory (ethereum#28954)

* cmd/devp2p, eth: drop support for eth/67 (ethereum#28956)

* params, core/forkid: add mainnet timestamp for Cancun (ethereum#28958)

* params: add cancun timestamp for mainnet

* core/forkid: add test for mainnet cancun forkid

* core/forkid: update todo tests for cancun

* internal/ethapi: add support for blobs in eth_fillTransaction (ethereum#28839)

This change adds support for blob-transaction in certain API-endpoints, e.g. eth_fillTransaction. A follow-up PR will add support for signing such transactions.

* internal/era: update block index format to be based on record offset (ethereum#28959)

As mentioned in ethereum#26621, the block index format for era1 is not in line with the regular era block index. This change modifies the index so all relative offsets are based against the beginning of the block index record.

* params: go-ethereum v1.13.12 stable

---------

Co-authored-by: Martin Holst Swende <[email protected]>
Co-authored-by: alex <[email protected]>
Co-authored-by: protolambda <[email protected]>
Co-authored-by: KeienWang <[email protected]>
Co-authored-by: lightclient <[email protected]>
Co-authored-by: rjl493456442 <[email protected]>
Co-authored-by: Péter Szilágyi <[email protected]>
Co-authored-by: zoereco <[email protected]>
Co-authored-by: Chris Ziogas <[email protected]>
Co-authored-by: Dimitris Apostolou <[email protected]>
Co-authored-by: Halimao <[email protected]>
Co-authored-by: Felix Lange <[email protected]>
Co-authored-by: lmittmann <[email protected]>
Co-authored-by: Sina Mahmoodi <[email protected]>
Co-authored-by: Austin Roberts <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants