Pages:
Author

Topic: Вопр. по устойчивости стандартного софта - page 2. (Read 2646 times)

newbie
Activity: 45
Merit: 0
В вашем случае правильным решением будет смена дистрибутива (на ubuntu или centos).
Как-то слишком радикально. Чем так уж плох именно Дебиан? Это один из старейших дистрибутивов и его стабильный релиз никто не треплет обновлениями каждый месяц, за что я его и выбрал.

Да, сейчас обнаружилось, что в стабильный релиз выложена битая версия пакета libboost1.49-dev. Я заменил её версией из тестового релиза, после чего мне удалось нормально скомпилировать бинарник bitcoind версии 0.8.5.

Но он оказался с теми же глюками, что и те бинарники, которые я ранее скачивал в готовом виде.

вот вроде биткоин для дебиана http://packages.debian.org/unstable/main/bitcoin-qt
Да, я пробовал бинарник из нестабильного релиза: Все те же глюки. см. в этой теме подробно, с кусками логов. Фатальная проблема в том, что я никак не могу загрузить blockchain, ибо в некоторый момент возникает ошибка, после которой следующие блоки перестают приниматься, а потом getblockcounter обнуляется и загрузка начинается по новому кругу.
legendary
Activity: 1400
Merit: 1000
вот вроде биткоин для дебиана http://packages.debian.org/unstable/main/bitcoin-qt
legendary
Activity: 1498
Merit: 1021
Was mich nicht umbringt macht mich stärker [F.N.]
В вашем случае правильным решением будет смена дистрибутива (на ubuntu или centos).
newbie
Activity: 45
Merit: 0
Народ, подскажите хоть как-нибудь куда рыть. Ну, нужен мне этот долбаный демон биткоин, из-за проблем с ним я уже почти неделю как не могу никуда продвинуться. Ладно, что все добытые бинарники оказываются с глюками, но и ни одну из версий исходных файлов не удалось скомпилировать. По совету поддержки Дебиан я обратился сюда в англоязычную ветку Bitcoin Forum > Bitcoin > Technical Support. Подробно там описал проблему, с вырезками из лога. Пока получил только банальную ссылку на инструкцию о том, как скомпилировать исходники, взятые с sourceforge.net. Вот последняя версия, выложенная там.

Но не компилируется она у меня!!! Поставил я все нужные пакеты, как указано в инструкции, запустил "make -f makefile.unix" и в ответ получил какие-то сообщения об ошибках в файле /usr/include/boost/thread/xtime.hpp.

Вот:
Code:
/usr/include/boost/thread/xtime.hpp:23:5: error: expected identifier before numeric constant
/usr/include/boost/thread/xtime.hpp:23:5: error: expected ‘}’ before numeric constant
/usr/include/boost/thread/xtime.hpp:23:5: error: expected unqualified-id before numeric constant
/usr/include/boost/thread/xtime.hpp:46:14: error: expected type-specifier before ‘system_time’

И вот:
Code:
/usr/include/boost/thread/xtime.hpp:73:40: error: ‘get_system_time’ was not declared in this scope
/usr/include/boost/thread/xtime.hpp:73:40: note: suggested alternative:

И в конечном итоге вот:
Code:
/usr/include/boost/thread/xtime.hpp: At global scope:
/usr/include/boost/thread/xtime.hpp:88:1: error: expected declaration before ‘}’ token
make: *** [obj/alert.o] Ошибка 1

Я посмотрел, что это за файл. Оказалось, часть библиотеки libboost1.49-dev. Это что же, значит библиотека что ли битая? И это у всех пользователей, у которых поставлен этот пакет? И что мне делать-то теперь?
tvv
legendary
Activity: 1302
Merit: 1005
Да GNU-сное оно все такое - удивляться тут не чему...
legendary
Activity: 1400
Merit: 1000
только у тебя видимо. Я проверял работоспособность на Windows 7x64 Home Premium и OpenSuse 12.1... У многих на этом форуме работает на Ubuntu разных версий...
newbie
Activity: 45
Merit: 0
Мне объяснили, как поставить версию из репозитория нестабильного релиза дебиана (v0.8.5.0-gef14a26-beta). Для чистоты эксперимента я удалил всё, кроме wallet.dat, из директории .bitcoin. На сей раз getblockcount досчитал аж до 205559. Однако потом вся эта фигня повторилась: Сначала getblockcount перестал увеличиваться, потом на запрос getinfo я начал получать сообщение об ошибке: "Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade". Потом не установилось json соединение с демоном (наверное, он просто выгрузился). А после перезапуска getblockcount начал считать с нуля.

Я не понимаю, это только у меня одного такая ерунда? Я вижу, что продукт НЕ РАБОТОСПОСОБЕН. Как же так?
newbie
Activity: 45
Merit: 0
О, вот сейчас удалил лог и через некоторое время обнаружил в нём нечто интересное:

Code:
ProcessBlock: ACCEPTED
received block 0000000000000758b4523e4f2a2fff9de8fd9ce5a4df93a53fa3e4ef064e2a8f
InvalidChainFound: invalid block=0000000000000758b4523e4f2a2fff9de8fd9ce5a4df93a53fa3e4ef064e2a8f  height=169696  log2_work=62.499542  date=2012-03-05 04:38:22
InvalidChainFound:  current best=000000000000019fac1d7703f8c03bf674d49e6384e4bd04c14f5c5fe893063e  height=169689  log2_work=62.489548  date=2012-03-05 03:38:14
InvalidChainFound: Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.
Это же сообщение (Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.) мне сейчас выдаётся в ответ на запрос getinfo. Счётчик getblockcount остановился на 169689. Вероятно, следующим этапом, как обычно, станет сброс счётчика getblockcount в нуль...

