Skip to content

Conversation

@jamesob
Copy link
Contributor

@jamesob jamesob commented Apr 3, 2018

As noted in #12843, we're currently missing bugs unique to bitcoin-qt during the Travis build because the functional test framework only uses bitcoind (and not bitcoin-qt).

Run a single Travis job under xvfb for framebuffer virtualization and using bitcoin-qt as the binary. I've also removed the NEED_XVFB configuration since our usage of xvfb is outdated per Travis' docs and the corresponding pre-build step is no longer necessary.

@jnewbery
Copy link
Contributor

jnewbery commented Apr 3, 2018

Concept ACK!

@jnewbery jnewbery added the Tests label Apr 3, 2018
@practicalswift
Copy link
Contributor

Concept ACK

@jamesob jamesob force-pushed the 2018-04-03-travis-func-qt branch 2 times, most recently from 15e4bb0 to 76d6c0c Compare April 4, 2018 14:33
@jamesob jamesob closed this Apr 4, 2018
@jamesob jamesob reopened this Apr 4, 2018
@jamesob jamesob force-pushed the 2018-04-03-travis-func-qt branch from 76d6c0c to 9be7c60 Compare April 4, 2018 15:02
@Sjors
Copy link
Member

Sjors commented Apr 4, 2018

Concept ACK

@jamesob jamesob force-pushed the 2018-04-03-travis-func-qt branch from 9be7c60 to 971e34a Compare April 4, 2018 17:38
@jamesob
Copy link
Contributor Author

jamesob commented Apr 4, 2018

Closing and re-opening in an attempt to get Travis to kick off a build - I was flagged (and then unflagged) as abusing Travis.

@jamesob jamesob closed this Apr 4, 2018
@jamesob jamesob reopened this Apr 4, 2018
@jamesob jamesob force-pushed the 2018-04-03-travis-func-qt branch from 971e34a to f9af997 Compare April 4, 2018 19:08
@jamesob jamesob closed this Apr 4, 2018
@jamesob jamesob reopened this Apr 4, 2018
@jamesob jamesob force-pushed the 2018-04-03-travis-func-qt branch from f9af997 to 709bfae Compare April 4, 2018 20:01
@jamesob jamesob closed this Apr 4, 2018
@jamesob jamesob reopened this Apr 4, 2018
.travis.yml Outdated
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should remove this comment

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Fixed.

@jamesob jamesob force-pushed the 2018-04-03-travis-func-qt branch from 709bfae to 0256aab Compare April 5, 2018 17:59
@maflcko maflcko closed this Apr 5, 2018
@maflcko maflcko reopened this Apr 5, 2018
@jamesob jamesob force-pushed the 2018-04-03-travis-func-qt branch from 0256aab to 4d19340 Compare April 9, 2018 14:07
@jamesob jamesob closed this Apr 9, 2018
@jamesob jamesob reopened this Apr 9, 2018
@practicalswift
Copy link
Contributor

practicalswift commented Apr 9, 2018

@jamesob Try force pushing a change instead (say after changing the commit message) - that should trigger a Travis rebuild. Closing and re-opening an issue will create a notification to followers to I think force pushing is a better way to wake up Travis :-)

@jamesob
Copy link
Contributor Author

jamesob commented Apr 9, 2018

@practicalswift I'm really sorry about the spam, but force pushing isn't kicking off a Travis build for this PR (for reasons unknown to me). You can see above that @MarcoFalke had to do the same thing. I'll try opening a new PR next time I'd otherwise have to resort to an open/close. Sorry again for the trouble.

@practicalswift
Copy link
Contributor

@jamesob I've now restarted the failing Travis build jobs :-)

@practicalswift
Copy link
Contributor

@jamesob You may want to contact Travis CI support and make sure you're account has not been flagged on their side. That happens and they're usually fixing that quickly after receiving a ticket about it.

@conscott
Copy link
Contributor

conscott commented Apr 23, 2018

Concept ACK b42a408783b345d3f6c46e26a2d24dd00e1cff70

Seems one test is failing due to #12863.

For the actual bitcoin-qt job failing I tried to reproduce errors locally with Xvfd, manually setting BITCOIND to bitcoin-qt, but had no luck (all tests pass).

laanwj added a commit that referenced this pull request Apr 24, 2018
…print messages

