Skip to content

Conversation

zjb0807
Copy link

@zjb0807 zjb0807 commented Jan 2, 2019

Thread 18 "bitcoin-msghand" received signal SIGSEGV, Segmentation fault.
[Switching to LWP 16808]
0x0000555555b8b4d5 in scrypt_1024_1_1_256 (input=0x5e3b3c45acefe007 <error: Cannot access memory at address 0x5e3b3c45acefe007>, output=0x756aefb64bd7776d <error: Cannot access memory at address 0x756aefb64bd7776d>)
    at crypto/scrypt.cpp:329
void scrypt_1024_1_1_256(const char *input, char *output)
{
        char scratchpad[SCRYPT_SCRATCHPAD_SIZE];
    scrypt_1024_1_1_256_sp(input, output, scratchpad);
}
crypto/scrypt.h:static const int SCRYPT_SCRATCHPAD_SIZE = 131072 + 63;

SCRYPT_SCRATCHPAD_SIZE is too big to cause stack overflow

laanwj and others added 30 commits January 30, 2018 13:46
Update version after branching off.

Tree-SHA512: 0ed503c6d299b25eccdc3f450d83c7fe24b851acbf89382397d5d7ad591c2106b78f8c826cefb034f62e6e233f773cd6fd7fcc05c4b09bbda5091a6ce5c37ee8
Tree-SHA512: 83b02b26dff5c7962b9c800e7f156f7d83573b8e8ed329b99ae2c63ce0eb5f713f9d3623906e3c598fcee45e660bae907b1d861cf22af49f3e947f70da73f956
The specific length of the uacomment is one shorter on `0.16.0` than on
`0.15.99` causing the (stupid) test to fail.
Just match the latter part of the message only.

Github-Pull: bitcoin#12302
Rebased-From: aac6bce
Tree-SHA512: 9edecbe2529584d6d01296ec153330bb44add8445fef139d7b7a667b86fef8ee3aafea55d95ac109c9fef079133709f69798477e3eba92744ea2f6c8f5acbb7d
Github-Pull: bitcoin#12326
Rebased-From: 96dbd38
Tree-SHA512: 8b4a09974060e6d0992e7b9ec06c5de3ad2daf970c4484077fda803f37d3ed874dcb6fec226107b2aa0fa64cfe4116604ca4f90599430fcc622bbb805be55e1b
Defer the GUI coin control instancing so that argument processing
is taken into account for the default coin control values.

Github-Pull: bitcoin#12327
Rebased-From: 6558f8a
Tree-SHA512: 213b350fdb334e409ce01f7f6d6de30cada752201d9ff96a6f93f96e9f80f8baa6e6b251087c01b04d6317bcb805201d6667de27e174612a39b4982bb4793375
Github-Pull: bitcoin#12329
Rebased-From: 660f5f1
Tree-SHA512: 7e7401b0ade3a2482dd246cc92c795230b37001a13fd7d050847ea532b619106dfdfc113e95c2891c689d421b3dd775d1833789061cd90dc094f13c4f5f6b278
Tree-SHA512: 09551113babe41bcc33e58c4467a17405f411ef4bc4cceeab937d35d115f946d3105d0540960456785843d59571410bf58dd9b5262d085b8a13a4d367b0e1c3b
d56355a 0.16: Check in current release notes draft (MarcoFalke)

Pull request description:

  Gives people a chance to look at for rc3

Tree-SHA512: e00d5e5390da7c20c85a7edc88693e048109b12a0e2a8a022ecf4a7fbbfc29081a1eb1d4e7f212c22b49411a5e0527f7259ab4c178d5b72749b5dcb7731c51e3
If the user somehow manages to get into ShutdownRequested before
ThreadImport gets to ActivateBestChain() we may hang waiting on
condvar_GenesisWait forever. A simple wait_for and
ShutdownRequested resolves this case.

Github-Pull: bitcoin#12367
Rebased-From: 1c9394a
Tree-SHA512: fb0751ef32d2005520738bf3b0a0f41ae3f9314d700d2a85eb50f023e87e109ce806cdcdf4a08f49a4d9c1001e27df7f461d3fd52b1f5a57885260ce9375260f
If the ShutdownRequested() check at the top of ActivateBestChain()
returns false during initial genesis block load we will fail an
assertion in UTXO DB flush as the best block hash IsNull(). To work
around this, we move the check until after one round of
ActivateBestChainStep(), ensuring the genesis block gets connected.

Github-Pull: bitcoin#12367
Rebased-From: dd2de47
Tree-SHA512: c2465be25aee327d16d460c9b58d25a5aeedec309f539898e78419bea76dbbe9cde9cc88ec393af38a82e6013d71cce85f4223c9bf04e7244ed619f20f734aa4
Github-Pull: bitcoin#12377
Rebased-From: 2222bf0
Tree-SHA512: 575c10d9f043e2843616b989daaecfb357482445bc44b9f3af2fe0d891bb36b5ccb572f326703ea85291d56b9f6e8f4828496099b05889daea2277ad38aa0d0e
The `splashFinished` event was never sent if AppInitMain fails,
causing the splash screen to stick around, causing problems
later.

This bug has existed for a while but is now trigging potential crashed
because the splash screen subscribes to wallet events.

Meant to fix bitcoin#12372.

Signed-off-by: Wladimir J. van der Laan <laanwj@gmail.com>
Github-Pull: bitcoin#12374
Rebased-From: f5a4c3d
Tree-SHA512: 1c59633f0caec6344dce7f7d69d2e98242601fa906b1845c372a59c8ba015c3ac76389dd5d4e60b2fdb52d2878d566a0325679470075a680418cade7204069ef
Signed-off-by: Wladimir J. van der Laan <laanwj@gmail.com>
Github-Pull: bitcoin#12374
Rebased-From: 1e5d14b
Tree-SHA512: 367be993e298cb822618c2c64f83163c65d93ca588f183584d032fa1391ddac292e7a2882118037913d192ba77e1b2d5ab518ad029e0b05230be45da2d0c047c
This prevents a potential race condition if control flow ends up in
`ShutdownHTTPServer` before the thread gets to `queue->Run()`,
deleting the work queue while workers are still going to use it.

Meant to fix bitcoin#12362.

Signed-off-by: Wladimir J. van der Laan <laanwj@gmail.com>
Github-Pull: bitcoin#12366
Rebased-From: b1c2370
Tree-SHA512: 7fbe8e562ba0e1138f95deb42e84cda734bef0d7058349728b3e1602b9f65777c5b1be0f6bd5a7e513ac38487dc82e62fd0a6ee4ed985cbf36c90a7eec18eced
This function, which waits for all threads to exit, is no longer needed
now that threads are joined instead.

Signed-off-by: Wladimir J. van der Laan <laanwj@gmail.com>
Github-Pull: bitcoin#12366
Rebased-From: f946654
Tree-SHA512: 5cda90b4c081424d637031c0bbf168f177667733ff20b6f77eac84e503f7fad6fab3eb897f191edd819f18b270e3ecea78974978abd102d323f42d9d06216e53
The HTTP worker thread counter, as well as the RAII object that was used
to maintain it, is unused now, so can be removed.

Signed-off-by: Wladimir J. van der Laan <laanwj@gmail.com>
Github-Pull: bitcoin#12366
Rebased-From: 11e0151
Tree-SHA512: 87055c4c14986973f4c1604db264fb5a9de21bb481e9d39b201774e2d17ed92a7d1617449471c13f56e0f1f09a8aebdf1254a71d6c7b856c880a5b71e0c3ba9d
This resolves an issue where getrawmempool() can race mempool
notification signals. Intuitively we use mempool.cs as a "read
lock" on the mempool with cs_main being the write lock, so holding
the read lock intermittently while doing write operations is
somewhat strange.
This also avoids the introduction of cs_main in getrawmempool()
which reviewers objected to in the previous fix in bitcoin#12273

Github-Pull: bitcoin#12368
Rebased-From: 85aa839
Tree-SHA512: 90a505a96cecc065e8575d816f3bb35040df8672efc315f45eb3f2ea086e8ea6ee2c99eed03d0fe2215c8d3ee947a7b120e3c57a25185d03550c9075573ab032
Github-Pull: bitcoin#12368
Rebased-From: 02fc886
Tree-SHA512: 8e159541f5270801fd3c70540ad3c55e93f0ba37039e651d21f65ba9b271bbbb2f1389b13a0f40fea337e88bb1711f498bb3ee1230ec2c40b6530846ff241a8b
Output bech32 addresses in dumpwallet if address type is not as legacy

Github-Pull: bitcoin#12315
Rebased-From: 45eea40
Tree-SHA512: 3426292ddaeaafebc25fe84802011f5569a0cbb47fcc3209e7f00f64fc6eb1e637732722bbd02dce8d46be87d0f3687ce8370e71e9286bf7d00afc0a895faecb
Tree-SHA512: e91c44f19b4a6b18736e664e9f446f3e6b457a1b239999ed0171965cfb2af2702b0083340a789d26c293ebf71e52d4a87af0e44d4e6a83a920bbf98c1c3dffa9
Tree-SHA512: 34fa3ae23c0857fe7a0972b7c5dee802dc66b1eb85d6f70dc50257c4b61a10bab3d481cae6288d5a5da3230505d12e861373988a16a888a3198fbddd36a919bb
Github-Pull: bitcoin#12401
Rebased-From: a8b5d20
Tree-SHA512: 3a87b6113283c3588f46bb5c725ec33ac639e2f91c589b5c0eb4375e3d23bd6c18e7ba96faf70be2afea86d8e6252bf4dbcf9c9ed166ce2d49846ff947a36d2e
This resolves a bug introduced in
66aa1d5 where, if when responding
to a series of transaction requests in a getdata we hit the send
buffer limit and set fPauseSend, we will skip one transaction per
call to ProcessGetData.

Bug found by Cory Fields (@theuni).

Github-Pull: bitcoin#12392
Rebased-From: c4af738
Tree-SHA512: d2f7707eb9f925a655f66e5e77ce406c5266f7b2feccd5bcdabf6d5bc27a3f6578e753fac83d9c8c3fd7cf7de6fee086eee2f95f77af99ea2c4e5ae77c322c58
New global variables were introduced in bitcoin#11403 and not setting them causes:

    test_bitcoin: wallet/wallet.cpp:4259: CTxDestination GetDestinationForKey(const CPubKey&, OutputType): Assertion `false' failed.
    unknown location(0): fatal error in "importwallet_rescan": signal: SIGABRT (application abort requested)

It's possible to reproduce the failure reliably by running:

    src/test/test_bitcoin --log_level=test_suite --run_test=wallet_tests/importwallet_rescan

Failures happen nondeterministically because boost test framework doesn't run
tests in a specified order, and tests that run previously can set the global
variables and mask the bug.

Github-Pull: bitcoin#12424
Rebased-From: b7f6002
Tree-SHA512: 1cc64db3b1d886d793e9d194b318dde3d5f628bde778a50513de4bf54dcfc77152885e72608927e3e490d253350ca0381847539a904cb31862f3a6fceac88dc1
Github-Pull: bitcoin#12415
Rebased-From: 2e9406c
Tree-SHA512: ad70df9fdcba38bc9eeac4e4e64f7d8607fbe92aefac3579a26939e642112d70ebee81c5a227bb8735bae87f95640061a5ab22b583275c7dd6c3277544bc427b
Github-Pull: bitcoin#12388

Tree-SHA512: 8dc7fd5619e60674021ef58f384ddaa2b0d49a88f8babab03697ab19819954f9521de0ede7398661be670ce6339bfea436b10ad916b72f194e18efdb3721c08d
Tree-SHA512: a1a6d794431de9639dc985bd42f852f4e11cc2090a826c9a5c2f32658246f5a2a634f113b86ae66bf6222fe3180c3c23145bc297082ff9f61d3abbab5ac53341
This commit fixes problems with calling LockDirectory multiple times on
the same directory, or from multiple threads. It also fixes the build on
OpenBSD.

- Wrap the boost::interprocess::file_lock in a std::unique_ptr inside
  the map that keeps track of per-directory locks. This fixes a build
  issue with the clang 4.0.0+boost-1.58.0p8 version combo on OpenBSD
  6.2, and should have no observable effect otherwise.

- Protect the locks map using a mutex.

- Make sure that only locks that are successfully acquired are inserted
  in the map.

- Open the lock file for appending only if we know we don't have the
  lock yet - The `FILE* file = fsbridge::fopen(pathLockFile, "a");`
  wipes the 'we own this lock' administration, likely because it opens
  a new fd for the locked file then closes it.

Github-Pull: bitcoin#12422
Rebased-From: fc888bf
Tree-SHA512: c8b8942fad9ea9d9e55f8e5e360f7cf3a8b00cd17e6bc5ec5895e1e6ddcbca796e62e82856e82f0562869a624d75ad510e108077461bb47a87b2b52be0aba866
Add a unit test for LockDirectory, introduced in bitcoin#11281.

Github-Pull: bitcoin#12422
Rebased-From: 1d4cbd2
Tree-SHA512: 8186f4b22c65153e30ec1e0b68be20fd59d34e1fe565d99f3b5a302780125953b867fb14c37144de3fd7baf5751df94bf3901eebbb7b820491ca452706d4e205
ajtowns and others added 24 commits July 29, 2018 20:26
…or type, add test cases covering bitcoinconsensus error codes

Github-Pull: bitcoin#13655
Rebased-From: 417b6c1
Tree-SHA512: fb7208356134322f3515c682ac7349eddb1ff54094abe397c94acb7e931b42265aca6b716eba072f79ebdb4a69ea87a5e40b6c4a48571db5b7b095ead45456ef
… set to bitcoinconsensus_error type, add test cases covering bitcoinconsensus error codes

1cdbea7 bitcoinconsensus: invalid flags should be set to bitcoinconsensus_error type, add test cases covering bitcoinconsensus error codes (Thomas Kerin)

Pull request description:

  Backport of bitcoin#13655 to 0.16

Tree-SHA512: b62e185f2aa957f09255090e59f96c039f47a5623d68b6fef8d1dd831c6d3135b039be5cfad0f823687ff2a5143d24e34bd83fefcc9ba5b68f43054cbd9d909d
see: .../src/init.cpp#L1063

Github-Pull: bitcoin#13844
Rebased-From: 312ff01
…n amount is needed but missing

212ef1f [tests] Check signrawtransaction* errors on missing prevtx info (Anthony Towns)
1825e37 Error on missing amount in signrawtransaction* (Anthony Towns)

Pull request description:

  Backport of bitcoin#13547 to 0.16

Tree-SHA512: 7a660023b6948632a1f949443c18fa45add75ec8c36df1ebbaccd181dd1560c1bef460f061f8dab36b6a5df295eb4967effaa2cf55ea06b41d8f7562842a39ec
11b9dbb -prune option -help output aligned with code (Hennadii Stepanov)

Pull request description:

  Backports bitcoin#13844 to the 0.16 branch.

Tree-SHA512: 84cac57ca3b1ef34892e73f131b5f3cc50d3f9e268a4123092cf6cdf519fc20616b5b084f9e9343505c15a2cf663a2c94d18c4587bcb7c261cbe32eeac8afe9b
Litecoin Core 0.16.2 final changes
…n a transaction

9bd08fd [qa] backport: Test for duplicate inputs within a transaction (Suhas Daftuar)
d1dee20 Fix crash bug with duplicate inputs within a transaction (Suhas Daftuar)

Pull request description:

  This is a backport of bitcoin#14247 to 0.16.

Tree-SHA512: f11b2b0f2d8089bbac7542f78a0f14fc15c693604cb1168ef5ea71852a206da7eb53b6e420376ed1380583961176ba2d283e409e19d783c7a68c3407933a89b0
Tree-SHA512: 56565311429f56d68508215eaa04f31f3e3f0144f367fc874da78652ce0aeb62b1d609513d9f8dcb204425c8e108103855a737eefc661f8b1f94c6219a9518a3
Tree-SHA512: 4237ac0c1cd0c0f4c3f50494cf5985a95317730194820a22e2814571107a684fdd5253625707c95ac558a1ad8ab9f36904c46647d0cb931fe67ea2407738133a
Tree-SHA512: e631405dd03438ac4b5fae5ed2fc0cb061e4cb7092ab068dd99b7c3001c95d166224f50af759454dbf47a2954409ac62c1232988918dd6650213918b853aea2d
Bitcoin Core 0.16.3 final
fix for upstream bitcoin qt5 openssl issue: bitcoin#14403
qt: Revert "Force TLS1.0+ for SSL connections"
@zjb0807
Copy link
Author

zjb0807 commented Jan 2, 2019

fix issues: #407

@losh11
Copy link
Member

losh11 commented Feb 28, 2024

For anyone interested, we now maintain our own docker image at litecoinproject/litecoin-core, and you can find our alpine Dockerfile here: https://github.com/litecoin-project/docker-litecoin-core/blob/master/0.21/alpine/Dockerfile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.