P.S. Так и есть. Сейчас перезапустил bitcoind, после чего счётчик сбросился в нуль и начал считать по-новому кругу.
newbie
Activity: 45
Merit: 0
Спасибо за ответы. Детали моих последних безуспешных попыток решения проблемы в моём сегодняшнем сообщении здесь: http://debianforum.ru/index.php?topic=6112.0

Я понял, что дело, оказывается, не в версии Berkeley DB.

Касательно чтения лога: Набежало уже более 53Мб, в основном что-то вроде:

Code:
ProcessBlock: ACCEPTED
received block 0000000000000a4a36fefc27f33ff2f2a8e4e0a579a0e395ac55daa065a823ec
SetBestChain: new best=0000000000000a4a36fefc27f33ff2f2a8e4e0a579a0e395ac55daa065a823ec  height=166788  log2_work=67.681396  tx=2419888  date=2012-02-14 16:28:56 progress=0.043438
Что здесь выискивать - мне непонятно.

Что касается бинарников с последней версией: Вроде бы, именно это я и сделал, взяв bitcoind из этого архива:  http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.5/bitcoin-0.8.5-linux.tar.gz/download ? Или нет? Вот с ним и происходят все эти неприятные вещи.
legendary
Activity: 2317
Merit: 2318
Quote
Потребовалось мне поставить Bitcoin-Qt на линукс (стабильный дистрибутив дебиан).
Скачайте бинарники с последней версией, в чём проблема?
http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.5/bitcoin-0.8.5-linux.tar.gz/download
legendary
Activity: 1400
Merit: 1000
Кстати, Новакоин для Linux собирается с Berkeley DB 5.1
https://bitcointalksearch.org/topic/m.3538732
epros, можешь спросить у Balthazar что поменять в исходниках Bitcoin, чтобы собрать с 5.1. Как у Balthazar будет время ,я думаю, он тебе ответит.
giv
sr. member
Activity: 254
Merit: 251
Я попробовал тупо скомпилировать исходники стандартного bitcoind, взятые с GitHub (и заточенные под версию 4.8 формата базы).
Какую версию биткоина собирали, из какой ветки и т.д.? Блоки хранятся в LevelDB, а не в BDB. Поэтому если сбрасываются блоки, то BDB скорее всего не при чем.
Исходники не "заточены" ни под какую версию BDB. Они прекрасно собираются и работают и с 4.8, и с 5.1. По крайней мере так было до недавнего времени, последние релизы не проверял.

Не могу понять, что мне делать-то теперь?
Читать лог. Лежит тут ~/.bitcoin/debug.log
legendary
Activity: 1498
Merit: 1021
Was mich nicht umbringt macht mich stärker [F.N.]
Биткоин хранит данные в Berkeley DB и стандартный пакет до сих пор использует версию 4.8 формата этой базы.
Стандартный клиент биткойн уже давно хранит данные в гугловской leveldb, а Berkeley DB в нём используется для храниения пар адрес:приватный ключ в wallet.dat.
tvv
legendary
Activity: 1302
Merit: 1005
Да по-моему быстрее будет с нуля нормальный софт написать, чем с этим разбираться...

PS  если там выкинуть нафиг не нужное - то он упрощается раз в 100, так что писать не долго.

PPS  будь это не финансы - еще можно было бы потрахаться...
newbie
Activity: 45
Merit: 0
Потребовалось мне поставить Bitcoin-Qt на линукс (стабильный дистрибутив дебиан). Сразу столкнулся с проблемой - почему-то пакет не вошёл в стандартный репозиторий. Начал разбираться почему, оказалось - неспроста: Биткоин хранит данные в Berkeley DB и стандартный пакет до сих пор использует версию 4.8 формата этой базы. В то время как нормальный софт, эксплуатируемый уже пару лет, давно использует версию 5.1 формата базы. В том числе, stable-релиз дистрибутива debian весь заточен под версию 5.1. А эти форматы несовместимы на бинарном уровне, вот ведь какая ерунда... Об этом написано в readme файлах к стандартному пакету Bitcoin-Qt. Я не могу сделать downgrade своей системы до формата 4.8, ибо половина системного софта заточена на работу с форматом 5.1. А стабильной версии биткоин, работающей с форматом 5.1, тоже нет. Т.е. имеется версия, входящая в репозиторий нестабильного релиза, но на стабильный релиз она не ставится.

Я попробовал тупо скомпилировать исходники стандартного bitcoind, взятые с GitHub (и заточенные под версию 4.8 формата базы). Демон запускается, работает и даже отвечает на JSON запросы. Но:
1) Иногда вдруг соединение с демоном по необъяснимой причине не устанавливается. Десятки попыток не дают результата. Потом вдруг через пять минут всё опять оживает.
2) Что ещё хуже: Несколько раз непонятно почему происходил ПОЛНЫЙ СБРОС БАЗЫ. Т.е. база заполнилась уже более чем до 100 тыс. блоков (а один раз - даже более чем до 200 тыс.), а потом вдруг, хоп, снова getblockcount возвращает 0 блоков и заполнение начинается сначала...

Не могу понять, что мне делать-то теперь?
Pages:
Jump to: