Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .python-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.9.18
3.10.14
6 changes: 3 additions & 3 deletions ci/lint/04_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ fi
${CI_RETRY_EXE} pip3 install codespell==2.1.0
${CI_RETRY_EXE} pip3 install flake8==4.0.1
${CI_RETRY_EXE} pip3 install lief==0.13.1
${CI_RETRY_EXE} pip3 install mypy==0.942
${CI_RETRY_EXE} pip3 install pyzmq==22.3.0
${CI_RETRY_EXE} pip3 install vulture==2.3
${CI_RETRY_EXE} pip3 install mypy==0.981
${CI_RETRY_EXE} pip3 install pyzmq==24.0.1
${CI_RETRY_EXE} pip3 install vulture==2.6

SHELLCHECK_VERSION=v0.8.0
curl -sL "https://github.com/koalaman/shellcheck/releases/download/${SHELLCHECK_VERSION}/shellcheck-${SHELLCHECK_VERSION}.linux.x86_64.tar.xz" | \
Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -1272,7 +1272,7 @@ if test "$enable_crashhooks" = "yes"; then
fi

AX_CHECK_LINK_FLAG([-Wl,-wrap=__cxa_allocate_exception], [LINK_WRAP_SUPPORTED=yes],,,)
AM_CONDITIONAL([CRASH_HOOKS_WRAPPED_CXX_ABI],[test $LINK_WRAP_SUPPORTED = "yes"])
AM_CONDITIONAL([CRASH_HOOKS_WRAPPED_CXX_ABI],[test "$LINK_WRAP_SUPPORTED" = "yes"])

if test "$LINK_WRAP_SUPPORTED" = "yes"; then
AC_DEFINE(CRASH_HOOKS_WRAPPED_CXX_ABI, 1, [Define this symbol to use wrapped CXX ABIs for exception stacktraces])
Expand Down
10 changes: 5 additions & 5 deletions contrib/containers/ci/ci-slim.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/

# Install Python to a system-wide location and set it as default
# PYTHON_VERSION should match the value in .python-version
ARG PYTHON_VERSION=3.9.18
ARG PYTHON_VERSION=3.10.14
ENV UV_PYTHON_INSTALL_DIR=/usr/local/python
RUN uv python install ${PYTHON_VERSION}

Expand All @@ -78,9 +78,9 @@ RUN uv pip install --system --break-system-packages \
jinja2 \
lief==0.13.2 \
multiprocess \
mypy==0.942 \
pyzmq==22.3.0 \
vulture==2.3
mypy==0.981 \
pyzmq==24.0.1 \
vulture==2.6

# Install packages relied on by tests
ARG DASH_HASH_VERSION=1.4.0
Expand Down Expand Up @@ -123,7 +123,7 @@ RUN set -ex; \
ARG USER_ID=1000 \
GROUP_ID=1000
RUN set -ex; \
getent group ${GROUP_ID} || groupmod -g ${GROUP_ID} -n dash ubuntu; \
(getent group ${GROUP_ID} && usermod -g ${GROUP_ID} ubuntu) || groupmod -g ${GROUP_ID} -n dash ubuntu; \
usermod -u ${USER_ID} -md /home/dash -l dash ubuntu; \
chown ${USER_ID}:${GROUP_ID} -R /home/dash; \
mkdir -p /src/dash && \
Expand Down
14 changes: 3 additions & 11 deletions contrib/containers/develop/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ services:
build:
context: '..'
dockerfile: './develop/Dockerfile'
args:
USER_ID: 1000 # set this to $(id -u) of the host
GROUP_ID: 1000 # set this to $(id -g) of the host
ports:
- "9998:9998" # Mainnet Ports
- "9999:9999"
Expand All @@ -13,19 +16,8 @@ services:
- seccomp:unconfined
stdin_open: true # Equivalent to -i
tty: true # Equivalent to -t

# A note about volumes:
#
# If Docker is interacting with your operating system directly
# without an intermediate VM, then you do not need to change anything
#
# But if not, then you'll need to mount your system's root directory
# (i.e. /) into the boot2docker instance if you want to mirror the exact
# filesystem structure of your host.
#
volumes:
- type: bind
# source: /host/$PWD # Workaround needed on non-Linux hosts
source: ../../..
target: /src/dash

