Empact
commented at 11:18 pm on December 18, 2018:
member
In light of #14979, I realized that only qt 5.5+ was being tested under CI, while compatibility lists 5.2+.
Ubuntu 14.04 carries QT 5.2.1, so running it on CI is a good candidate for maintaining compatibility in an ongoing basis. Adding the change revealed some incompatibilities that have crept in.
Alternatively, we can increase the dependencies to match those carried by Ubuntu 16.04. I don’t think we should claim support for dependencies we aren’t testing on an ongoing basis.
Putting this forward for comment. Currently the CI run times out after build and some tests running.
DrahtBot
commented at 11:57 pm on December 18, 2018:
member
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
Conflicts
Reviewers, this pull request conflicts with the following ones:
#15262 (build: Enable C++14 in build, require C++14 compiler. by practicalswift)
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.
promag
commented at 0:05 am on December 19, 2018:
member
I was under the impression that the minimum would bump?
Empact
commented at 0:28 am on December 19, 2018:
member
Yep I’m down for either, just putting this forward as an option.
Empact
commented at 7:33 pm on December 31, 2018:
member
Not clear why the build is failing - the reported test seems to pass:
02/113- feature_maxuploadtarget.py failed, Duration: 59 s
1stdout:
22018-12-31T10:43:50.480000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_βΏ_π_20181231_104336/feature_maxuploadtarget_108
32018-12-31T10:44:06.536000Z TestFramework (INFO): Peer 0 disconnected after downloading old block too many times
42018-12-31T10:44:47.537000Z TestFramework (INFO): Peer 1 able to repeatedly download new block
52018-12-31T10:44:47.640000Z TestFramework (INFO): Peer 1 disconnected after trying to download old block
62018-12-31T10:44:47.640000Z TestFramework (INFO): Advancing system time on node to clear counters... 72018-12-31T10:44:47.742000Z TestFramework (INFO): Peer 2 able to download old block
82018-12-31T10:44:47.743000Z TestFramework (INFO): Restarting nodes with -whitelist=127.0.0.1 92018-12-31T10:44:49.319000Z TestFramework (INFO): Peer still connected after trying to download old block (whitelisted)
102018-12-31T10:44:49.373000Z TestFramework (INFO): Stopping nodes
112018-12-31T10:44:49.525000Z TestFramework (INFO): Cleaning up /tmp/test_runner_βΏ_π_20181231_104336/feature_maxuploadtarget_108 on exit
122018-12-31T10:44:49.525000Z TestFramework (INFO): Tests successful
13stderr:
14Exception ignored in:
15TEST | STATUS | DURATION
16wallet_hd.py |β Passed |7 s
17feature_maxuploadtarget.py |β Failed |59 s
I’m not sure the implication, but I think this is good - EXCLUSIVE_LOCKS_REQUIRED(cs_main) is also enforced via the CChainState::LoadBlockIndex declaration, and AssertLockHeld looks into g_lockstack, which is built up in the usual way. We could perhaps do without AssertLockHeld given the LoadBlockIndex declaration. Thoughts?
Scratch that, a thread-safety-warning is issued absent this assert, thanks to the EXCLUSIVE_LOCKS_REQUIRED on InsertBlockIndex.
Empact force-pushed
on Jan 16, 2019
Empact force-pushed
on Jan 17, 2019
Empact force-pushed
on Jan 18, 2019
Empact force-pushed
on Jan 18, 2019
Empact force-pushed
on Jan 18, 2019
Empact force-pushed
on Jan 18, 2019
Empact force-pushed
on Jan 18, 2019
Empact force-pushed
on Jan 18, 2019
Empact force-pushed
on Jan 18, 2019
Empact force-pushed
on Jan 18, 2019
Empact force-pushed
on Jan 18, 2019
Empact force-pushed
on Jan 18, 2019
Empact force-pushed
on Jan 18, 2019
Empact force-pushed
on Jan 18, 2019
Empact force-pushed
on Jan 18, 2019
Empact force-pushed
on Jan 18, 2019
MarcoFalke
commented at 8:15 pm on January 30, 2019:
member
Needs rebase
MarcoFalke added the label
Needs rebase
on Jan 30, 2019
DrahtBot removed the label
Needs rebase
on Jan 30, 2019
Empact force-pushed
on Jan 30, 2019
Empact force-pushed
on Jan 31, 2019
Do not apply attributes to lambda expressions
This was added to clang after clang 3.4. Current minimum supported version
of clang is 3.3.
https://github.com/Microsoft/clang/commit/4bfb063cae5d2dbe59778bbcd7fea4ca143c7743
Example failure:
validation.cpp:3820:85: error: expected body of lambda expression
if (!blocktree.LoadBlockIndexGuts(consensus_params, [this](const uint256& hash) __attribute__((exclusive_locks_required(cs_main))) { return this->InsertBlockIndex(hash); }))
^
1 error generated.
https://travis-ci.org/Empact/bitcoin/jobs/468855360
19c8e09139
Piecewise construct to avoid invalid construction
In CMainSignals::RegisterWithMempoolSignals running under Ubuntu 14.04
(QT 5.2), absent piecewise construction this fails to create the pair
because the argument is a connection, which is converted into a
non-copyable scoped_connection.
validationinterface.cpp:80:186: required from here
/usr/include/boost/signals2/connection.hpp:234:7: error: βboost::signals2::scoped_connection::scoped_connection(const boost::signals2::scoped_connection&)β is private
scoped_connection(const scoped_connection &other);
^
In file included from /usr/include/c++/4.8/utility:70:0,
from /usr/include/c++/4.8/algorithm:60,
from ./prevector.h:13,
from ./script/script.h:10,
from ./primitives/transaction.h:11,
from ./validationinterface.h:9,
from validationinterface.cpp:6:
/usr/include/c++/4.8/bits/stl_pair.h:134:45: error: within this context
: first(std::forward<_U1>(__x)), second(__y) { }
https://travis-ci.org/bitcoin/bitcoin/jobs/473689141#L2172
a0afd6158d
qt: Use the SLOT calling convention for QTimer::singleShot
Until Qt 5.4, singleShot did not support the new funtion-pointer-based call signature.
http://doc.qt.io/archives/qt-5.5/qtimer.html#singleShot-2
qt/bitcoin.cpp:508:9: error: no matching function for call to 'singleShot'
QTimer::singleShot(100, paymentServer, &PaymentServer::uiReady);
^~~~~~~~~~~~~~~~~~
/usr/include/qt5/QtCore/qtimer.h:81:17: note: candidate function not viable: no known conversion from 'void (PaymentServer::*)()' to 'const char *' for 3rd argument
static void singleShot(int msec, const QObject *receiver, const char *member);
^
/usr/include/qt5/QtCore/qtimer.h:82:17: note: candidate function not viable: requires 4 arguments, but 3 were provided
static void singleShot(int msec, Qt::TimerType timerType, const QObject *receiver, const char *member);
^
1 error generated.
https://travis-ci.org/Empact/bitcoin/jobs/469269171
352f36e01c
bench: Implement IS_TRIVIALLY_CONSTRUCTIBLE via __has_trivial_constructor on clang
libcxx, which carries the implementation is apparently unversioned, so
this is an alternative to tracking down the specific version of clang
which switched from has_trivial_default_constructor to
is_trivially_default_constructible.
https://github.com/llvm-mirror/libcxx/commit/2fd6d25bf1758218aa71938ab343dcaefff4ffeb
https://libcxx.llvm.org/
bench/prevector.cpp:27:21: error: no template named 'is_trivially_default_constructible' in namespace 'std'; did you mean 'has_trivial_default_constructor'?
static_assert(!std::is_trivially_default_constructible<nontrivial_t>::value,
~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
has_trivial_default_constructor
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/type_traits:1211:12: note: 'has_trivial_default_constructor' declared here
struct has_trivial_default_constructor
^
bench/prevector.cpp:31:20: error: no template named 'is_trivially_default_constructible' in namespace 'std'; did you mean 'has_trivial_default_constructor'?
static_assert(std::is_trivially_default_constructible<trivial_t>::value,
~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
has_trivial_default_constructor
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/type_traits:1211:12: note: 'has_trivial_default_constructor' declared here
struct has_trivial_default_constructor
^
2 errors generated.
https://travis-ci.org/Empact/bitcoin/jobs/468866070
313ca3c23c
test: Provide test_runner TestResult functionality when status is None
Avoid e.g. sort failures by reliably returning a value for every result:
https://travis-ci.org/bitcoin/bitcoin/jobs/473943177#L2728
230f834157
test: Don't consider 'Exception ignored in: ' a failure
Prefer boost::optional#get_value_or over #value_or
The latter is not defined in the earliest supported version of boost,
1.47.
https://www.boost.org/doc/libs/1_47_0/libs/optional/doc/html/boost_optional/detailed_semantics.html
https://travis-ci.org/bitcoin/bitcoin/jobs/486674823
43a42293f0
Revert "travis: Compile trusty with depends for now"
Thus building against system rather than depends libs
This reverts commit fa5ce3f10ea98e5cd6bdd829b5b7b8fd2736d286.
c8aa08e153
Empact force-pushed
on Jan 31, 2019
Empact
commented at 10:36 pm on January 31, 2019:
member
Closing because we’re finally green and a clean PR would be nice.
Empact closed this
on Jan 31, 2019
MarcoFalke referenced this in commit
2c0867a181
on Feb 1, 2019
This is a metadata mirror of the GitHub repository
bitcoin/bitcoin.
This site is not affiliated with GitHub.
Content is generated from a GitHub metadata backup.
generated: 2024-11-17 15:12 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me