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

Runtime crash at go 1.3 #85

Closed
oldjus opened this issue Jun 23, 2014 · 3 comments
Closed

Runtime crash at go 1.3 #85

oldjus opened this issue Jun 23, 2014 · 3 comments

Comments

@oldjus
Copy link

oldjus commented Jun 23, 2014

Building with go version go1.3 darwin/amd64

gives the following runtime error:

Ihors-MacBook-Air:tmp istar$ ethereum -mine
2014/06/23 15:54:22 UPnP failed write udp4: i/o timeout
2014/06/23 15:54:22 [CHAIN] Last known block height #0
2014/06/23 15:54:22 Last block: 114fffb06203466bbc6351bac2f0c1948ce49c0a9d5ba032155c45318fc7ff85
2014/06/23 15:54:22 Starting Ethereum v0.5.14
2014/06/23 15:54:22 Ready and accepting connections
2014/06/23 15:54:22 [SERV] Retrieving seed nodes
2014/06/23 15:54:25 Miner started
2014/06/23 15:54:25 (+) 701d5d37df323b6602dfc1b0a5e5595e3118ea24
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x88 pc=0x409126e]

goroutine 31 [running]:
runtime.panic(0x45be0a0, 0x4a49c04)
/usr/local/Cellar/go/1.3/libexec/src/pkg/runtime/panic.c:279 +0xf5
github.com/ethereum/eth-go/ethchain.(_Block).CalcGasLimit(0xc2080a3c20, 0x0, 0x14)
/Users/istar/go/src/github.com/ethereum/eth-go/ethchain/block.go:162 +0xae
github.com/ethereum/eth-go/ethminer.(_Miner).mineNewBlock(0xc20804a5a0)
/Users/istar/go/src/github.com/ethereum/eth-go/ethminer/miner.go:144 +0x267
github.com/ethereum/eth-go/ethminer.(_Miner).listener(0xc20804a5a0)
/Users/istar/go/src/github.com/ethereum/eth-go/ethminer/miner.go:117 +0xa2e
created by github.com/ethereum/eth-go/ethminer.(_Miner).Start
/Users/istar/go/src/github.com/ethereum/eth-go/ethminer/miner.go:60 +0x2f

