본문으로 건너뛰기

이메일 #176 - #180

원본 출처: Satoshi - Sirius emails 2009-2011

이메일 #176

Date: Tue, 02 Mar 2010 21:33:24 +0200
From: [email protected]
To: Satoshi Nakamoto <[email protected]>
Subject: Re: Bitcoind

한글 번역

보냅니다. 충돌 오류 메시지를 빼먹었네요:

terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc

debug.log를 보내주실 수 있나요?

[email protected] 님의 글:

제 bitcoind 빌드를 ddd 디버거로 디버깅해 봤는데, 아직 별 성과가 없습니다. 항상 시스템 메모리를 전부 차지하고 결국 충돌합니다. 제 빌드 문제인지 확인할 수 있도록 최신 64비트 bitcoind 빌드를 다시 보내주실 수 있을까요?

영어 원문

Here goes. I forgot to mention the crash error message:

terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc

> Could you send me the debug.log?
>
> [email protected] wrote:
>> I tried debugging my build of bitcoind with ddd debugger, but
>> didn't have much success yet. It always ends up taking all the
>> system's memory and finally crashes. Could you please send me again
>> the latest 64 bit build of bitcoind, so I can see if the problem
>> is about my build?
>>

이메일 #177

Date: Tue, 02 Mar 2010 21:36:10 +0200
From: [email protected]
To: Satoshi Nakamoto <[email protected]>
Subject: Re: Bitcoind

한글 번역

이건 보내주신 컴파일본에서 나온 것인데, 거기서도 같은 문제가 발생했습니다.

보냅니다. 충돌 오류 메시지를 빼먹었네요:

terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc

debug.log를 보내주실 수 있나요?

[email protected] 님의 글:

제 bitcoind 빌드를 ddd 디버거로 디버깅해 봤는데, 아직 별 성과가 없습니다. 항상 시스템 메모리를 전부 차지하고 결국 충돌합니다. 제 빌드 문제인지 확인할 수 있도록 최신 64비트 bitcoind 빌드를 다시 보내주실 수 있을까요?

영어 원문

This was from the compilation you sent, the same problem occurred with it.

> Here goes. I forgot to mention the crash error message:
>
> terminate called after throwing an instance of 'std::bad_alloc'
> what(): std::bad_alloc
>
>> Could you send me the debug.log?
>>
>> [email protected] wrote:
>>> I tried debugging my build of bitcoind with ddd debugger, but
>>> didn't have much success yet. It always ends up taking all the
>>> system's memory and finally crashes. Could you please send me
>>> again the latest 64 bit build of bitcoind, so I can see if the
>>> problem is about my build?
>>>

이메일 #178

Date: Tue, 02 Mar 2010 22:27:22 +0000
From: Satoshi Nakamoto <[email protected]>
Subject: Re: Bitcoind
To: [email protected]

한글 번역

getinfo를 실행하지 않아도 여전히 그런가요?

아래에 나열된 CreateThread들을 주석 처리한 뒤, 다시 문제가 생길 때까지 하나씩 되살려 보세요. 그러면 문제가 어느 스레드에 있는지 알 수 있을 겁니다.

net.cpp의 // Start threads 아래 CreateThread(ThreadIRCSeed, NULL) CreateThread(ThreadSocketHandler, NULL, true) CreateThread(ThreadOpenConnections, NULL) CreateThread(ThreadMessageHandler, NULL)

init.cpp: CreateThread(ThreadRPCServer, NULL);

[email protected] 님의 글:

보냅니다. 충돌 오류 메시지를 빼먹었네요:

terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc

debug.log를 보내주실 수 있나요?

[email protected] 님의 글:

제 bitcoind 빌드를 ddd 디버거로 디버깅해 봤는데, 아직 별 성과가 없습니다. 항상 시스템 메모리를 전부 차지하고 결국 충돌합니다. 제 빌드 문제인지 확인할 수 있도록 최신 64비트 bitcoind 빌드를 다시 보내주실 수 있을까요?

영어 원문

Does it still do it if you didn't do getinfo?

You could comment out the CreateThreads listed below, then re-enable
them one at a time until it does it again. Then we would know which
thread the problem is in.

net.cpp, under // Start threads
CreateThread(ThreadIRCSeed, NULL)
CreateThread(ThreadSocketHandler, NULL, true)
CreateThread(ThreadOpenConnections, NULL)
CreateThread(ThreadMessageHandler, NULL)

init.cpp:
CreateThread(ThreadRPCServer, NULL);

[email protected] wrote:
> Here goes. I forgot to mention the crash error message:
>
> terminate called after throwing an instance of 'std::bad_alloc'
> what(): std::bad_alloc
>
>> Could you send me the debug.log?
>>
>> [email protected] wrote:
>>> I tried debugging my build of bitcoind with ddd debugger, but didn't
>>> have much success yet. It always ends up taking all the system's
>>> memory and finally crashes. Could you please send me again the
>>> latest 64 bit build of bitcoind, so I can see if the problem is
>>> about my build?
>>>
>
>
>

이메일 #179

Date: Wed, 03 Mar 2010 03:50:39 +0200
From: [email protected]
To: Satoshi Nakamoto <[email protected]>
Subject: Re: Bitcoind

한글 번역

getinfo와 관계없이 오류가 발생합니다. ThreadIRCSeed를 주석 처리하니 문제가 해결됐습니다.

getinfo를 실행하지 않아도 여전히 그런가요?

아래에 나열된 CreateThread들을 주석 처리한 뒤, 다시 문제가 생길 때까지 하나씩 되살려 보세요. 그러면 문제가 어느 스레드에 있는지 알 수 있을 겁니다.

net.cpp의 // Start threads 아래 CreateThread(ThreadIRCSeed, NULL) CreateThread(ThreadSocketHandler, NULL, true) CreateThread(ThreadOpenConnections, NULL) CreateThread(ThreadMessageHandler, NULL)

init.cpp: CreateThread(ThreadRPCServer, NULL);

[email protected] 님의 글:

보냅니다. 충돌 오류 메시지를 빼먹었네요:

terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc

debug.log를 보내주실 수 있나요?

[email protected] 님의 글:

제 bitcoind 빌드를 ddd 디버거로 디버깅해 봤는데, 아직 별 성과가 없습니다. 항상 시스템 메모리를 전부 차지하고 결국 충돌합니다. 제 빌드 문제인지 확인할 수 있도록 최신 64비트 bitcoind 빌드를 다시 보내주실 수 있을까요?

영어 원문

I get the error regardless of the getinfo. Commenting out  
ThreadIRCSeed fixed the problem.

> Does it still do it if you didn't do getinfo?
>
> You could comment out the CreateThreads listed below, then re-enable
> them one at a time until it does it again. Then we would know which
> thread the problem is in.
>
> net.cpp, under // Start threads
> CreateThread(ThreadIRCSeed, NULL)
> CreateThread(ThreadSocketHandler, NULL, true)
> CreateThread(ThreadOpenConnections, NULL)
> CreateThread(ThreadMessageHandler, NULL)
>
> init.cpp:
> CreateThread(ThreadRPCServer, NULL);
>
> [email protected] wrote:
>> Here goes. I forgot to mention the crash error message:
>>
>> terminate called after throwing an instance of 'std::bad_alloc'
>> what(): std::bad_alloc
>>
>>> Could you send me the debug.log?
>>>
>>> [email protected] wrote:
>>>> I tried debugging my build of bitcoind with ddd debugger, but
>>>> didn't have much success yet. It always ends up taking all the
>>>> system's memory and finally crashes. Could you please send me
>>>> again the latest 64 bit build of bitcoind, so I can see if the
>>>> problem is about my build?
>>>>
>>
>>
>>

이메일 #180

Date: Wed, 03 Mar 2010 03:54:52 +0000
From: Satoshi Nakamoto <[email protected]>
Subject: Re: Bitcoind
To: [email protected]

한글 번역

범위가 많이 좁혀졌네요. debug.log에 IRC 활동 내용이 전혀 출력되지 않았으니, RecvUntil을 넘어가지 못했을 것 같습니다. 겉으로 봐서는 딱히 눈에 띄는 게 없네요. ConnectSocket이나 RecvUntil 중 한쪽에 있을 수밖에 없을 것 같습니다.

첨부한 irc.cpp와 net.cpp로 실행해 보고 debug.log를 보내주세요.

아니면 gdb에서 실행하면서 ThreadIRCSeed를 단계별로 따라가 볼 수도 있습니다. gdb --args bitcoin [switches] b ThreadIRCSeed run step 또는 u로 루틴을 건너뛰고 빠져나오세요.

[email protected] 님의 글:

getinfo와 관계없이 오류가 발생합니다. ThreadIRCSeed를 주석 처리하니 문제가 해결됐습니다.

getinfo를 실행하지 않아도 여전히 그런가요?

아래에 나열된 CreateThread들을 주석 처리한 뒤, 다시 문제가 생길 때까지 하나씩 되살려 보세요. 그러면 문제가 어느 스레드에 있는지 알 수 있을 겁니다.

net.cpp의 // Start threads 아래 CreateThread(ThreadIRCSeed, NULL) CreateThread(ThreadSocketHandler, NULL, true) CreateThread(ThreadOpenConnections, NULL) CreateThread(ThreadMessageHandler, NULL)

init.cpp: CreateThread(ThreadRPCServer, NULL);

[email protected] 님의 글:

보냅니다. 충돌 오류 메시지를 빼먹었네요:

terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc

debug.log를 보내주실 수 있나요?

[email protected] 님의 글:

제 bitcoind 빌드를 ddd 디버거로 디버깅해 봤는데, 아직 별 성과가 없습니다. 항상 시스템 메모리를 전부 차지하고 결국 충돌합니다. 제 빌드 문제인지 확인할 수 있도록 최신 64비트 bitcoind 빌드를 다시 보내주실 수 있을까요?

영어 원문

That narrows it down a lot.  It didn't print any IRC activity in 
debug.log, so I guess it couldn't have gotten past the RecvUntil.
Eyeballing it I don't see anything obvious. I guess it would have to be
either in ConnectSocket or RecvUntil.

Try it with the attached irc.cpp and net.cpp and send me the debug.log.

Or you could run it in gdb and step through ThreadIRCSeed
gdb --args bitcoin [switches]
b ThreadIRCSeed
run
step
or u to step over and up out of routines.

[email protected] wrote:
> I get the error regardless of the getinfo. Commenting out ThreadIRCSeed
> fixed the problem.
>
>> Does it still do it if you didn't do getinfo?
>>
>> You could comment out the CreateThreads listed below, then re-enable
>> them one at a time until it does it again. Then we would know which
>> thread the problem is in.
>>
>> net.cpp, under // Start threads
>> CreateThread(ThreadIRCSeed, NULL)
>> CreateThread(ThreadSocketHandler, NULL, true)
>> CreateThread(ThreadOpenConnections, NULL)
>> CreateThread(ThreadMessageHandler, NULL)
>>
>> init.cpp:
>> CreateThread(ThreadRPCServer, NULL);
>>
>> [email protected] wrote:
>>> Here goes. I forgot to mention the crash error message:
>>>
>>> terminate called after throwing an instance of 'std::bad_alloc'
>>> what(): std::bad_alloc
>>>
>>>> Could you send me the debug.log?
>>>>
>>>> [email protected] wrote:
>>>>> I tried debugging my build of bitcoind with ddd debugger, but
>>>>> didn't have much success yet. It always ends up taking all the
>>>>> system's memory and finally crashes. Could you please send me
>>>>> again the latest 64 bit build of bitcoind, so I can see if the
>>>>> problem is about my build?
>>>>>
>>>
>>>
>>>
>
>
>
링크 복사하기X에 공유페이스북에 공유쓰레드에 공유