80a5e59 [qa] Attach node index to test_node AssertionError and print messages (James O'Beirne)

Pull request description:

  In the midst of fighting with #12873 it became apparent that there're a number of assertions and print statements which are emitted by test nodes but don't identify the node in question. This change makes debugging a bit easier by adding identifying information to non-logger test_node-related error messages.

Tree-SHA512: 7cc86f2c81f4b3fdba15ec9a2d21a84c4b083629e845e82288087c3affbbdc5c68e74067621856cc97fe84fbc8cb4f5ca4977a51ef381e5d74515df8eb001239
@jamesob
Copy link
Contributor Author

jamesob commented Apr 25, 2018

@conscott thanks for trying to reproduce locally. I've been doing same and while I'm unable to reproduce on my 16.04 host, I've been able to reproduce reliably on a 14.04 VM.

I think running the functional suite using the qt binary has uncovered a latent deadlock, perhaps due to 14.04's older default version of OpenSSL (1.0.1f) based on a tip from @TheBlueMatt.

Here's some relevant log output from the tests:

stderr:
bitcoin-qt: sync.cpp:101: void potential_deadlock_detected(const std::pair<void*, void*>&, const LockStack&, const LockStack&): Assertion `false' failed.
...
node0 2018-04-17T23:41:37.857938Z GUI: PaymentServer::LoadRootCAs: Loaded  145  root certificates 
node0 2018-04-17T23:41:38.262348Z POTENTIAL DEADLOCK DETECTED 
node0 2018-04-17T23:41:38.262376Z Previous lock order was: 
node0 2018-04-17T23:41:38.262386Z  (1) ppmutexOpenSSL[i]  util.cpp:107 
node0 2018-04-17T23:41:38.262403Z  (2) cs  ./addrman.h:508 
node0 2018-04-17T23:41:38.262416Z Current lock order is: 
node0 2018-04-17T23:41:38.262424Z  (2) cs  ./addrman.h:473 
node0 2018-04-17T23:41:38.262437Z  (1) ppmutexOpenSSL[i]  util.cpp:107 

I'm going to continue to investigate.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs rebase due to conflict here

In particular, skip any assert_start_raises_init_error checks due to the way
QT handles startup errors (presents the user with an error dialog which must be
closed). In the future we may implement a better way of handling this.
@jamesob jamesob force-pushed the 2018-04-03-travis-func-qt branch 3 times, most recently from 384bb4f to 5fd09df Compare June 4, 2018 21:56
As noted in bitcoin#12843, we're currently
missing bugs unique to bitcoin-qt during the Travis build because the
functional test framework only uses bitcoind (and not bitcoin-qt).

Run a single Travis job under xvfb for framebuffer virtualization and using
bitcoin-qt as the binary. Remove outdated NEED_XVFB Travis configuration.
@DrahtBot
Copy link
Contributor

Needs rebase

- if [ "$TRAVIS_EVENT_TYPE" = "cron" ]; then extended="--extended --exclude feature_pruning,feature_dbcrash"; fi
- if [ "$RUN_TESTS" = "true" ]; then DOCKER_EXEC test/functional/test_runner.py --combinedlogslen=4000 --coverage --quiet --failfast ${extended}; fi
- if [ "$RUN_TESTS_WITH_QT" = "true" ]; then
DOCKER_EXEC BITCOIND=$(DOCKER_EXEC find . -name 'bitcoin-qt' -executable) $FUNCTIONAL_TEST_CMD ${extended};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe you can just write BITCOIND=bitcoin-qt and it will look in the build dir automatically, as opposed to ./, what your find does.

@laanwj
Copy link
Member

laanwj commented Aug 27, 2018

this has needed rebase for a long time
closing because of inactivity; let me know if you start work on this again and I'll reopen

@laanwj laanwj closed this Aug 27, 2018
jasonbcox pushed a commit to Bitcoin-ABC/bitcoin-abc that referenced this pull request Sep 27, 2019
…print messages

Summary:
80a5e59 [qa] Attach node index to test_node AssertionError and print messages (James O'Beirne)

Pull request description:

  In the midst of fighting with bitcoin/bitcoin#12873 it became apparent that there're a number of assertions and print statements which are emitted by test nodes but don't identify the node in question. This change makes debugging a bit easier by adding identifying information to non-logger test_node-related error messages.

Tree-SHA512: 7cc86f2c81f4b3fdba15ec9a2d21a84c4b083629e845e82288087c3affbbdc5c68e74067621856cc97fe84fbc8cb4f5ca4977a51ef381e5d74515df8eb001239

Backport of Core PR13022
https://github.com/bitcoin/bitcoin/pull/13022/files

Depends on D3914

Test Plan: `test_runner.py`

Reviewers: #bitcoin_abc, deadalnix, Fabien

Reviewed By: #bitcoin_abc, deadalnix, Fabien

Subscribers: Fabien

Differential Revision: https://reviews.bitcoinabc.org/D3915
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Nov 17, 2020
…or and print messages

80a5e59 [qa] Attach node index to test_node AssertionError and print messages (James O'Beirne)

Pull request description:

  In the midst of fighting with bitcoin#12873 it became apparent that there're a number of assertions and print statements which are emitted by test nodes but don't identify the node in question. This change makes debugging a bit easier by adding identifying information to non-logger test_node-related error messages.

Tree-SHA512: 7cc86f2c81f4b3fdba15ec9a2d21a84c4b083629e845e82288087c3affbbdc5c68e74067621856cc97fe84fbc8cb4f5ca4977a51ef381e5d74515df8eb001239

fix 13022

Signed-off-by: pasta <[email protected]>
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Dec 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants