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

alpha5 binary crash (amd64v2) #12570

Open
thorstenhirsch opened this issue Oct 31, 2024 · 12 comments
Open

alpha5 binary crash (amd64v2) #12570

thorstenhirsch opened this issue Oct 31, 2024 · 12 comments
Assignees
Labels
erigon3 imp1 High importance

Comments

@thorstenhirsch
Copy link
Contributor

thorstenhirsch commented Oct 31, 2024

I guess a Ryzen 7 5xxx CPU should be able to run amd64v2 binaries, right?

System information

Erigon version: ./erigon --version
erigon version 3.00.0-alpha5-78f3647d

OS & Version: Windows/Linux/OSX
arch linux, kernel 6.11

/proc/cpuinfo

vendor_id	: AuthenticAMD
cpu family	: 25
model		: 80
model name	: AMD Ryzen 7 5825U with Radeon Graphics
stepping	: 0
microcode	: 0xa50000f
cpu MHz		: 400.000
cache size	: 512 KB
physical id	: 0
siblings	: 16
core id		: 7
cpu cores	: 8
apicid		: 15
initial apicid	: 15
fpu		: yes
fpu_exception	: yes
cpuid level	: 16
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local user_shstk clzero irperf xsaveerptr rdpru wbnoinvd cppc arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip pku ospke vaes vpclmulqdq rdpid overflow_recov succor smca fsrm debug_swap
bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass srso ibpb_no_ret
bogomips	: 3994.96
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]

Erigon Command (with flags/config):

    --maxpeers=50 \
    --nat=extip:$IP \
    --chain=mainnet \
    --http --ws \
    --http.api=eth,admin,debug,net,trace,web3,erigon,txpool \
    --http.addr=0.0.0.0 --http.port=8545 \
    --http.vhosts=* --http.corsdomain=* \
    --maxpeers=50 \
    --prune.mode=archive

Consensus Layer:
internal

Consensus Layer Command (with flags/config):

Chain/Network:
mainnet

Expected behaviour

