Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
24 марта 2011, 9:01:25 PM   # 1
 
 
Сообщения: 447
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
При работе CoinPal, я имел Bitcoin демон повесить несколько раз. Поведение было то же самое каждый раз. RPC вызывает тайм-аут без ответа. Перезапустить демон, он догоняет blockchain и работает правильно снова в течение нескольких часов или дней, прежде чем это произойдет снова.

Вот информация у меня есть. Когда я заметил демон повесил, хвост debug.log всегда выглядит примерно так. Я могу смотреть журнал на неопределенное время и видеть только аналогичные сообщения потоковых по в обычном режиме:

Код:
IRC получил присоединиться
IRC получил присоединиться
AddAddress ()
IRC получил новый адрес
IRC получил присоединиться
IRC получил присоединиться

Если я смотрю назад в журнале отладки для последней деятельности, не связанной с адресами и IRC, я обычно получаю что-то похожее на это:

Код:
IRC получил присоединиться
получили: INV (37 байт)
  получил инвентарный: ТХ 1d95d66a217e5fbe49bd новый
askfor ТХ 1d95d66a217e5fbe49bd 0
отправка GetData: ТХ 1d95d66a217e5fbe49bd
отправка: GetData (37 байт)
получили: INV (37 байт)
  получил инвентарный: ТХ 1d95d66a217e5fbe49bd новый
askfor ТХ 1d95d66a217e5fbe49bd 1300914187000000
получили: INV (37 байт)
  получил инвентарный: ТХ 1d95d66a217e5fbe49bd новый
askfor ТХ 1d95d66a217e5fbe49bd 1300914307000000
получил: ТХ (617 байт)
ThreadRPCServer метод = sendfrom
IRC получил присоединиться

Это последнее "Отправлено из" запрос никогда не посылает ответ.

Когда демон висит снова, какую информацию следует собирать, чтобы разработчики могли диагностировать проблему?
mndrix сейчас офлайн Пожаловаться на mndrix   Ответить с цитированием Мультицитирование сообщения от mndrix Быстрый ответ на сообщение mndrix


Как заработать Биткоины?
Без вложений. Не майнинг.


24 марта 2011, 9:09:17 PM   # 2
 
 
Сообщения: 1484
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

Получил 1806 Биткоинов
Реальная история.





Вы играли вокруг с -rpctimeout?
jgarzik сейчас офлайн Пожаловаться на jgarzik   Ответить с цитированием Мультицитирование сообщения от jgarzik Быстрый ответ на сообщение jgarzik

25 марта 2011, 8:42:49 AM   # 3
 
 
Сообщения: 406
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

Я думаю, что мы получили затор там ...

RPC:
Отправлено из
    CRITICAL_BLOCK (cs_mapWallet)
        SendMoneyToBitcoinAddress (strAddress, nAmount, WTX)
            SendMoney (scriptPubKey, nValue, wtxNew, fAskFee)
                CRITICAL_BLOCK (cs_main)
                    ...

processmessages:
CRITICAL_BLOCK (cs_main)
    ProcessMessage (pfrom, strCommand, vMsg)
        AddToWalletIfMine ()
              AddToWallet (WTX)
                  CRITICAL_BLOCK (cs_mapWallet)
ArtForz сейчас офлайн Пожаловаться на ArtForz   Ответить с цитированием Мультицитирование сообщения от ArtForz Быстрый ответ на сообщение ArtForz

25 марта 2011, 11:35:48 AM   # 4
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

К сожалению. Если RPCs будет работать с БФЛ состоялась?
Майк Хирн сейчас офлайн Пожаловаться на Mike Хирн   Ответить с цитированием Мультицитирование сообщения от Mike Хирн Быстрый ответ на сообщение Mike Хирн

25 марта 2011, 12:35:19 PM   # 5
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

К сожалению. Если RPCs будет работать с БФЛ состоялась?
D'о!

sendfrom определенно должны CRITICAL_BLOCK (cs_main). Хороший улов ArtForz.
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

25 марта 2011, 12:46:11 PM   # 6
 
 
Сообщения: 358
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

ArtForz, вы получили BTC 5.00 поступающим от меня пятнистости это. Очень хорошо сделано.
mikegogulski сейчас офлайн Пожаловаться на mikegogulski   Ответить с цитированием Мультицитирование сообщения от mikegogulski Быстрый ответ на сообщение mikegogulski

25 марта 2011, 1:01:00 PM   # 7
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

Кто-нибудь есть опыт работы с VALGRIND -helgrind или другими автоматизированными инструментами для поиска потенциальных тупиков?

Запуск его на bitcoind я получаю огромное количество ложных срабатываний ...

Если мы просто документировать каждый метод, который содержит один или несколько замков? Я волнуюсь, есть и другие возможные тупики скрываясь.
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

25 марта 2011, 1:35:26 PM   # 8
 
 
Сообщения: 1470
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

К сожалению. Если RPCs будет работать с БФЛ состоялась?
D'о!

sendfrom определенно должны CRITICAL_BLOCK (cs_main). Хороший улов ArtForz.


Для какой версии будет патч будет запланирован на?
ShadowOfHarbringer сейчас офлайн Пожаловаться на ShadowOfHarbringer   Ответить с цитированием Мультицитирование сообщения от ShadowOfHarbringer Быстрый ответ на сообщение ShadowOfHarbringer

25 марта 2011, 1:52:10 PM   # 9
 
 
Сообщения: 406
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

хорошо, быстрая ручная проверка предлагает для cs_main + cs_mapWallet только rpc.cpp sendfrom и sendmany делают неправильные вещи.
ArtForz сейчас офлайн Пожаловаться на ArtForz   Ответить с цитированием Мультицитирование сообщения от ArtForz Быстрый ответ на сообщение ArtForz

25 марта 2011, 1:55:38 PM   # 10
 
 
Сообщения: 358
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

@Gavin: Документ? Всегда хорошая вещь. Это сложно материал, как показал ArtForz. Мой собственный опыт идет так: 1: Если вы действительно не должны блокировать, толкать в очередь последовательного действия; 2: когда вы действительно должны заблокировать, все подготовить заранее, а затем блокировать, изменять и разблокировать как можно быстрее; и 3: эр, Yeh, документ, по крайней мере, так что вы можете вспомнить, что, черт возьми, вы были до того, когда вы решили, что вам нужен этот замок.

Очевидно, что это становится очень трудно, когда мы имеем дело с тем, что, по существу, библиотека примитивы для манипулирования набора данных.

Если бы я был трезв в тот момент, я произвел прекомпилятор макрос, который будет флаг потенциал, вложенные замки в потоке управления. К счастью, я не трезв.
mikegogulski сейчас офлайн Пожаловаться на mikegogulski   Ответить с цитированием Мультицитирование сообщения от mikegogulski Быстрый ответ на сообщение mikegogulski

25 марта 2011, 2:26:12 PM   # 11
 
 
Сообщения: 406
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

Еще один
setaccount
    CRITICAL_BLOCK (cs_mapAddressBook)
        GetAccountAddress (strOldAccount)
            CRITICAL_BLOCK (cs_mapWallet)

processmessages:
CRITICAL_BLOCK (cs_main)
    ProcessMessage (pfrom, strCommand, vMsg)
        AddToWalletIfMine ()
              AddToWallet (WTX)
                  CRITICAL_BLOCK (cs_mapWallet)
                      walletdb.WriteName (PubKeyToAddress (vchDefaultKey), "")
                          CRITICAL_BLOCK (cs_mapAddressBook)
ArtForz сейчас офлайн Пожаловаться на ArtForz   Ответить с цитированием Мультицитирование сообщения от ArtForz Быстрый ответ на сообщение ArtForz

25 марта 2011, 2:28:24 PM   # 12
 
 
Сообщения: 447
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

Отлично сработано. Дайте мне знать, когда патч делает это в бета / ночные сборки, и я запустить его в производство для испытания.
mndrix сейчас офлайн Пожаловаться на mndrix   Ответить с цитированием Мультицитирование сообщения от mndrix Быстрый ответ на сообщение mndrix

26 марта 2011, 5:28:12 PM   # 13
 
 
Сообщения: 1484
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

Вытащите запрос: https://github.com/bitcoin/bitcoin/pull/136

Прямая ссылка фиксации (патч): https://github.com/jgarzik/bitcoin/commit/4feff786546448e2c436956ad77b9081167e3124

К сожалению, совершить больше, чем это должно быть для легкого чтения, потому что большие блоки кода были не-отступом.

jgarzik сейчас офлайн Пожаловаться на jgarzik   Ответить с цитированием Мультицитирование сообщения от jgarzik Быстрый ответ на сообщение jgarzik

