본문으로 건너뛰기

이메일 #181 - #185

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

이메일 #181

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

영어 원문

debug.log attached

> 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?
>>>>>>
>>>>
>>>>
>>>>
>>
>>
>>

이메일 #182

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

영어 원문

It's in RecvUntil, but I still can't see anything wrong with it.  The 
only thing I can think of is if the socket is receiving a spew of
characters.

Try this irc.cpp. debug.log may grow rapidly so be ready to kill it.

[email protected] wrote:
> debug.log attached
>
>> 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?
>>>>>>>
>>>>>
>>>>>
>>>>>
>>>
>>>
>>>
>
>
>

이메일 #183

Date: Fri, 05 Mar 2010 00:27:08 +0200
From: [email protected]
To: Satoshi Nakamoto <[email protected]>
Subject: Re: Bitcoind

영어 원문

Here's the debug.log. I stopped bitcoind before it took up all the memory.

> It's in RecvUntil, but I still can't see anything wrong with it. The
> only thing I can think of is if the socket is receiving a spew of
> characters.
>
> Try this irc.cpp. debug.log may grow rapidly so be ready to kill it.
>
> [email protected] wrote:
>> debug.log attached
>>
>>> 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?
>>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>>>
>>
>>
>>

이메일 #184

Date: Fri, 05 Mar 2010 02:09:02 +0200
From: [email protected]
To: Satoshi Nakamoto <[email protected]>
Subject: Re: Bitcoind

영어 원문

Here's another test run debug.log I got when debugging with gdb. The  
program started eating memory after the debug line "irc 8" and within
a few seconds crashed with "terminate called after throwing an
instance of 'std::bad_alloc'".

> It's in RecvUntil, but I still can't see anything wrong with it. The
> only thing I can think of is if the socket is receiving a spew of
> characters.
>
> Try this irc.cpp. debug.log may grow rapidly so be ready to kill it.
>
> [email protected] wrote:
>> debug.log attached
>>
>>> 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?
>>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>>>
>>
>>
>>

이메일 #185

Date: Fri, 05 Mar 2010 00:42:16 +0000
From: Satoshi Nakamoto <[email protected]>
Subject: Re: Bitcoind
To: [email protected]

영어 원문

It's in util.c ParseString.  I'm guessing the problem is incompatibility 
between the type "unsigned int" and the type of str.npos, which is
size_type.

Try changing the two "unsigned int"s to "size_type".

old:
void ParseString(const string& str, char c, vector<string>& v)
{
unsigned int i1 = 0;
unsigned int i2;
do
{
i2 = str.find(c, i1);
v.push_back(str.substr(i1, i2-i1));
i1 = i2+1;
}
while (i2 != str.npos);
}

new:
void ParseString(const string& str, char c, vector<string>& v)
{
size_type i1 = 0;
size_type i2;
do
{
i2 = str.find(c, i1);
v.push_back(str.substr(i1, i2-i1));
i1 = i2+1;
}
while (i2 != str.npos);
}


[email protected] wrote:
> Here's another test run debug.log I got when debugging with gdb. The
> program started eating memory after the debug line "irc 8" and within a
> few seconds crashed with "terminate called after throwing an instance of
> 'std::bad_alloc'".
>
>> It's in RecvUntil, but I still can't see anything wrong with it. The
>> only thing I can think of is if the socket is receiving a spew of
>> characters.
>>
>> Try this irc.cpp. debug.log may grow rapidly so be ready to kill it.
>>
>> [email protected] wrote:
>>> debug.log attached
>>>
>>>> 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에 공유페이스북에 공유쓰레드에 공유