start (it's the initial start, datadir is empty)

Actual behaviour

INFO[10-08|18:44:41.845] Build info                               git_branch=main git_tag=v3.0.0-alpha5 git_commit=78f3647dc238921eac9055654d842c15c131e11b
INFO[10-08|18:44:41.845] 
	########b          oo                               d####b. 
	##                                                      '## 
	##aaaa    ##d###b. dP .d####b. .d####b. ##d###b.     aaad#' 
	##        ##'  '## ## ##'  '## ##'  '## ##'  '##        '## 
	##        ##       ## ##.  .## ##.  .## ##    ##        .## 
	########P dP       dP '####P## '#####P' dP    dP    d#####P 
	                           .##                              
	                       d####P                               
		 
INFO[10-08|18:44:41.845] Starting Erigon on Ethereum mainnet... 
SIGSEGV: segmentation violation
PC=0x25b40 m=0 sigcode=1 addr=0x25b40
signal arrived during cgo execution

goroutine 13 gp=0xc0001d6fc0 m=0 mp=0x583c660 [syscall]:
runtime.cgocall(0x2308bb0, 0xc000502da8)
	runtime/cgocall.go:157 +0x4b fp=0xc000502d80 sp=0xc000502d48 pc=0x423a0b
net._C2func_getaddrinfo(0xc001c97780, 0x0, 0xc000a6d830, 0xc0008bc638)
	_cgo_gotypes.go:105 +0x55 fp=0xc000502da8 sp=0xc000502d80 pc=0x632c75
net._C_getaddrinfo.func1(0xc001c97780, 0x0, 0xc000a6d830, 0xc0008bc638)
	net/cgo_unix_cgo.go:78 +0x7a fp=0xc000502df0 sp=0xc000502da8 pc=0x6335fa
net._C_getaddrinfo(0xc001c97720?, 0x19?, 0x0?, 0x0?)
	net/cgo_unix_cgo.go:78 +0x13 fp=0xc000502e20 sp=0xc000502df0 pc=0x633533
net.cgoLookupHostIP({0x2b50b0f, 0x3}, {0xc001c97720, 0x19})
	net/cgo_unix.go:168 +0x228 fp=0xc000502f60 sp=0xc000502e20 pc=0x5fdf68
net.cgoLookupIP.func1()
	net/cgo_unix.go:217 +0x25 fp=0xc000502f90 sp=0xc000502f60 pc=0x5fe685
net.doBlockingWithCtx[...].func1()
	net/cgo_unix.go:56 +0x32 fp=0xc000502fe0 sp=0xc000502f90 pc=0x633932
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc000502fe8 sp=0xc000502fe0 pc=0x495821
created by net.doBlockingWithCtx[...] in goroutine 12
	net/cgo_unix.go:54 +0xd8

goroutine 1 gp=0xc0000061c0 m=nil [select]:
runtime.gopark(0xc0016c8838?, 0x4?, 0x38?, 0x86?, 0xc0016c8758?)
	runtime/proc.go:402 +0xce fp=0xc0016c85f0 sp=0xc0016c85d0 pc=0x45d48e
runtime.selectgo(0xc0016c8838, 0xc0016c8750, 0xc001cb0290?, 0x0, 0x6f245d?, 0x1)
	runtime/select.go:327 +0x725 fp=0xc0016c8710 sp=0xc0016c85f0 pc=0x46f365
net/http.(*Transport).getConn(0xc000a2f040, 0xc001335dc0, {{}, 0x0, {0xc001af4410, 0x5}, {0xc001c97720, 0x1d}, 0x0})
	net/http/transport.go:1406 +0x5a5 fp=0xc0016c8920 sp=0xc0016c8710 pc=0x7597e5
net/http.(*Transport).roundTrip(0xc000a2f040, 0xc001307200)
	net/http/transport.go:595 +0x73a fp=0xc0016c8b48 sp=0xc0016c8920 pc=0x7555ba
net/http.(*Transport).RoundTrip(...)
	net/http/roundtrip.go:17
github.com/erigontech/speedtest/speedtest.(*Speedtest).RoundTrip(0xc000a6f200, 0xc001307200)
	github.com/erigontech/[email protected]/speedtest/speedtest.go:172 +0x113 fp=0xc0016c8bb8 sp=0xc0016c8b48 pc=0xaada53
net/http.send(0xc001307200, {0x33adf60, 0xc000a6f200}, {0xc0016c8d01?, 0x436545?, 0x0?})
	net/http/client.go:259 +0x5e4 fp=0xc0016c8d98 sp=0xc0016c8bb8 pc=0x6f68a4
net/http.(*Client).send(0x5837180, 0xc001307200, {0x42d53b?, 0x1?, 0x0?})
	net/http/client.go:180 +0x98 fp=0xc0016c8e10 sp=0xc0016c8d98 pc=0x6f6158
net/http.(*Client).do(0x5837180, 0xc001307200)
	net/http/client.go:724 +0x8dc fp=0xc0016c9000 sp=0xc0016c8e10 pc=0x6f847c
net/http.(*Client).Do(...)
	net/http/client.go:590
github.com/erigontech/erigon-snapshot.fetchSnapshotHashes({0x33c8ae0?, 0x58b0080?}, {0xc001af4410, 0x4e})
	github.com/erigontech/[email protected]/embed.go:112 +0x9b fp=0xc0016c90f0 sp=0xc0016c9000 pc=0xaf4e7b
github.com/erigontech/erigon-snapshot.LoadSnapshots({0x33c8ae0, 0x58b0080})
	github.com/erigontech/[email protected]/embed.go:61 +0x475 fp=0xc0016c91b8 sp=0xc0016c90f0 pc=0xaf4ab5
github.com/erigontech/erigon-lib/chain/snapcfg.LoadRemotePreverified({0x33c8ae0?, 0x58b0080?})
	github.com/erigontech/[email protected]/chain/snapcfg/util.go:534 +0x25 fp=0xc0016c9218 sp=0xc0016c91b8 pc=0xb6a3e5
github.com/erigontech/erigon-lib/downloader/downloadercfg.LoadSnapshotsHashes({_, _}, {{0x7ffe6ebb2c66, 0x1b}, {0x7ffe6ebb2c66, 0x1b}, {0xc001ca25d0, 0x25}, {0xc001c976e0, 0x20}, ...}, ...)
	github.com/erigontech/[email protected]/downloader/downloadercfg/downloadercfg.go:262 +0x28b fp=0xc0016c9378 sp=0xc0016c9218 pc=0x101604b
github.com/erigontech/erigon/cmd/utils.setDataDir(0xc001324000, 0xc001424908)
	github.com/erigontech/erigon/cmd/utils/flags.go:1449 +0x265 fp=0xc0016c9748 sp=0xc0016c9378 pc=0x176d325
github.com/erigontech/erigon/cmd/utils.SetNodeConfig(0xc001324000, 0xc001424908, {0x33df688, 0xc0008c0d60})
	github.com/erigontech/erigon/cmd/utils/flags.go:1426 +0x2b fp=0xc0016c9798 sp=0xc0016c9748 pc=0x176cfab
github.com/erigontech/erigon/turbo/node.NewNodConfigUrfave(0xc001324000, {0x33df688, 0xc0008c0d60})
	github.com/erigontech/erigon/turbo/node/node.go:109 +0x454 fp=0xc0016c9800 sp=0xc0016c9798 pc=0x22dd894
main.runErigon(0xc001324000)
	github.com/erigontech/erigon/cmd/erigon/main.go:88 +0x293 fp=0xc0016c9ab8 sp=0xc0016c9800 pc=0x2305eb3
github.com/erigontech/erigon/turbo/app.MakeApp.func1(0xc001324000)
	github.com/erigontech/erigon/turbo/app/make_app.go:71 +0x17f fp=0xc0016c9be0 sp=0xc0016c9ab8 pc=0x22f16bf
github.com/urfave/cli/v2.(*Command).Run(0xc0000558c0, 0xc001324000, {0xc0000520e0, 0xe, 0xe})
	github.com/urfave/cli/[email protected]/command.go:276 +0x97d fp=0xc0016c9e68 sp=0xc0016c9be0 pc=0x7e97bd
github.com/urfave/cli/v2.(*App).RunContext(0xc0013bae00, {0x33c8ae0, 0x58b0080}, {0xc0000520e0, 0xe, 0xe})
	github.com/urfave/cli/[email protected]/app.go:333 +0x5a5 fp=0xc0016c9ec8 sp=0xc0016c9e68 pc=0x7e60c5
github.com/urfave/cli/v2.(*App).Run(...)
	github.com/urfave/cli/[email protected]/app.go:307
main.main()
	github.com/erigontech/erigon/cmd/erigon/main.go:51 +0x85 fp=0xc0016c9f50 sp=0xc0016c9ec8 pc=0x2305b45
runtime.main()
	runtime/proc.go:271 +0x29d fp=0xc0016c9fe0 sp=0xc0016c9f50 pc=0x45d03d
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc0016c9fe8 sp=0xc0016c9fe0 pc=0x495821

goroutine 2 gp=0xc000006c40 m=nil [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc000098fa8 sp=0xc000098f88 pc=0x45d48e
runtime.goparkunlock(...)
	runtime/proc.go:408
runtime.forcegchelper()
	runtime/proc.go:326 +0xb3 fp=0xc000098fe0 sp=0xc000098fa8 pc=0x45d2f3
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc000098fe8 sp=0xc000098fe0 pc=0x495821
created by runtime.init.6 in goroutine 1
	runtime/proc.go:314 +0x1a

goroutine 3 gp=0xc000007180 m=nil [GC sweep wait]:
runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc000099780 sp=0xc000099760 pc=0x45d48e
runtime.goparkunlock(...)
	runtime/proc.go:408
runtime.bgsweep(0xc0000c2000)
	runtime/mgcsweep.go:318 +0xdf fp=0xc0000997c8 sp=0xc000099780 pc=0x446bff
runtime.gcenable.gowrap1()
	runtime/mgc.go:203 +0x25 fp=0xc0000997e0 sp=0xc0000997c8 pc=0x43b425
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc0000997e8 sp=0xc0000997e0 pc=0x495821
created by runtime.gcenable in goroutine 1
	runtime/mgc.go:203 +0x66

goroutine 4 gp=0xc000007340 m=nil [GC scavenge wait]:
runtime.gopark(0x10000?, 0x33929d0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc000099f78 sp=0xc000099f58 pc=0x45d48e
runtime.goparkunlock(...)
	runtime/proc.go:408
runtime.(*scavengerState).park(0x5839300)
	runtime/mgcscavenge.go:425 +0x49 fp=0xc000099fa8 sp=0xc000099f78 pc=0x444589
runtime.bgscavenge(0xc0000c2000)
	runtime/mgcscavenge.go:658 +0x59 fp=0xc000099fc8 sp=0xc000099fa8 pc=0x444b39
runtime.gcenable.gowrap2()
	runtime/mgc.go:204 +0x25 fp=0xc000099fe0 sp=0xc000099fc8 pc=0x43b3c5
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc000099fe8 sp=0xc000099fe0 pc=0x495821
created by runtime.gcenable in goroutine 1
	runtime/mgc.go:204 +0xa5

goroutine 5 gp=0xc000007c00 m=nil [finalizer wait]:
runtime.gopark(0xc000098648?, 0x42d8e5?, 0xa8?, 0x1?, 0xc0000061c0?)
	runtime/proc.go:402 +0xce fp=0xc000098620 sp=0xc000098600 pc=0x45d48e
runtime.runfinq()
	runtime/mfinal.go:194 +0x107 fp=0xc0000987e0 sp=0xc000098620 pc=0x43a3e7
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc0000987e8 sp=0xc0000987e0 pc=0x495821
created by runtime.createfing in goroutine 1
	runtime/mfinal.go:164 +0x3d

goroutine 6 gp=0xc000007dc0 m=nil [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc00009a750 sp=0xc00009a730 pc=0x45d48e
runtime.gcBgMarkWorker()
	runtime/mgc.go:1310 +0xe5 fp=0xc00009a7e0 sp=0xc00009a750 pc=0x43d505
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc00009a7e8 sp=0xc00009a7e0 pc=0x495821
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1234 +0x1c

goroutine 18 gp=0xc000102380 m=nil [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc000094750 sp=0xc000094730 pc=0x45d48e
runtime.gcBgMarkWorker()
	runtime/mgc.go:1310 +0xe5 fp=0xc0000947e0 sp=0xc000094750 pc=0x43d505
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc0000947e8 sp=0xc0000947e0 pc=0x495821
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1234 +0x1c

goroutine 19 gp=0xc000102540 m=nil [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc000094f50 sp=0xc000094f30 pc=0x45d48e
runtime.gcBgMarkWorker()
	runtime/mgc.go:1310 +0xe5 fp=0xc000094fe0 sp=0xc000094f50 pc=0x43d505
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc000094fe8 sp=0xc000094fe0 pc=0x495821
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1234 +0x1c

goroutine 20 gp=0xc000102700 m=nil [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc000095750 sp=0xc000095730 pc=0x45d48e
runtime.gcBgMarkWorker()
	runtime/mgc.go:1310 +0xe5 fp=0xc0000957e0 sp=0xc000095750 pc=0x43d505
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc0000957e8 sp=0xc0000957e0 pc=0x495821
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1234 +0x1c

goroutine 21 gp=0xc0001028c0 m=nil [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc000095f50 sp=0xc000095f30 pc=0x45d48e
runtime.gcBgMarkWorker()
	runtime/mgc.go:1310 +0xe5 fp=0xc000095fe0 sp=0xc000095f50 pc=0x43d505
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc000095fe8 sp=0xc000095fe0 pc=0x495821
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1234 +0x1c

goroutine 34 gp=0xc0004fe000 m=nil [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc000504750 sp=0xc000504730 pc=0x45d48e
runtime.gcBgMarkWorker()
	runtime/mgc.go:1310 +0xe5 fp=0xc0005047e0 sp=0xc000504750 pc=0x43d505
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc0005047e8 sp=0xc0005047e0 pc=0x495821
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1234 +0x1c

goroutine 7 gp=0xc0001d6000 m=nil [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc00009af50 sp=0xc00009af30 pc=0x45d48e
runtime.gcBgMarkWorker()
	runtime/mgc.go:1310 +0xe5 fp=0xc00009afe0 sp=0xc00009af50 pc=0x43d505
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc00009afe8 sp=0xc00009afe0 pc=0x495821
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1234 +0x1c

goroutine 8 gp=0xc0001d61c0 m=nil [GC worker (idle)]:
runtime.gopark(0x31addd66018?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc00009b750 sp=0xc00009b730 pc=0x45d48e
runtime.gcBgMarkWorker()
	runtime/mgc.go:1310 +0xe5 fp=0xc00009b7e0 sp=0xc00009b750 pc=0x43d505
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc00009b7e8 sp=0xc00009b7e0 pc=0x495821
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1234 +0x1c

goroutine 22 gp=0xc000102a80 m=nil [GC worker (idle)]:
runtime.gopark(0x31addea3612?, 0x1?, 0x71?, 0xd4?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc000096750 sp=0xc000096730 pc=0x45d48e
runtime.gcBgMarkWorker()
	runtime/mgc.go:1310 +0xe5 fp=0xc0000967e0 sp=0xc000096750 pc=0x43d505
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc0000967e8 sp=0xc0000967e0 pc=0x495821
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1234 +0x1c

goroutine 35 gp=0xc0004fe1c0 m=nil [GC worker (idle)]:
runtime.gopark(0x31addd661f9?, 0x3?, 0x44?, 0x81?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc000504f50 sp=0xc000504f30 pc=0x45d48e
runtime.gcBgMarkWorker()
	runtime/mgc.go:1310 +0xe5 fp=0xc000504fe0 sp=0xc000504f50 pc=0x43d505
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc000504fe8 sp=0xc000504fe0 pc=0x495821
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1234 +0x1c

goroutine 36 gp=0xc0004fe380 m=nil [GC worker (idle)]:
runtime.gopark(0x58b63c0?, 0x1?, 0x0?, 0xf?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc000505750 sp=0xc000505730 pc=0x45d48e
runtime.gcBgMarkWorker()
	runtime/mgc.go:1310 +0xe5 fp=0xc0005057e0 sp=0xc000505750 pc=0x43d505
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc0005057e8 sp=0xc0005057e0 pc=0x495821
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1234 +0x1c

goroutine 50 gp=0xc000580000 m=nil [GC worker (idle)]:
runtime.gopark(0x31addd662fe?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc000500750 sp=0xc000500730 pc=0x45d48e
runtime.gcBgMarkWorker()
	runtime/mgc.go:1310 +0xe5 fp=0xc0005007e0 sp=0xc000500750 pc=0x43d505
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc0005007e8 sp=0xc0005007e0 pc=0x495821
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1234 +0x1c

goroutine 37 gp=0xc0004fe540 m=nil [GC worker (idle)]:
runtime.gopark(0x58b63c0?, 0x1?, 0xea?, 0x49?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc000505f50 sp=0xc000505f30 pc=0x45d48e
runtime.gcBgMarkWorker()
	runtime/mgc.go:1310 +0xe5 fp=0xc000505fe0 sp=0xc000505f50 pc=0x43d505
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc000505fe8 sp=0xc000505fe0 pc=0x495821
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1234 +0x1c

goroutine 51 gp=0xc0005801c0 m=nil [GC worker (idle)]:
runtime.gopark(0x58b63c0?, 0x1?, 0xa3?, 0x1d?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc000500f50 sp=0xc000500f30 pc=0x45d48e
runtime.gcBgMarkWorker()
	runtime/mgc.go:1310 +0xe5 fp=0xc000500fe0 sp=0xc000500f50 pc=0x43d505
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc000500fe8 sp=0xc000500fe0 pc=0x495821
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1234 +0x1c

goroutine 52 gp=0xc000580380 m=nil [GC worker (idle)]:
runtime.gopark(0x58b63c0?, 0x1?, 0x69?, 0xd3?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc000501750 sp=0xc000501730 pc=0x45d48e
runtime.gcBgMarkWorker()
	runtime/mgc.go:1310 +0xe5 fp=0xc0005017e0 sp=0xc000501750 pc=0x43d505
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc0005017e8 sp=0xc0005017e0 pc=0x495821
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1234 +0x1c

goroutine 53 gp=0xc000580540 m=nil [GC worker (idle)]:
runtime.gopark(0x58b63c0?, 0x1?, 0x41?, 0xbf?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc000501f50 sp=0xc000501f30 pc=0x45d48e
runtime.gcBgMarkWorker()
	runtime/mgc.go:1310 +0xe5 fp=0xc000501fe0 sp=0xc000501f50 pc=0x43d505
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc000501fe8 sp=0xc000501fe0 pc=0x495821
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1234 +0x1c

goroutine 10 gp=0xc000895dc0 m=nil [chan receive]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:402 +0xce fp=0xc001d07f08 sp=0xc001d07ee8 pc=0x45d48e
runtime.chanrecv(0xc000baf810, 0xc001d07fbf, 0x1)
	runtime/chan.go:583 +0x3bf fp=0xc001d07f80 sp=0xc001d07f08 pc=0x42603f
runtime.chanrecv2(0xc001ca80c0?, 0x0?)
	runtime/chan.go:447 +0x12 fp=0xc001d07fa8 sp=0xc001d07f80 pc=0x425c72
gopkg.in/natefinch/lumberjack%2ev2.(*Logger).millRun(...)
	gopkg.in/natefinch/[email protected]/lumberjack.go:379
gopkg.in/natefinch/lumberjack%2ev2.(*Logger).mill.func1.gowrap1()
	gopkg.in/natefinch/[email protected]/lumberjack.go:390 +0x49 fp=0xc001d07fe0 sp=0xc001d07fa8 pc=0x1766109
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc001d07fe8 sp=0xc001d07fe0 pc=0x495821
created by gopkg.in/natefinch/lumberjack%2ev2.(*Logger).mill.func1 in goroutine 1
	gopkg.in/natefinch/[email protected]/lumberjack.go:390 +0x96

goroutine 11 gp=0xc0001d6c40 m=nil [select]:
runtime.gopark(0xc001cb95b0?, 0x2?, 0x60?, 0xc6?, 0xc001cb9460?)
	runtime/proc.go:402 +0xce fp=0xc001cb9300 sp=0xc001cb92e0 pc=0x45d48e
runtime.selectgo(0xc001cb95b0, 0xc001cb945c, 0x1d?, 0x0, 0x0?, 0x1)
	runtime/select.go:327 +0x725 fp=0xc001cb9420 sp=0xc001cb9300 pc=0x46f365
net.(*Resolver).lookupIPAddr(0x5835c20, {0x33c8ff8, 0xc0008e6850}, {0x2b50b0f, 0x3}, {0xc001c97720, 0x19})
	net/lookup.go:342 +0x3d1 fp=0xc001cb9608 sp=0xc001cb9420 pc=0x61ca51
net.(*Resolver).internetAddrList(0x5835c20?, {0x33c8ff8?, 0xc0008e6850?}, {0x2b50b0f, 0x3}, {0xc001c97720?, 0x10?})
	net/ipsock.go:288 +0x4d9 fp=0xc001cb9728 sp=0xc001cb9608 pc=0x619f79
net.(*Resolver).resolveAddrList(0x5835c20, {0x33c8ff8, 0xc0008e6850}, {0x2b515d0, 0x4}, {0x2b50b0f?, 0xc0000ad8a0?}, {0xc001c97720, 0x1d}, {0x0, ...})
	net/dial.go:283 +0x3e5 fp=0xc001cb9828 sp=0xc001cb9728 pc=0x601d45
net.(*Dialer).DialContext(0xc000a2de30, {0x33c8ae0, 0x58b0080}, {0x2b50b0f, 0x3}, {0xc001c97720, 0x1d})
	net/dial.go:490 +0x405 fp=0xc001cb9948 sp=0xc001cb9828 pc=0x602dc5
net.(*Dialer).DialContext-fm({0x33c8ae0?, 0x58b0080?}, {0x2b50b0f?, 0x0?}, {0xc001c97720?, 0xc001307440?})
	<autogenerated>:1 +0x49 fp=0xc001cb9990 sp=0xc001cb9948 pc=0x76cf69
net/http.(*Transport).dial(0x0?, {0x33c8ae0?, 0x58b0080?}, {0x2b50b0f?, 0x493852?}, {0xc001c97720?, 0x33fd2f0?})
	net/http/transport.go:1187 +0xd2 fp=0xc001cb99f8 sp=0xc001cb9990 pc=0x7589d2
net/http.(*Transport).dialConn(0xc000a2f040, {0x33c8ae0, 0x58b0080}, {{}, 0x0, {0xc001af4410, 0x5}, {0xc001c97720, 0x1d}, 0x0})
	net/http/transport.go:1648 +0x7e8 fp=0xc001cb9ea8 sp=0xc001cb99f8 pc=0x75b9a8
net/http.(*Transport).dialConnFor(0xc000a2f040, 0xc000b098c0)
	net/http/transport.go:1485 +0xcd fp=0xc001cb9fc0 sp=0xc001cb9ea8 pc=0x75a3ed
net/http.(*Transport).queueForDial.gowrap1()
	net/http/transport.go:1449 +0x25 fp=0xc001cb9fe0 sp=0xc001cb9fc0 pc=0x75a2e5
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc001cb9fe8 sp=0xc001cb9fe0 pc=0x495821
created by net/http.(*Transport).queueForDial in goroutine 1
	net/http/transport.go:1449 +0x3c9

goroutine 12 gp=0xc0001d6e00 m=nil [select]:
runtime.gopark(0xc001cbbb78?, 0x2?, 0x18?, 0x68?, 0xc001cbbb34?)
	runtime/proc.go:402 +0xce fp=0xc001cbb9e0 sp=0xc001cbb9c0 pc=0x45d48e
runtime.selectgo(0xc001cbbb78, 0xc001cbbb30, 0xc001cbbb98?, 0x0, 0x4e7400?, 0x1)
	runtime/select.go:327 +0x725 fp=0xc001cbbb00 sp=0xc001cbb9e0 pc=0x46f365
net.doBlockingWithCtx[...]({0x33c8f88, 0xc0012c39f0}, 0xc000a6d650)
	net/cgo_unix.go:60 +0x158 fp=0xc001cbbbd0 sp=0xc001cbbb00 pc=0x634978
net.cgoLookupIP({0x33c8f88, 0xc0012c39f0}, {0x2b50b0f, 0x3}, {0xc001c97720, 0x19})
	net/cgo_unix.go:216 +0xa5 fp=0xc001cbbc00 sp=0xc001cbbbd0 pc=0x5fe605
net.(*Resolver).lookupIP(0x5835c20, {0x33c8f88, 0xc0012c39f0}, {0x2b50b0f, 0x3}, {0xc001c97720, 0x19})
	net/lookup_unix.go:66 +0xe5 fp=0xc001cbbe58 sp=0xc001cbbc00 pc=0x620545
net.(*Resolver).lookupIP-fm({0x33c8f88?, 0xc0012c39f0?}, {0x2b50b0f?, 0x58b0080?}, {0xc001c97720?, 0xc001af4410?})
	<autogenerated>:1 +0x49 fp=0xc001cbbea0 sp=0xc001cbbe58 pc=0x63a3c9
net.init.func1({0x33c8f88?, 0xc0012c39f0?}, 0x100000000000000?, {0x2b50b0f?, 0x0?}, {0xc001c97720?, 0x0?})
	net/hook.go:22 +0x37 fp=0xc001cbbee0 sp=0xc001cbbea0 pc=0x5fba57
net.(*Resolver).lookupIPAddr.func1()
	net/lookup.go:334 +0x37 fp=0xc001cbbf38 sp=0xc001cbbee0 pc=0x61d497
internal/singleflight.(*Group).doCall(0x5835c30, 0xc0012c3a40, {0xc001c97740, 0x1d}, 0xc000b098c0?)
	internal/singleflight/singleflight.go:93 +0x35 fp=0xc001cbbfa8 sp=0xc001cbbf38 pc=0x5fa9b5
internal/singleflight.(*Group).DoChan.gowrap1()
	internal/singleflight/singleflight.go:86 +0x30 fp=0xc001cbbfe0 sp=0xc001cbbfa8 pc=0x5fa950
runtime.goexit({})
	runtime/asm_amd64.s:1695 +0x1 fp=0xc001cbbfe8 sp=0xc001cbbfe0 pc=0x495821
created by internal/singleflight.(*Group).DoChan in goroutine 11
	internal/singleflight/singleflight.go:86 +0x2d2

rax    0x3
rbx    0x753bd49aeb88
rcx    0x2f
rdx    0x7ffe6ebb2250
rdi    0xe
rsi    0x7ffe6ebb21d8
rbp    0xe
rsp    0x7ffe6ebb1128
r8     0x0
r9     0x753bd7e02760
r10    0x753bd74ec930
r11    0x206
r12    0x7ffe6ebb21d8
r13    0x7ffe6ebb2250
r14    0x753bd49aeba0
r15    0x0
rip    0x25b40
rflags 0x10206
cs     0x33
fs     0x0
gs     0x0

Steps to reproduce the behaviour

start with given command

Backtrace

see "actual behaviour"

@thorstenhirsch
Copy link
Contributor Author

The amd64 binary (w/o v2) also crashes.

@VBulikov
Copy link
Member

VBulikov commented Nov 1, 2024

Might relate to #12556

@VBulikov VBulikov added imp1 High importance erigon3 labels Nov 1, 2024
@thorstenhirsch
Copy link
Contributor Author

I can confirm that node-real#547 resolves this problem. I've built erigon3-alpha5 with this single patch added and now it works.

@antonis19
Copy link
Member

antonis19 commented Nov 4, 2024

@thorstenhirsch If you run the same command you did but after compiling erigon from source (i.e. make erigon, or go run ./cmd/erigon ) does the same error occur?

I would like to check if this could be a cross-compilation issue first.

@thorstenhirsch
Copy link
Contributor Author

thorstenhirsch commented Nov 4, 2024

The command line was completely the same in both cases:

1.) erigon3 alpha5 binary* download from github: crash
2.) erigon3 alpha5 + patch, compiled locally with "make erigon": ok

*) I tried the amd64v2 binary first, then amd64, but both crashed.

So, I actually didn't run a self-compiled version of the original alpha5 release (w/o the patch). Do you want me to test that?

@antonis19
Copy link
Member

@thorstenhirsch yes, I would like you to test on the self-compiled version of the original alpha5 release without the patch.

@thorstenhirsch
Copy link
Contributor Author

@antonis19: The self-compiled version of the original alpha5 works successfully. :-(
So, it wasn't the "netgo" flag. Is there something wrong with the build in the github actions?

@antonis19
Copy link
Member

@thorstenhirsch thanks for checking. I think this indicates that there might be a problem with the way we are doing cross compilation, although I've checked this binary on an AMD cpu and it worked fine for me. I will need to investigate this further.

@antonis19
Copy link
Member

@thorstenhirsch since we are not able to reproduce this crash on our end I would like you to assist us in the debugging process by running the following command using the downloaded erigon binary from the release to trace the system calls happening:

strace -f -o erigon_binary_strace.log ./erigon      --maxpeers=50 \
    --nat=extip:$IP \
    --chain=mainnet \
    --http --ws \
    --http.api=eth,admin,debug,net,trace,web3,erigon,txpool \
    --http.addr=0.0.0.0 --http.port=8545 \
    --http.vhosts=* --http.corsdomain=* \
    --maxpeers=50 \
    --prune.mode=archive

And provide the erigon_binary_strace.log file. As the file will likely be too big to upload you can filter the trace to obtain only the errors by running this command:

 cat  erigon_binary_strace.log  | grep "= -1" > erigon_binary_strace_errors.log

and provide the erigon_binary_strace_errors.log file.

@thorstenhirsch
Copy link
Contributor Author

Sure. Here we go. @antonis19
The file wasn't actually that big, but I compressed it nevertheless.
erigon_binary_strace.log.gz

@lystopad
Copy link
Member

@thorstenhirsch , hi
Please, provide the output of go env.
Also, please, provide the output of
ldd /path/to/downloaded-from-git/erigon

Do you have latest versions of packages on your Linux?

@thorstenhirsch
Copy link
Contributor Author

Just to be sure, @lystopad, your questions are about the self-compiled erigon, which is working, right? The downloaded alpha5 binary is the one crashing.

go env

GO111MODULE=''
GOARCH='amd64'
GOBIN=''
GOCACHE='/home/torti/.cache/go-build'
GOENV='/home/torti/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMODCACHE='/home/torti/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/home/torti/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/usr/lib/go'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/lib/go/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='go1.23.2'
GODEBUG=''
GOTELEMETRY='local'
GOTELEMETRYDIR='/home/torti/.config/go/telemetry'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='1'
GOMOD='/dev/null'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build2732383762=/tmp/go-build -gno-record-gcc-switches'

ldd erigon

        linux-vdso.so.1 (0x00007b7f99e0d000)
	libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007b7f99de8000)
	libsilkworm_capi.so => /home/torti/go/pkg/mod/github.com/erigontech/[email protected]/lib/linux_x64/libsilkworm_capi.so (0x00007b7f98000000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007b7f97c00000)
	libm.so.6 => /usr/lib/libm.so.6 (0x00007b7f97f11000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007b7f99dba000)
	libc.so.6 => /usr/lib/libc.so.6 (0x00007b7f97a0f000)
	/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007b7f99e0f000)

It's arch linux, all packages were up-to-date when compiling erigon last week (e.g. glibc 2.40, go 1.23.2).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
erigon3 imp1 High importance
Projects
None yet
Development

No branches or pull requests

4 participants