apache / apache/buildstream

Terminating jobs doesn't work

Open
#1,613 7 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
140
Forks
45
Avg merge
1d 3h
Merged PRs (30d)
6

Description

Interrupt jobs doesn't work, I noticed this with fetch jobs before (where it seems that bst hanged but git is still downloading in the background) and today I noticed it with build jobs too. Here are the logs: notice that it says `STATUS Build terminating` for all four build jobs, yet they continue until they end with `SUCCESS Caching artifact`.

```
User interrupted with ^C

Choose one of the following options:
(c)ontinue - Continue queueing jobs as much as possible
(q)uit - Exit after all ongoing jobs complete
(t)erminate - Terminate any ongoing jobs and exit

Pressing ^C again will terminate jobs and exit

Choice: [continue]: t

Terminating all jobs at user request

[09:46:24][--:--:--][db2e4e4e][ main:sdk/vala-tarball.bst ] STATUS Build terminating
[09:46:24][--:--:--][b503e9e5][ main:sdk/gobject-introspection.bst ] STATUS Build terminating
[09:46:24][--:--:--][a39842c0][ main:freedesktop-sdk.bst:components/libgudev.bst] STATUS Build terminating
[09:46:24][--:--:--][ecec38b2][ main:sdk/enchant-2.bst ] STATUS Build terminating
[09:46:30][00:00:12][db2e4e4e][ build:sdk/vala-tarball.bst ] SUCCESS Integrating sandbox
[09:46:30][--:--:--][db2e4e4e][ build:sdk/vala-tarball.bst ] START Staging sources
[09:46:30][00:00:11][ecec38b2][ build:sdk/enchant-2.bst ] SUCCESS Integrating sandbox
[09:46:30][--:--:--][ecec38b2][ build:sdk/enchant-2.bst ] START Staging sources
[09:46:30][00:00:00][db2e4e4e][ build:sdk/vala-tarball.bst ] SUCCESS Staging sources
[09:46:30][--:--:--][db2e4e4e][ build:sdk/vala-tarball.bst ] START Running commands

export NOCONFIGURE=1;

if [ -x ./configure ]; then true;
elif [ -x ./autogen ]; then ./autogen;
elif [ -x ./autogen.sh ]; then ./autogen.sh;
elif [ -x ./bootstrap ]; then ./bootstrap;
elif [ -x ./bootstrap.sh ]; then ./bootstrap.sh;
else autoreconf -ivf .;
fi
./configure --prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/bin \
--sysconfdir=/etc \
--datadir=/usr/share \
--includedir=/usr/include \
--libdir=/usr/lib/x86_64-linux-gnu \
--libexecdir=/usr/libexec \
--localstatedir=/var \
--sharedstatedir=/usr/com \
Message contains 42 additional lines

[09:46:30][00:00:00][ecec38b2][ build:sdk/enchant-2.bst ] SUCCESS Staging sources
[09:46:30][--:--:--][ecec38b2][ build:sdk/enchant-2.bst ] START Running commands

export NOCONFIGURE=1;

if [ -x ./configure ]; then true;
elif [ -x ./autogen ]; then ./autogen;
elif [ -x ./autogen.sh ]; then ./autogen.sh;
elif [ -x ./bootstrap ]; then ./bootstrap;
elif [ -x ./bootstrap.sh ]; then ./bootstrap.sh;
else autoreconf -ivf .;
fi
./configure --prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/bin \
--sysconfdir=/etc \
--datadir=/usr/share \
--includedir=/usr/include \
--libdir=/usr/lib/x86_64-linux-gnu \
--libexecdir=/usr/libexec \
--localstatedir=/var \
--sharedstatedir=/usr/com \
Message contains 42 additional lines

[09:46:30][00:00:13][a39842c0][ build:freedesktop-sdk.bst:components/libgudev.bst] SUCCESS Integrating sandbox
[09:46:30][--:--:--][a39842c0][ build:freedesktop-sdk.bst:components/libgudev.bst] START Staging sources
[09:46:30][00:00:00][a39842c0][ build:freedesktop-sdk.bst:components/libgudev.bst] SUCCESS Staging sources
[09:46:30][--:--:--][a39842c0][ build:freedesktop-sdk.bst:components/libgudev.bst] START Running commands

meson . _builddir --prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/bin \
--sysconfdir=/etc \
--datadir=/usr/share \
--includedir=/usr/include \
--libdir=/usr/lib/x86_64-linux-gnu \
--libexecdir=/usr/libexec \
--localstatedir=/var \
--sharedstatedir=/usr/com \
--mandir=/usr/share/man \
--infodir=/usr/share/info --buildtype=plain -Dauto_features=enabled -Db_pie=true -Ddefault_library=shared -Db_lto=true -Db_lto_threads=${LTOJOBS} -Dtests=disabled -Dvapi=enabled -Dintrospection=enabled
ninja -v -j ${NINJAJOBS} -C _builddir
env DESTDIR="/buildstream-install" ninja -C _builddir install
OPTS=()
if ! "true"; then
OPTS+=("-n")
fi
if ! "true"; then
OPTS+=("-p")
Message contains 13 additional lines

[09:46:31][00:00:12][b503e9e5][ build:sdk/gobject-introspection.bst ] SUCCESS Integrating sandbox
[09:46:31][--:--:--][b503e9e5][ build:sdk/gobject-introspection.bst ] START Staging sources
[09:46:31][00:00:00][b503e9e5][ build:sdk/gobject-introspection.bst ] SUCCESS Staging sources
[09:46:31][--:--:--][b503e9e5][ build:sdk/gobject-introspection.bst ] START Running commands

meson . _builddir --prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/bin \
--sysconfdir=/etc \
--datadir=/usr/share \
--includedir=/usr/include \
--libdir=/usr/lib/x86_64-linux-gnu \
--libexecdir=/usr/libexec \
--localstatedir=/var \
--sharedstatedir=/usr/com \
--mandir=/usr/share/man \
--infodir=/usr/share/info --buildtype=plain --auto-features=enabled -Dgtk_doc=true -Dcairo=disabled -Ddoctool=enabled
ninja -j ${NINJAJOBS} -C _builddir
env DESTDIR="/buildstream-install" ninja -C _builddir install
OPTS=()
if ! "true"; then
OPTS+=("-n")
fi
if ! "true"; then
OPTS+=("-p")
Message contains 13 additional lines

[09:46:56][00:00:25][a39842c0][ build:freedesktop-sdk.bst:components/libgudev.bst] SUCCESS Running commands
[09:46:56][--:--:--][a39842c0][ build:freedesktop-sdk.bst:components/libgudev.bst] START Caching artifact
[09:46:56][00:00:00][a39842c0][ build:freedesktop-sdk.bst:components/libgudev.bst] SUCCESS Caching artifact
[09:46:56][00:00:40][a39842c0][ build:freedesktop-sdk.bst:components/libgudev.bst] SUCCESS freedesktop-sdk/components-libgudev/a39842c0-build.12749.log
[09:47:13][00:00:42][ecec38b2][ build:sdk/enchant-2.bst ] SUCCESS Running commands
[09:47:13][--:--:--][ecec38b2][ build:sdk/enchant-2.bst ] START Caching artifact
[09:47:13][00:00:00][ecec38b2][ build:sdk/enchant-2.bst ] SUCCESS Caching artifact
[09:47:13][00:00:57][ecec38b2][ build:sdk/enchant-2.bst ] SUCCESS gnome/sdk-enchant-2/ecec38b2-build.12749.log
[09:47:15][00:00:44][db2e4e4e][ build:sdk/vala-tarball.bst ] SUCCESS Running commands
[09:47:15][--:--:--][db2e4e4e][ build:sdk/vala-tarball.bst ] START Caching artifact
[09:47:15][00:00:00][db2e4e4e][ build:sdk/vala-tarball.bst ] SUCCESS Caching artifact
[09:47:15][00:00:59][db2e4e4e][ build:sdk/vala-tarball.bst ] SUCCESS gnome/sdk-vala-tarball/db2e4e4e-build.12749.log
[09:47:16][00:00:45][b503e9e5][ build:sdk/gobject-introspection.bst ] SUCCESS Running commands
[09:47:16][--:--:--][b503e9e5][ build:sdk/gobject-introspection.bst ] START Caching artifact
[09:47:16][00:00:00][b503e9e5][ build:sdk/gobject-introspection.bst ] SUCCESS Caching artifact
[09:47:16][00:01:01][b503e9e5][ build:sdk/gobject-introspection.bst ] SUCCESS gnome/sdk-gobject-introspection/b503e9e5-build.12749.log
[09:47:16][00:01:21][ ][ main:core activity ] WARNING Build Terminated

Pipeline Summary
Total: 805
Session: 805
Fetch Queue: processed 7, skipped 697, failed 0
Build Queue: processed 2, skipped 469, failed 0
```

Contributor guide

Open the contributing guide

Research direction

No source file or test is named; begin by reproducing the ^C termination flow with concurrent fetch and build jobs, then trace how the `t` choice relates to the logged job lifecycle. Done means in-progress fetch and build jobs stop instead of continuing through command execution and artifact caching.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
40/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.