Skip to content

Instantly share code, notes, and snippets.

@chappjc
Created October 22, 2021 16:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chappjc/df4637a374fbc067af09e6df3fe3c819 to your computer and use it in GitHub Desktop.
Save chappjc/df4637a374fbc067af09e6df3fe3c819 to your computer and use it in GitHub Desktop.
=================
WARNING: DATA RACE
Write at 0x00c000ebc080 by goroutine 151:
github.com/btcsuite/btcwallet/internal/zero.Bytea32()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/internal/zero/array.go:10 +0x36
github.com/btcsuite/btcwallet/snacl.(*CryptoKey).Zero()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/snacl/snacl.go:82 +0x2c
github.com/btcsuite/btcwallet/waddrmgr.(*cryptoKey).Zero()
<autogenerated>:1 +0x37
github.com/btcsuite/btcwallet/waddrmgr.(*Manager).lock()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/waddrmgr/manager.go:460 +0x2a9
github.com/btcsuite/btcwallet/waddrmgr.(*Manager).Lock()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/waddrmgr/manager.go:1160 +0x184
github.com/btcsuite/btcwallet/wallet.(*Wallet).walletLocker()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/wallet/wallet.go:1324 +0xbf6
github.com/btcsuite/btcwallet/wallet.(*Wallet).Start·dwrap·14()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/wallet/wallet.go:151 +0x39
Previous read at 0x00c000ebc086 by goroutine 136:
golang.org/x/crypto/salsa20/salsa.HSalsa20()
/home/jon/go/pkg/mod/golang.org/x/crypto@v0.0.0-20210322153248-0c34fe9e7dc2/salsa20/salsa/hsalsa20.go:17 +0x1a4
golang.org/x/crypto/nacl/secretbox.setup()
/home/jon/go/pkg/mod/golang.org/x/crypto@v0.0.0-20210322153248-0c34fe9e7dc2/nacl/secretbox/secretbox.go:52 +0x74
golang.org/x/crypto/nacl/secretbox.Seal()
/home/jon/go/pkg/mod/golang.org/x/crypto@v0.0.0-20210322153248-0c34fe9e7dc2/nacl/secretbox/secretbox.go:79 +0xae
github.com/btcsuite/btcwallet/snacl.(*CryptoKey).Encrypt()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/snacl/snacl.go:54 +0xf9
github.com/btcsuite/btcwallet/waddrmgr.(*cryptoKey).Encrypt()
<autogenerated>:1 +0x64
github.com/btcsuite/btcwallet/waddrmgr.newManagedAddress()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/waddrmgr/address.go:441 +0x101
github.com/btcsuite/btcwallet/waddrmgr.newManagedAddressFromExtKey()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/waddrmgr/address.go:481 +0xf3
github.com/btcsuite/btcwallet/waddrmgr.(*ScopedKeyManager).keyToManaged()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/waddrmgr/scoped_manager.go:291 +0x191
github.com/btcsuite/btcwallet/waddrmgr.(*ScopedKeyManager).DeriveFromKeyPath()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/waddrmgr/scoped_manager.go:608 +0x25c
github.com/btcsuite/btcwallet/wallet.(*RecoveryManager).Resurrect()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/wallet/recovery.go:87 +0x9a4
github.com/btcsuite/btcwallet/wallet.(*Wallet).recovery.func1()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/wallet/wallet.go:668 +0x168
github.com/btcsuite/btcwallet/walletdb/bdb.(*db).View()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet/walletdb@v1.4.0/bdb/db.go:392 +0xf3
github.com/btcsuite/btcwallet/walletdb.View()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet/walletdb@v1.4.0/interface.go:260 +0x67d
github.com/btcsuite/btcwallet/wallet.(*Wallet).recovery()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/wallet/wallet.go:661 +0x49
github.com/btcsuite/btcwallet/wallet.(*Wallet).syncWithChain()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/wallet/wallet.go:422 +0x7b4
github.com/btcsuite/btcwallet/wallet.(*Wallet).handleChainNotifications()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/wallet/chainntfns.go:115 +0xd24
github.com/btcsuite/btcwallet/wallet.(*Wallet).SynchronizeRPC·dwrap·15()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/wallet/wallet.go:194 +0x39
Goroutine 151 (running) created at:
github.com/btcsuite/btcwallet/wallet.(*Wallet).Start()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/wallet/wallet.go:151 +0x1f8
github.com/btcsuite/btcwallet/wallet.(*Loader).OpenExistingWallet()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/wallet/loader.go:290 +0x6a4
decred.org/dcrdex/client/asset/btc.(*spvWallet).startWallet()
/home/jon/github/decred/dcrdex/client/asset/btc/spv.go:983 +0x397
decred.org/dcrdex/client/asset/btc.(*spvWallet).connect()
/home/jon/github/decred/dcrdex/client/asset/btc/spv.go:917 +0x12d
decred.org/dcrdex/client/asset/btc.(*ExchangeWallet).Connect()
/home/jon/github/decred/dcrdex/client/asset/btc/btc.go:746 +0xd2
decred.org/dcrdex/dex.(*ConnectionMaster).Connect()
/home/jon/github/decred/dcrdex/dex/runner.go:106 +0x9b
decred.org/dcrdex/client/core.(*xcWallet).Connect()
/home/jon/github/decred/dcrdex/client/core/wallet.go:201 +0x9c
decred.org/dcrdex/client/core.(*Core).connectWallet()
/home/jon/github/decred/dcrdex/client/core/core.go:1466 +0x64
decred.org/dcrdex/client/core.(*Core).ReconfigureWallet()
/home/jon/github/decred/dcrdex/client/core/core.go:2114 +0x11ee
decred.org/dcrdex/client/webserver.(*WebServer).apiReconfig()
/home/jon/github/decred/dcrdex/client/webserver/api.go:632 +0x514
decred.org/dcrdex/client/webserver.(*WebServer).apiReconfig-fm()
/home/jon/github/decred/dcrdex/client/webserver/api.go:610 +0x57
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
decred.org/dcrdex/client/webserver.(*WebServer).rejectUnauthed.func1()
/home/jon/github/decred/dcrdex/client/webserver/middleware.go:118 +0x8e
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
github.com/go-chi/chi/v5.(*ChainHandler).ServeHTTP()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/chain.go:31 +0x69
github.com/go-chi/chi/v5.(*Mux).routeHTTP()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:437 +0x478
github.com/go-chi/chi/v5.(*Mux).routeHTTP-fm()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:411 +0x57
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
github.com/go-chi/chi/v5/middleware.AllowContentType.func1.1()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/content_type.go:41 +0x10a
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
github.com/go-chi/chi/v5.(*Mux).ServeHTTP()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:71 +0x936
github.com/go-chi/chi/v5.(*Mux).Mount.func1()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:312 +0x515
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
github.com/go-chi/chi/v5.(*Mux).routeHTTP()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:437 +0x478
github.com/go-chi/chi/v5.(*Mux).routeHTTP-fm()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:411 +0x57
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
decred.org/dcrdex/client/webserver.(*WebServer).authMiddleware.func1()
/home/jon/github/decred/dcrdex/client/webserver/middleware.go:48 +0x5be
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
github.com/go-chi/chi/v5/middleware.Recoverer.func1()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/recoverer.go:37 +0xf8
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
decred.org/dcrdex/client/webserver.(*WebServer).securityMiddleware.func1()
/home/jon/github/decred/dcrdex/client/webserver/middleware.go:33 +0x652
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
github.com/go-chi/chi/v5/middleware.RequestLogger.func1.1()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/logger.go:57 +0x4e7
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
github.com/go-chi/chi/v5.(*Mux).ServeHTTP()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:88 +0x8b6
net/http.serverHandler.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2878 +0x89a
net/http.(*conn).serve()
/home/jon/go117/src/net/http/server.go:1929 +0x12e4
net/http.(*Server).Serve·dwrap·82()
/home/jon/go117/src/net/http/server.go:3033 +0x58
Goroutine 136 (running) created at:
github.com/btcsuite/btcwallet/wallet.(*Wallet).SynchronizeRPC()
/home/jon/go/pkg/mod/github.com/btcsuite/btcwallet@v0.12.0/wallet/wallet.go:194 +0x2ca
decred.org/dcrdex/client/asset/btc.(*spvWallet).startWallet()
/home/jon/github/decred/dcrdex/client/asset/btc/spv.go:1046 +0x1331
decred.org/dcrdex/client/asset/btc.(*spvWallet).connect()
/home/jon/github/decred/dcrdex/client/asset/btc/spv.go:917 +0x12d
decred.org/dcrdex/client/asset/btc.(*ExchangeWallet).Connect()
/home/jon/github/decred/dcrdex/client/asset/btc/btc.go:746 +0xd2
decred.org/dcrdex/dex.(*ConnectionMaster).Connect()
/home/jon/github/decred/dcrdex/dex/runner.go:106 +0x9b
decred.org/dcrdex/client/core.(*xcWallet).Connect()
/home/jon/github/decred/dcrdex/client/core/wallet.go:201 +0x9c
decred.org/dcrdex/client/core.(*Core).connectWallet()
/home/jon/github/decred/dcrdex/client/core/core.go:1466 +0x64
decred.org/dcrdex/client/core.(*Core).ReconfigureWallet()
/home/jon/github/decred/dcrdex/client/core/core.go:2114 +0x11ee
decred.org/dcrdex/client/webserver.(*WebServer).apiReconfig()
/home/jon/github/decred/dcrdex/client/webserver/api.go:632 +0x514
decred.org/dcrdex/client/webserver.(*WebServer).apiReconfig-fm()
/home/jon/github/decred/dcrdex/client/webserver/api.go:610 +0x57
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
decred.org/dcrdex/client/webserver.(*WebServer).rejectUnauthed.func1()
/home/jon/github/decred/dcrdex/client/webserver/middleware.go:118 +0x8e
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
github.com/go-chi/chi/v5.(*ChainHandler).ServeHTTP()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/chain.go:31 +0x69
github.com/go-chi/chi/v5.(*Mux).routeHTTP()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:437 +0x478
github.com/go-chi/chi/v5.(*Mux).routeHTTP-fm()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:411 +0x57
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
github.com/go-chi/chi/v5/middleware.AllowContentType.func1.1()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/content_type.go:41 +0x10a
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
github.com/go-chi/chi/v5.(*Mux).ServeHTTP()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:71 +0x936
github.com/go-chi/chi/v5.(*Mux).Mount.func1()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:312 +0x515
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
github.com/go-chi/chi/v5.(*Mux).routeHTTP()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:437 +0x478
github.com/go-chi/chi/v5.(*Mux).routeHTTP-fm()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:411 +0x57
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
decred.org/dcrdex/client/webserver.(*WebServer).authMiddleware.func1()
/home/jon/github/decred/dcrdex/client/webserver/middleware.go:48 +0x5be
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
github.com/go-chi/chi/v5/middleware.Recoverer.func1()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/recoverer.go:37 +0xf8
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
decred.org/dcrdex/client/webserver.(*WebServer).securityMiddleware.func1()
/home/jon/github/decred/dcrdex/client/webserver/middleware.go:33 +0x652
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
github.com/go-chi/chi/v5/middleware.RequestLogger.func1.1()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/middleware/logger.go:57 +0x4e7
net/http.HandlerFunc.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2046 +0x4d
github.com/go-chi/chi/v5.(*Mux).ServeHTTP()
/home/jon/go/pkg/mod/github.com/go-chi/chi/v5@v5.0.1/mux.go:88 +0x8b6
net/http.serverHandler.ServeHTTP()
/home/jon/go117/src/net/http/server.go:2878 +0x89a
net/http.(*conn).serve()
/home/jon/go117/src/net/http/server.go:1929 +0x12e4
net/http.(*Server).Serve·dwrap·82()
/home/jon/go117/src/net/http/server.go:3033 +0x58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment