2015-06-16 2 views
-1

Я бегу blockchainr и получить следующий вывод на терминал:паника: ошибка во время выполнения: неверный адрес памяти или нулевой указатель разыменования при запуске Blockchainr

17:39:57 2015-06-16 [INF] loading db leveldb 
panic: runtime error: invalid memory address or nil pointer dereference 
    panic: runtime error: invalid memory address or nil pointer dereference 
[signal 0xb code=0x1 addr=0x0 pc=0x402cb63] 

goroutine 1 [running]: 
main.search(0x4911ef8, 0xc20806e2d0, 0x0, 0x0, 0x4911ef8) 
    /Users/mesquka/Downloads/blockchainr-master/src/blockchainr/main.go:185 +0x3fa 
main.main() 
    /Users/mesquka/Downloads/blockchainr-master/src/blockchainr/main.go:284 +0x3ce 

goroutine 5 [semacquire]: 
sync.(*Cond).Wait(0xc208045100) 
    /usr/local/go/src/sync/cond.go:62 +0x9e 
github.com/conformal/seelog.(*asyncLoopLogger).processItem(0xc20802c4e0, 0x0) 
    /Users/mesquka/Downloads/blockchainr-master/src/github.com/conformal/seelog/behavior_asynclooplogger.go:50 +0xc2 
github.com/conformal/seelog.(*asyncLoopLogger).processQueue(0xc20802c4e0) 
    /Users/mesquka/Downloads/blockchainr-master/src/github.com/conformal/seelog/behavior_asynclooplogger.go:63 +0x31 
created by github.com/conformal/seelog.newAsyncLoopLogger 
    /Users/mesquka/Downloads/blockchainr-master/src/github.com/conformal/seelog/behavior_asynclooplogger.go:40 +0x8e 

goroutine 6 [semacquire]: 
sync.(*Cond).Wait(0xc2080452c0) 
    /usr/local/go/src/sync/cond.go:62 +0x9e 
github.com/conformal/seelog.(*asyncLoopLogger).processItem(0xc20802c5a0, 0x0) 
    /Users/mesquka/Downloads/blockchainr-master/src/github.com/conformal/seelog/behavior_asynclooplogger.go:50 +0xc2 
github.com/conformal/seelog.(*asyncLoopLogger).processQueue(0xc20802c5a0) 
    /Users/mesquka/Downloads/blockchainr-master/src/github.com/conformal/seelog/behavior_asynclooplogger.go:63 +0x31 
created by github.com/conformal/seelog.newAsyncLoopLogger 
    /Users/mesquka/Downloads/blockchainr-master/src/github.com/conformal/seelog/behavior_asynclooplogger.go:40 +0x8e 

goroutine 7 [syscall]: 
os/signal.loop() 
    /usr/local/go/src/os/signal/signal_unix.go:21 +0x1f 
created by os/signal.init·1 
    /usr/local/go/src/os/signal/signal_unix.go:27 +0x35 

goroutine 17 [syscall, locked to thread]: 
runtime.goexit() 
    /usr/local/go/src/runtime/asm_amd64.s:2232 +0x1 

goroutine 8 [chan receive]: 
github.com/conformal/seelog.(*asyncAdaptiveLogger).processQueue(0xc208010150) 
    /Users/mesquka/Downloads/blockchainr-master/src/github.com/conformal/seelog/behavior_adaptivelogger.go:127 +0x89 
created by github.com/conformal/seelog.newAsyncAdaptiveLogger 
    /Users/mesquka/Downloads/blockchainr-master/src/github.com/conformal/seelog/behavior_adaptivelogger.go:84 +0x6ba 

Я бегу на OSX Йосемити 10.10.3 с ходу версии go1.4.2 Darwin/amd64

код на https://github.com/FiloSottile/blockchainr

конкретные команды я столкнулся (в порядке убывания) являются:

  • сделать все
  • ./bin/btcd --datadir = ~/Btcd/
  • ./bin/blockchainr -datadir ~/Btcd/

Последняя команда, где я получаю этот вывод на терминал ,

+2

И в чем ваш вопрос? – Volker

+1

Является ли 'blockchainr' вашим кодом? Если вы посмотрите на трассировку стека, то 'db' равен нулю. Вы должны убедиться, что этого не произойдет. – JimB

ответ

0

Ваша проблема заключается в Blockchainr main.go следующих строк:

var (
    dataDir = flag.String("datadir", filepath.Join(btcutil.AppDataDir("btcd", false), "data"), "BTCD: Data directory") 
    dbType = flag.String("dbtype", "leveldb", "BTCD: Database backend") 
) 

Как вы можете видеть, если вы не укажете dbtype флага он по умолчанию "leveldb" так ожидает datadir пар, чтобы содержат путь к LevelDB база данных.

+0

Спасибо! Любая идея, на что должна быть установлена ​​БД? –

+0

К сожалению, это очень зависит от приложения, вы можете проверить здесь https://github.com/FiloSottile/blockchainr/blob/master/src/github.com/conformal/btcdb/db.go, чтобы понять, как добавить драйвер db. –

+0

Исправить : Новый btcd игнорирует указанный аргумент -data-dir и хранит данные в Библиотеке (в OSX, не уверен в отношении других ОС) –