linux-0.1.6-test5 solved Liberty's zombie socket problem. The
MSG_DONTWAIT fixed the root cause, it's not having to terminate and
restart the thread. The sockets are marked non-blocking already, so I
don't understand why. Maybe it forgot. I suppose if a socket fails and
the OS closes it then there's nothing left to remember it was
non-blocking, but then accessing a closed handle should return
immediately with an error. There's no MSG_DONTWAIT on Windows, marking
the socket as nonblocking is the only way, so if anyone runs the Windows
version in Wine it will have to rely on terminating the thread.
The only problem now is the DB exceptions he's getting.
************************
EXCEPTION: 11DbException
Db::open: Bad file descriptor
bitcoin in ThreadMessageHandler()
************************
EXCEPTION: 11DbException
Db::close: Bad file descriptor
bitcoin in ThreadMessageHandler()
I had expected those to be a Wine problem, but he's getting them on
Linux just the same. He tried moving the datadir to a different drive,
no help. I've never gotten them. I'm running a stress test that
continuously generates a lot of activity and DB access and never got it.
He has Ubuntu 64-bit and I have 32-bit, so I'm assuming that's the
difference. Is your Linux machine 64-bit or 32-bit? Have you ever had
a DB exception? (see db.log also) Now that the zombie problem is fixed
in test5, could you start running it on your Linux machine? We could
use a 3rd vote to get a better idea of what we're dealing with here.
The DB exception is uncaught, so it'll stop the program if you get it.
BTW, zetaboards insists on displaying "Member #", so you better sign up
soon and grab a good account number.
Linux update
Private email with Martti Malmi (sirius-m) · 5 messages · from 15 November 2009 · with Satoshi Nakamoto, mmalmi@cc.hut.fi
Read in Satoshi Mail Archive source
The program terminated a few times with the same error in debug.log
close: Bad file descriptor
blkindex.dat: Bad file descriptor
I'm running a 64-bit Ubuntu distribution.
The only problem now is the DB exceptions he's getting. ************************ EXCEPTION: 11DbException Db::open: Bad file descriptor bitcoin in ThreadMessageHandler() ************************ EXCEPTION: 11DbException Db::close: Bad file descriptor bitcoin in ThreadMessageHandler() I had expected those to be a Wine problem, but he's getting them on Linux just the same. He tried moving the datadir to a different drive, no help. I've never gotten them. I'm running a stress test that continuously generates a lot of activity and DB access and never got it. He has Ubuntu 64-bit and I have 32-bit, so I'm assuming that's the difference. Is your Linux machine 64-bit or 32-bit? Have you ever had a DB exception? (see db.log also) Now that the zombie problem is fixed in test5, could you start running it on your Linux machine? We could use a 3rd vote to get a better idea of what we're dealing with here. The DB exception is uncaught, so it'll stop the program if you get it. BTW, zetaboards insists on displaying "Member #", so you better sign up soon and grab a good account number.
I'd better install 64-bit then. I imagine it's something about the
32-bit version of Berkeley DB on 64-bit Linux.
BTW, in things like the feature list credits, do you want me to refer to
you as sirius-m or Martti Malmi? I think most projects go by real names
for consistency.
mmalmi@cc.hut.fi wrote:The program terminated a few times with the same error in debug.log from Db::close. Db.log has: close: Bad file descriptor blkindex.dat: Bad file descriptor I'm running a 64-bit Ubuntu distribution. > The only problem now is the DB exceptions he's getting. > ************************ > EXCEPTION: 11DbException > Db::open: Bad file descriptor > bitcoin in ThreadMessageHandler() > ************************ > EXCEPTION: 11DbException > Db::close: Bad file descriptor > bitcoin in ThreadMessageHandler() > > I had expected those to be a Wine problem, but he's getting them on > Linux just the same. He tried moving the datadir to a different drive, > no help. I've never gotten them. I'm running a stress test that > continuously generates a lot of activity and DB access and never got it. > > He has Ubuntu 64-bit and I have 32-bit, so I'm assuming that's the > difference. Is your Linux machine 64-bit or 32-bit? Have you ever had > a DB exception? (see db.log also) Now that the zombie problem is fixed > in test5, could you start running it on your Linux machine? We could > use a 3rd vote to get a better idea of what we're dealing with here. > The DB exception is uncaught, so it'll stop the program if you get it. > > BTW, zetaboards insists on displaying "Member #", so you better sign up > soon and grab a good account number.
Perhaps the real name is better.
Another name question: I've been thinking of a name for the exchange
service, and I came up with Bitcoin X (bitcoinx.com) and Bitcoin Shop
(bitcoinshop.com). Which one do you find better?
I'd better install 64-bit then. I imagine it's something about the 32-bit version of Berkeley DB on 64-bit Linux. BTW, in things like the feature list credits, do you want me to refer to you as sirius-m or Martti Malmi? I think most projects go by real names for consistency. mmalmi@cc.hut.fi wrote: > The program terminated a few times with the same error in debug.log > from Db::close. Db.log has: > > close: Bad file descriptor > blkindex.dat: Bad file descriptor > > I'm running a 64-bit Ubuntu distribution. > >> The only problem now is the DB exceptions he's getting. >> ************************ >> EXCEPTION: 11DbException >> Db::open: Bad file descriptor >> bitcoin in ThreadMessageHandler() >> ************************ >> EXCEPTION: 11DbException >> Db::close: Bad file descriptor >> bitcoin in ThreadMessageHandler() >> >> I had expected those to be a Wine problem, but he's getting them on >> Linux just the same. He tried moving the datadir to a different drive, >> no help. I've never gotten them. I'm running a stress test that >> continuously generates a lot of activity and DB access and never got it. >> >> He has Ubuntu 64-bit and I have 32-bit, so I'm assuming that's the >> difference. Is your Linux machine 64-bit or 32-bit? Have you ever had >> a DB exception? (see db.log also) Now that the zombie problem is fixed >> in test5, could you start running it on your Linux machine? We could >> use a 3rd vote to get a better idea of what we're dealing with here. >> The DB exception is uncaught, so it'll stop the program if you get it. >> >> BTW, zetaboards insists on displaying "Member #", so you better sign up >> soon and grab a good account number. >
At first glance, bitcoinshop.com looks better. bitcoinexchange.com
might be better than bitcoinx.com.
Be careful where you search domain names, many will front-run you. Even
network solutions, although they've said they won't if you use their
whois page not the homepage. The only safe place is
http://www.internic.com/whois.html
mmalmi@cc.hut.fi wrote:Perhaps the real name is better. Another name question: I've been thinking of a name for the exchange service, and I came up with Bitcoin X (bitcoinx.com) and Bitcoin Shop (bitcoinshop.com). Which one do you find better? > I'd better install 64-bit then. I imagine it's something about the > 32-bit version of Berkeley DB on 64-bit Linux. > > BTW, in things like the feature list credits, do you want me to refer > to you as sirius-m or Martti Malmi? I think most projects go by real > names for consistency. > > mmalmi@cc.hut.fi wrote: >> The program terminated a few times with the same error in debug.log >> from Db::close. Db.log has: >> >> close: Bad file descriptor >> blkindex.dat: Bad file descriptor >> >> I'm running a 64-bit Ubuntu distribution. >> >>> The only problem now is the DB exceptions he's getting. >>> ************************ >>> EXCEPTION: 11DbException >>> Db::open: Bad file descriptor >>> bitcoin in ThreadMessageHandler() >>> ************************ >>> EXCEPTION: 11DbException >>> Db::close: Bad file descriptor >>> bitcoin in ThreadMessageHandler() >>> >>> I had expected those to be a Wine problem, but he's getting them on >>> Linux just the same. He tried moving the datadir to a different drive, >>> no help. I've never gotten them. I'm running a stress test that >>> continuously generates a lot of activity and DB access and never got >>> it. >>> >>> He has Ubuntu 64-bit and I have 32-bit, so I'm assuming that's the >>> difference. Is your Linux machine 64-bit or 32-bit? Have you ever had >>> a DB exception? (see db.log also) Now that the zombie problem is fixed >>> in test5, could you start running it on your Linux machine? We could >>> use a 3rd vote to get a better idea of what we're dealing with here. >>> The DB exception is uncaught, so it'll stop the program if you get it. >>> >>> BTW, zetaboards insists on displaying "Member #", so you better sign up >>> soon and grab a good account number. >>