Expand Down
63 changes: 0 additions & 63 deletions contrib/guix/Dockerfile

This file was deleted.

5 changes: 2 additions & 3 deletions contrib/guix/INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ Otherwise, you may choose from one of the following options to install Guix:
- Installs any release
- Binary installation only, requires high level of trust
3. Using **Docker image** [↗︎ external instructions][install-docker]
- Maintained by pastapastapasta
- Easy (automatically performs *some* setup)
- Works wherever Docker images work
- Installs any release
Expand Down Expand Up @@ -59,8 +58,8 @@ so you should log out and log back in.

## Option 3: Using Docker image

Please refer to Docker's image
[here](https://github.com/dashpay/dash/tree/master/contrib/guix/Dockerfile).
Please refer to Docker image
[here](https://github.com/dashpay/dash/tree/master/contrib/containers/guix/Dockerfile).

## Option 4: Using a distribution-maintained package

Expand Down
2 changes: 1 addition & 1 deletion doc/dependencies.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ You can find installation instructions in the `build-*.md` file for your platfor
| [Automake](https://www.gnu.org/software/automake/) | [1.13](https://github.com/bitcoin/bitcoin/pull/18290) |
| [Clang](https://clang.llvm.org) | [16.0](https://github.com/bitcoin/bitcoin/pull/30263) |
| [GCC](https://gcc.gnu.org) | [11.1](https://github.com/bitcoin/bitcoin/pull/29091) |
| [Python](https://www.python.org) (scripts, tests) | [3.9](https://github.com/bitcoin/bitcoin/pull/28211) |
| [Python](https://www.python.org) (scripts, tests) | [3.10](https://github.com/bitcoin/bitcoin/pull/30527) |
| [systemtap](https://sourceware.org/systemtap/) ([tracing](tracing.md))| N/A |

## Required
Expand Down
6 changes: 4 additions & 2 deletions src/stacktraces.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,8 @@ static uint64_t ConvertAddress(uint64_t addr)
static __attribute__((noinline)) std::vector<uint64_t> GetStackFrames(size_t skip, size_t max_frames, const CONTEXT* pContext = nullptr)
{
#ifdef ENABLE_STACKTRACES
volatile size_t skip_frames = skip;

// We can't use libbacktrace for stack unwinding on Windows as it returns invalid addresses (like 0x1 or 0xffffffff)
// dbghelp is not thread safe
static StdMutex m;
Expand Down Expand Up @@ -205,7 +207,7 @@ static __attribute__((noinline)) std::vector<uint64_t> GetStackFrames(size_t ski
stackframe.AddrStack.Offset = context.Rsp;
stackframe.AddrStack.Mode = AddrModeFlat;
if (!pContext) {
skip++; // skip this method
skip_frames = skip_frames + 1; // skip this method
}
#else
#error unsupported architecture
Expand All @@ -223,7 +225,7 @@ static __attribute__((noinline)) std::vector<uint64_t> GetStackFrames(size_t ski
if (!result) {
break;
}
if (i >= skip) {
if (i >= skip_frames) {
uint64_t pc = ConvertAddress(stackframe.AddrPC.Offset);
if (pc == 0) {
pc = stackframe.AddrPC.Offset;
Expand Down
10 changes: 6 additions & 4 deletions test/lint/lint-python.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,12 @@
"""

import os
import pkg_resources
import subprocess
import sys

from importlib.metadata import metadata, PackageNotFoundError


DEPS = ['flake8', 'lief', 'mypy', 'pyzmq']
MYPY_CACHE_DIR = f"{os.getenv('BASE_ROOT_DIR', '')}/test/.mypy_cache"
FILES_ARGS = ['git', 'ls-files', '--','test/functional/*.py', 'contrib/devtools/*.py', ':(exclude)contrib/devtools/github-merge.py']
Expand Down Expand Up @@ -95,10 +97,10 @@


def check_dependencies():
working_set = {pkg.key for pkg in pkg_resources.working_set}

for dep in DEPS:
if dep not in working_set:
try:
metadata(dep)
except PackageNotFoundError:
print(f"Skipping Python linting since {dep} is not installed.")
exit(0)

Expand Down
Loading