goroutine 16 [syscall]:
net._C2func_getaddrinfo(0x63007d0, 0x0, 0xc2080e89f0, 0xc20803e190, 0x4017dcc, 0x4a6af10, 0x4c1de00)
net/_obj/_cgo_defun.c:52 +0x36
net.cgoLookupIPCNAME(0x466eb70, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.3/libexec/src/pkg/net/cgo_unix.go:96 +0x1e1
net.cgoLookupIP(0x466eb70, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc208000b20)
/usr/local/Cellar/go/1.3/libexec/src/pkg/net/cgo_unix.go:148 +0x69
net.lookupIP(0x466eb70, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.3/libexec/src/pkg/net/lookup_unix.go:64 +0x66
net.func·024(0x0, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.3/libexec/src/pkg/net/lookup.go:41 +0x54
net.(_singleflight).Do(0x4a71600, 0x466eb70, 0xc, 0xc20807d768, 0x0, 0x0, 0x0, 0x0, 0x31)
/usr/local/Cellar/go/1.3/libexec/src/pkg/net/singleflight.go:45 +0x232
net.lookupIPMerge(0x466eb70, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.3/libexec/src/pkg/net/lookup.go:42 +0xae
net.LookupIP(0x466eb70, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.3/libexec/src/pkg/net/lookup.go:31 +0x63
github.com/ethereum/eth-go.(_Ethereum).Seed(0xc2080460b0)
/Users/istar/go/src/github.com/ethereum/eth-go/ethereum.go:369 +0xff
github.com/ethereum/eth-go.(*Ethereum).Start(0xc2080460b0, 0xc2084fe801)
/Users/istar/go/src/github.com/ethereum/eth-go/ethereum.go:361 +0x1c5
main.main()
/Users/istar/go/src/github.com/ethereum/go-ethereum/ethereum/ethereum.go:189 +0xb9f

goroutine 19 [finalizer wait]:
runtime.park(0x40258c0, 0x4a6fca8, 0x4a4cec9)
/usr/local/Cellar/go/1.3/libexec/src/pkg/runtime/proc.c:1369 +0x89
runtime.parkunlock(0x4a6fca8, 0x4a4cec9)
/usr/local/Cellar/go/1.3/libexec/src/pkg/runtime/proc.c:1385 +0x3b
runfinq()
/usr/local/Cellar/go/1.3/libexec/src/pkg/runtime/mgc0.c:2644 +0xcf
runtime.goexit()
/usr/local/Cellar/go/1.3/libexec/src/pkg/runtime/proc.c:1445

goroutine 17 [syscall]:
runtime.goexit()
/usr/local/Cellar/go/1.3/libexec/src/pkg/runtime/proc.c:1445

goroutine 20 [syscall]:
os/signal.loop()
/usr/local/Cellar/go/1.3/libexec/src/pkg/os/signal/signal_unix.go:21 +0x1e
created by os/signal.init·1
/usr/local/Cellar/go/1.3/libexec/src/pkg/os/signal/signal_unix.go:27 +0x32

goroutine 22 [select]:
github.com/syndtr/goleveldb/leveldb.(*DB).compactionError(0xc20806ad80)
/Users/istar/go/src/github.com/syndtr/goleveldb/leveldb/db_compaction.go:117 +0x202
created by github.com/syndtr/goleveldb/leveldb.openDB
/Users/istar/go/src/github.com/syndtr/goleveldb/leveldb/db.go:116 +0x46c

goroutine 23 [select]:
github.com/syndtr/goleveldb/leveldb.(*DB).compaction(0xc20806ad80)
/Users/istar/go/src/github.com/syndtr/goleveldb/leveldb/db_compaction.go:447 +0x77d
created by github.com/syndtr/goleveldb/leveldb.openDB
/Users/istar/go/src/github.com/syndtr/goleveldb/leveldb/db.go:119 +0x4ae

goroutine 24 [select]:
github.com/syndtr/goleveldb/leveldb.(*DB).writeJournal(0xc20806ad80)
/Users/istar/go/src/github.com/syndtr/goleveldb/leveldb/db_write.go:36 +0x14c
created by github.com/syndtr/goleveldb/leveldb.openDB
/Users/istar/go/src/github.com/syndtr/goleveldb/leveldb/db.go:120 +0x4c6

goroutine 26 [select]:
github.com/ethereum/eth-go/ethchain.(_TxPool).queueHandler(0xc2080045a0)
/Users/istar/go/src/github.com/ethereum/eth-go/ethchain/transaction_pool.go:204 +0x53b
created by github.com/ethereum/eth-go/ethchain.(_TxPool).Start
/Users/istar/go/src/github.com/ethereum/eth-go/ethchain/transaction_pool.go:277 +0x2f

goroutine 28 [chan receive]:
main.func·002()
/Users/istar/go/src/github.com/ethereum/go-ethereum/ethereum/ethereum.go:27 +0xf0
created by main.RegisterInterrupt
/Users/istar/go/src/github.com/ethereum/go-ethereum/ethereum/ethereum.go:30 +0x63

goroutine 29 [IO wait]:
net.runtime_pollWait(0x4c2a618, 0x72, 0x0)
/usr/local/Cellar/go/1.3/libexec/src/pkg/runtime/netpoll.goc:146 +0x66
net.(_pollDesc).Wait(0xc20805f5d0, 0x72, 0x0, 0x0)
/usr/local/Cellar/go/1.3/libexec/src/pkg/net/fd_poll_runtime.go:84 +0x46
net.(_pollDesc).WaitRead(0xc20805f5d0, 0x0, 0x0)
/usr/local/Cellar/go/1.3/libexec/src/pkg/net/fd_poll_runtime.go:89 +0x42
net.(_netFD).accept(0xc20805f570, 0x4845d48, 0x0, 0x4c27568, 0x23)
/usr/local/Cellar/go/1.3/libexec/src/pkg/net/fd_unix.go:409 +0x343
net.(_TCPListener).AcceptTCP(0xc20803e188, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.3/libexec/src/pkg/net/tcpsock_posix.go:234 +0x5d
net.(_TCPListener).Accept(0xc20803e188, 0x0, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.3/libexec/src/pkg/net/tcpsock_posix.go:244 +0x4b
github.com/ethereum/eth-go.(_Ethereum).peerHandler(0xc2080460b0, 0x4c2aa30, 0xc20803e188)
/Users/istar/go/src/github.com/ethereum/eth-go/ethereum.go:423 +0x30
created by github.com/ethereum/eth-go.(*Ethereum).Start
/Users/istar/go/src/github.com/ethereum/eth-go/ethereum.go:350 +0x2ce

goroutine 30 [chan receive]:
github.com/ethereum/eth-go.(_Ethereum).ReapDeadPeerHandler(0xc2080460b0)
/Users/istar/go/src/github.com/ethereum/eth-go/ethereum.go:332 +0x66
created by github.com/ethereum/eth-go.(_Ethereum).Start
/Users/istar/go/src/github.com/ethereum/eth-go/ethereum.go:358 +0x1a8

@obscuren
Copy link
Contributor

@maran When -mine flag is set when the genesis block hasn't been created (i.e., empty block chain), gas calculation raises a nil error.

solution: Mine after ethereum stack has been fully loaded.

@obscuren
Copy link
Contributor

Has this issue been fixed @maran @oldjus ?

@maran
Copy link
Member

maran commented Jul 24, 2014

I haven't fixed it yet I believe. Unless you did it I don't think this is fixed. Please assign to me if you haven't fixed it.

gsalgado pushed a commit to gsalgado/go-ethereum that referenced this issue Jul 13, 2017
prestonvanloon added a commit to prestonvanloon/go-ethereum that referenced this issue Apr 3, 2018
Refactoring sharding package for proposer/client separation
prestonvanloon added a commit to prestonvanloon/go-ethereum that referenced this issue Apr 3, 2018
Refactoring sharding package for proposer/client separation

align config with phase 1 spec

update SMC to use 1000eth as collator deposit size

fix deposit for collator_test

fixed config test and added more test cases
AusIV pushed a commit to NoteGio/go-ethereum that referenced this issue Feb 24, 2020
…pes-common-to-ctypes

<many>: rename package params/types/common -> ctypes
maoueh pushed a commit to streamingfast/go-ethereum that referenced this issue Aug 13, 2021
maoueh pushed a commit to streamingfast/go-ethereum that referenced this issue Aug 13, 2021
* Small fixes needed for kevin's branch

* Added some other fixes from kevin's branch
tony-ricciardi pushed a commit to tony-ricciardi/go-ethereum that referenced this issue Jan 20, 2022
* Add cloudbuild.yaml

* Add bootnode

* Fix typo

* Execute in parallel

* Add BRANCH_NAME

* Undo Branch name tag since branch names might not be valid docker tags
zhiqiangxu pushed a commit to zhiqiangxu/go-ethereum that referenced this issue Dec 5, 2022
joshuacolvin0 pushed a commit to joshuacolvin0/go-ethereum that referenced this issue Jan 4, 2023
JacekGlen pushed a commit to imapp-pl/go-ethereum that referenced this issue Jan 17, 2023
luanxu-mxc pushed a commit to MXCzkEVM/mxc-geth that referenced this issue Jun 6, 2023
* feat(types): update `CalcWithdrawalsRootTaiko`

* test: update tests

* test: update tests
protolambda pushed a commit to protolambda/go-ethereum that referenced this issue Jul 14, 2023
miner: Account for L1 Info Deposit gas usage in the pending pool
sbellem pushed a commit to sbellem/go-ethereum that referenced this issue Jul 25, 2023
* fix(tfhe.go): make `tfhe.go` thread safe
s1na pushed a commit to s1na/go-ethereum that referenced this issue Dec 2, 2024
* fix bug in isEpochSwitchAtRound, fix penalty test TestHookPenaltyV2Mining

* fix authorised test

* fix things

* revert a test
darioush pushed a commit to darioush/go-ethereum that referenced this issue Feb 5, 2025
## Why this should be merged

Consolidates duplicated logic. Similar rationale to ethereum#84.

## How this works

New `register.AtMostOnce[T]` type is responsible for limiting calls to
`Register()`.

## How this was tested

Existing unit tests of `params`. Note that the equivalent functionality
in `types` wasn't tested but now is.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants