Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 492790 - =dev-vcs/stgit-0.16-r2 - some commands hang
Summary: =dev-vcs/stgit-0.16-r2 - some commands hang
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: René 'Necoro' Neumann
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-11-28 12:10 UTC by eroen
Modified: 2014-03-25 15:39 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description eroen 2013-11-28 12:10:45 UTC
On one box, some stg locks up after some (not all) commands are used. Everything I have tried works fine, but I have to hit ^c to continue working. It appears the lockup happens while waiting for a subprocess to exit, but I'm not equipped to efficiently debug this on my own.

A different box with similar setup which does not show the same issue. I have attempted to twidde the differing use flags on dev-vcs/git and I have attempted to downgrade git and stgit to the latest stable versions to no improvement.

Commands that cause lockup: uncommit, push, pop, edit, new, sink, float, undo, redo, show, log, files, export
Commands that do not cause lockup: help, series, status, next

eroen@falcon ~ $ mkdir stg-test
eroen@falcon ~ $ cd stg-test/
eroen@falcon ~/stg-test $ echo test > testfile
eroen@falcon ~/stg-test $ git init
Initialized empty Git repository in /home/eroen/stg-test/.git/
eroen@falcon ~/stg-test $ git add testfile 
eroen@falcon ~/stg-test $ git commit -m 'initial'
[master (root-commit) 8e12e03] initial
 1 file changed, 1 insertion(+)
 create mode 100644 testfile
eroen@falcon ~/stg-test $ echo test2 > testfile 
eroen@falcon ~/stg-test $ git commit -m 'initial' -a
[master 321d3a0] initial
 1 file changed, 1 insertion(+), 1 deletion(-)
eroen@falcon ~/stg-test $ stg init
eroen@falcon ~/stg-test $ stg uncommit
Uncommitting 1 patches ... 
  Now at patch "initial"
done
@@hangs here after a newline@@^CError in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/atexit.py", line 24, in _run_exitfuncs
    func(*targs, **kargs)
  File "/usr/lib64/python2.7/site-packages/stgit/lib/git.py", line 572, in __shutdown
    p.wait()
  File "/usr/lib64/python2.7/subprocess.py", line 1376, in wait
    pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0)
  File "/usr/lib64/python2.7/subprocess.py", line 478, in _eintr_retry_call
    return func(*args)
KeyboardInterrupt
Error in sys.exitfunc:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/atexit.py", line 24, in _run_exitfuncs
    func(*targs, **kargs)
  File "/usr/lib64/python2.7/site-packages/stgit/lib/git.py", line 572, in __shutdown
    p.wait()
  File "/usr/lib64/python2.7/subprocess.py", line 1376, in wait
    pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0)
  File "/usr/lib64/python2.7/subprocess.py", line 478, in _eintr_retry_call
    return func(*args)
KeyboardInterrupt
eroen@falcon ~/stg-test $ 


eroen@falcon ~/stg-test $ emerge --info =dev-vcs/git-1.8.4.4 =dev-vcs/stgit-0.16-r2 =dev-lang/python-2.7.5-r4:2.7
Portage 2.2.7 (default/linux/amd64/13.0, gcc-4.8.2, glibc-2.17, 3.10.7-e6-falcon0+ x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.10.7-e6-falcon0+-x86_64-Intel-R-_Core-TM-2_Quad_CPU_@_2.40GHz-with-gentoo-2.2
KiB Mem:     4038272 total,    444828 free
KiB Swap:    8388604 total,   7229632 free
Timestamp of tree: Thu, 28 Nov 2013 08:45:01 +0000
ld GNU ld (GNU Binutils) 2.23.2
distcc 3.1 x86_64-pc-linux-gnu [disabled]
ccache version 3.1.9 [disabled]
app-shells/bash:          4.2_p45
dev-java/java-config:     2.2.0
dev-lang/python:          2.7.5-r4, 3.2.5-r3, 3.3.3
dev-util/ccache:          3.1.9-r3
dev-util/cmake:           2.8.12.1-r1
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.11.6, 1.12.6, 1.13.4, 1.14
sys-devel/binutils:       2.23.2
sys-devel/gcc:            4.5.4, 4.6.4, 4.7.3-r1, 4.8.2
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2
sys-devel/make:           4.0
sys-kernel/linux-headers: 3.12 (virtual/os-headers)
sys-libs/glibc:           2.17
Repositories: gentoo gamerlay eroen
ACCEPT_KEYWORDS="amd64 ~amd64 ~x86"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=core2 -O2 -pipe"
DISTDIR="/var/distfiles"
EMERGE_DEFAULT_OPTS="--jobs 3 --nospinner --quiet-build --with-bdeps=y --binpkg-respect-use y"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="/var/temdist/ /var/distfiles-occam/ http://mirrors.eu.kernel.org/gentoo/ http://mirrors.kernel.org/gentoo/ http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/var/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/gamerlay /var/lib/layman/eroen"
SYNC="rsync://mirrors.eu.kernel.org/gentoo-portage/"
USE="X a52 aac aacs accessibility acl adns alsa amd64 ao atm berkdb bluray bs2b bzip2 cairo calendar canberra caps cdda cdio cdparanoia cdr cli corefonts cracklib crypt css cue cups curl cxx dbus dia dirac djvu dmapi dri dts dvd dvdnav dvi ebook eigen exif faac fam fbcondecor ffmpeg fftw fits flac fontconfig fortran fuse g3dvl gcrypt gd gdbm gif gimp git gmp gnutls gold gstreamer hdri highlight iconv icu id3tag idn imagemagick inotify iptc ipv6 jpeg jpeg2k kde kvm lcms lensfun libnotify loop-aes lqr lzma lzo mad man matroska midi mikmod mkv mms mmx mmxext mng mod modplug modules mp3 mp4 mpeg mpeg2 mpeg4 mpeg4pt2 mplayer mtp mudflap multilib musepack ncurses netlink nfs nls nouveau nptl ocr offensive ogg openal opencl openexr opengl opengtl openmp openvg optimization osmesa pam pango pcre pdf png pnm portaudio postscript pulseaudio qalculate qemu qt3support qt4 rar raw rdesktop readline real rtmp samba scanner schroedinger security session smp sndfile socks5 speex spice sse sse2 sse3 ssl ssse3 strong-optimization svg tbb tcpd theora threads tiff timidity tls truetype udev uml unicode usb usbredir v4l v4l2 vdpau virtualbox vnc vorbis wacom wavpack webp wmf x264 xattr xcb xcomposite xetex xfs xft xine xinerama xorg xps xrandr xv xvid xvmc zlib" ABI_X86="32 64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CURL_SSL="openssl" DRACUT_MODULES="biosdevname caps crypt crypt-gpg dash dmraid lvm mdraid syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64 pc qemu" INPUT_DEVICES="evdev keyboard mouse synaptics wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="nlpsolver presenter-console presenter-minimizer" LINGUAS="en en_US en_GB nb no nb_NO" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2 python3_3" RUBY_TARGETS="ruby20" SANE_BACKENDS="net plustek pnm" USERLAND="GNU" VIDEO_CARDS="nouveau nvidia vesa" XFCE_PLUGINS="menu" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
USE_PYTHON="2.7 3.2 3.3"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

dev-vcs/git-1.8.4.4 was built with the following:
USE="blksha1 curl gpg highlight iconv nls pcre perl python test threads webdav -cgi -cvs -doc -emacs -gnome-keyring -gtk (-ppcsha1) -subversion -tk -xinetd" PYTHON_SINGLE_TARGET="python2_7 -python2_6" PYTHON_TARGETS="python2_7 -python2_6"


dev-vcs/stgit-0.16-r2 was built with the following:
USE="-doc" PYTHON_TARGETS="python2_7"


dev-lang/python-2.7.5-r4 was built with the following:
USE="gdbm ipv6 (multilib) ncurses readline sqlite ssl threads tk (wide-unicode) xml -berkdb -build -doc -examples -hardened -wininst" ABI_X86="64"
CFLAGS="-march=core2 -O2 -pipe -fwrapv"
CXXFLAGS="-march=core2 -O2 -pipe -fwrapv"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -L."
Comment 1 René 'Necoro' Neumann 2013-11-28 21:08:58 UTC
Something tells me, that might be a bug in git.

Could you run 
FEATURES=test emerge -1av git ... perhaps on both your machines and see whether they yield the same result?
Comment 2 eroen 2013-11-28 22:56:05 UTC
box with no problems:
fixed   0
success 9611
failed  0
broken  87
total   10012
(nls and perl use flags disabled)

box with hanging stg:
fixed   0
success 10092
failed  0
broken  87
total   10306


An unrelated, but way more useful piece of information showed up during this test, as I was conducting it through ssh from the box with working stgit using a different terminal emulator. 

The hangs only seem to happen when using Konsole. No hangs were observed with xterm, uxterm, lxterminal, xfce4-terminal or yakuake (all of the tested terminals set TERM=xterm).
Comment 3 eroen 2013-11-28 22:58:29 UTC
I attempted to rebuild konsole with FEATURES=test, it passed and I still see hanging stgit.

=================================================================
                        Package Settings
=================================================================

kde-base/konsole-4.11.3 was built with the following:
USE="test (-aqua) -debug -handbook"
Comment 4 eroen 2013-11-29 09:18:59 UTC
I also notice that the hang does not happen when I ssh to localhost using a konsole that otherwise displays the hanging.  Using tmux or screen does not show any change, though.
Comment 5 René 'Necoro' Neumann 2013-11-29 09:31:15 UTC
Next guess: On your hanging box it pipes through less, even when it should not. Do the ~/.gitconfig (or related) differ between your two boxes?
Comment 6 eroen 2013-11-29 10:44:26 UTC
I must correct my earlier statement. The hangs *sometimes* show up in lxterminal.

~/.gitconfig of box with no hangs:
[user]
        name = eroen
        email = eroen@occam.eroen.eu
[push]
        default = simple
~/.gitconfig of box with hangs:
[user]
        email = eroen@falcon.eroen.eu
        name = eroen
Comment 7 eroen 2013-11-29 11:37:19 UTC
Err. After an unrelated reboot, I can no longer reproduce the hangs in konsole, but the *occasional* hangs in lxterminal are still present. I suspect konsole reuses an existing process or something, so I was not using the newly rebuilt one.

I can also reproduce the hangs with the 'vte' terminal emulator, but not with 'vte2_90'.
Comment 8 eroen 2014-03-25 15:39:22 UTC
I no longer see this issue after updating and rebuilding many things over a few weeks. It may not be reproducible at all.