2 апреля 2011, 6:47:29 PM   # 14
 
 
Сообщения: 1372
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

Сегодня у меня были подобные проблемы, как mndrix было; bitcoind замораживают при выплатах. Это был второй раз в истории бассейна, но во-первых, с sendmany командой.

mndrix, вы успешно протестировано патч jgarzik в?
слякоть сейчас офлайн Пожаловаться на слякоть   Ответить с цитированием Мультицитирование сообщения от слякоти Быстрый ответ на сообщение слякоть

11 апреля 2011, 3:15:15 PM   # 15
 
 
Сообщения: 447
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

mndrix, вы успешно протестировано патч jgarzik в?

Я не проверял патч. Мои слабые попытки обобщить Bitcoin из источника не удалось (говорит мое невежество не проблема с Bitcoin). Кто-нибудь знает, если патч доступен в релиз-кандидате построить для Linux еще?
mndrix сейчас офлайн Пожаловаться на mndrix   Ответить с цитированием Мультицитирование сообщения от mndrix Быстрый ответ на сообщение mndrix

11 апреля 2011, 9:17:42 PM   # 16
 
 
Сообщения: 1372
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

этот патч уже в Bitcoin вверх по течению, он выглядит как все больше людей наблюдали за этим. Я буду стараться использовать это в бассейне завтра ...
слякоть сейчас офлайн Пожаловаться на слякоть   Ответить с цитированием Мультицитирование сообщения от слякоти Быстрый ответ на сообщение слякоть

15 апреля 2011, 5:16:49 PM   # 17
 
 
Сообщения: 447
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

Монета {Pal, карта} теперь работает ночные сборки, включая изменение тупикового. Я доложу здесь, если bitcoind висит снова.
mndrix сейчас офлайн Пожаловаться на mndrix   Ответить с цитированием Мультицитирование сообщения от mndrix Быстрый ответ на сообщение mndrix

16 апреля 2011, 6:18:04 AM   # 18
 
 
Сообщения: 2352
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

Просто FYI - gjs278 делил MONIT скрипт для перезагрузки:

  Перезапустите bitcoind автоматически, если он выходит из строя или умирает с помощью Monit:
    http://bitcointalk.org/index.php?topic=5911.0
Стивен Gornick сейчас офлайн Пожаловаться на Stephen Gornick   Ответить с цитированием Мультицитирование сообщения от Stephen Gornick Быстрый ответ на сообщение Стивен Gornick

19 апреля 2011, 6:21:32 AM   # 19
 
 
Сообщения: 2352
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

Монета {Pal, карта} теперь работает ночные сборки, включая изменение тупикового. Я доложу здесь, если bitcoind висит снова.

Был апрель выпуска восемнадцатой службы CoinPal связанный с этим? Ваш после упомянутый "Я перезапущен некоторые компоненты сервера и сайт, кажется, работает хорошо сейчас",
Стивен Gornick сейчас офлайн Пожаловаться на Stephen Gornick   Ответить с цитированием Мультицитирование сообщения от Stephen Gornick Быстрый ответ на сообщение Стивен Gornick

22 апреля 2011, 2:28:52 PM   # 20
 
 
Сообщения: 447
Цитировать по имени
цитировать ответ
по умолчанию Re: bitcoind перестает отвечать на запросы RPC

Монета {Pal, карта} теперь работает ночные сборки, включая изменение тупикового. Я доложу здесь, если bitcoind висит снова.

Был апрель выпуска восемнадцатой службы CoinPal связанный с этим? Ваш после упомянутый "Я перезапущен некоторые компоненты сервера и сайт, кажется, работает хорошо сейчас",

Я рад, что вы принесли это вверх sgornick. Я хотел бы упомянуть здесь. Это особенно отключение было вызвано ошибкой в ​​моем коде заставляя его просочиться открытые дескрипторы файлов. Это не было связано с bitcoind.

С обновлением до ночной сборки на 15 апреля, у меня не было никаких проблем с bitcoind подвешивания. Я почти наверняка увидел бы один сейчас, если проблема все еще присутствует. Спасибо всем за вашу помощь диагностики и исправления ошибки.
mndrix сейчас офлайн Пожаловаться на mndrix   Ответить с цитированием Мультицитирование сообщения от mndrix Быстрый ответ на сообщение mndrix



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW