Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Current master not accepting mempool transactions #82

Closed
swansontec opened this issue Jun 2, 2015 · 6 comments
Closed

Current master not accepting mempool transactions #82

swansontec opened this issue Jun 2, 2015 · 6 comments
Assignees
Labels

Comments

@swansontec
Copy link
Contributor

As you know, we run a bunch of libbitcoin servers at different versions of the software. We have a server compiled with the latest master (June 01), and this one does not fetch incoming transactions into the mempool - the mempool stays completely empty, even though the blockchain is fully synced. We have another server compiled on May 11, and this one runs fine. At some point between those two dates, the ability to populate the mempool was lost.

We are using the vanilla build scripts, plus --disable-consensus or whatever that flag is called.

@evoskuil
Copy link
Member

evoskuil commented Jun 2, 2015

I may have inadvertently checked in a debug disabled line into master. I'll check it this evening.

e

@evoskuil
Copy link
Member

evoskuil commented Jun 3, 2015

I checked on this possibility that I had checked in a commented out line pertaining to this, but that isn't the case. Last week I pushed changes to version2 that I believed were syncing in the same manner as the release. But given we/I have always had problems with sync this must have masked a break.

There are no tests in the networking stack, so any change here is a bit sketchy. I've recently split libbitcoin-server into lib/test/bin so that we can start unit testing, and put it under Coveralls reporting. I've also done some refactoring in an attempt to make the code a bit more consistent and testable.

Some of the changes are designed to push configuration parameterization to construction. This includes the parameterization of the flag that enables/disables the listener. This may have become disconnected (hopefully). I'm traveling and don't have time to work on it at the moment, but can in the next few days. Pulling from the release tags is an option if you need the release.

Also, my manual testing has been built with libbitcoin-consensus, but I think I'm seeing the same mempool issue so that's probably not it.

@evoskuil
Copy link
Member

evoskuil commented Jun 6, 2015

I can't see this behavior because mempool transactions are properly rejected until the blockchain is synced to the point where spent outputs can be validated. Given I'm not there yet I'm going to take your word for it and roll back the server stack version2 repos to the release tags.

In order to not retain the break in libbitcoin-consensus integration that shipped in version2 I'm also going to apply that one line fix (which cannot affect the non-consensus builds).

@evoskuil
Copy link
Member

evoskuil commented Jun 8, 2015

I found the reason for this today. The transaction monitor subscription got misplaced. This was in the server build but I've been working primarily in node. Server and node have a good amount of redundant code (which I'm working to eliminate). So I wasn't seeing this in node, so it took me a while to find it. In any case, since the rollback this should no longer be an issue.

@swansontec
Copy link
Contributor Author

That's great news!

@evoskuil
Copy link
Member

evoskuil commented Jun 8, 2015

I'm going to close this out because of the rollback. It would be great if you could run a build from master following my next set of pushes, just to catch any similar regressions before I push to version2. I don't have the stall fixed yet, but there are significant logging and readability changes that are piling up in 4 repos.

@evoskuil evoskuil closed this as completed Jun 8, 2015
@evoskuil evoskuil added the bug label Jun 8, 2015
@evoskuil evoskuil self-assigned this Jun 8, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants