Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 630516 - net-libs/libsoup-2.56.1: websocket tests fail
Summary: net-libs/libsoup-2.56.1: websocket tests fail
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: Sparc64 Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL: https://bugzilla.gnome.org/show_bug.c...
Whiteboard:
Keywords: PATCH, TESTFAILURE
Depends on:
Blocks:
 
Reported: 2017-09-09 18:57 UTC by Rolf Eike Beer
Modified: 2018-04-08 09:00 UTC (History)
3 users (show)

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


Attachments
Build and test logs (libsoup-2.56.1-logs.tar.xz,29.79 KB, application/x-xz)
2017-09-09 18:57 UTC, Rolf Eike Beer
Details
fix (bug-630516.patch,501 bytes, patch)
2017-11-24 17:08 UTC, Rolf Eike Beer
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rolf Eike Beer archtester 2017-09-09 18:57:18 UTC
# random seed: R02Sbfb1f8620435087d5ab0b99e69a4a5e0
1..25
# Start of websocket tests
# Start of soup tests
# libsoup-DEBUG: stopping input source
# libsoup-DEBUG: closing io stream
# libsoup-DEBUG: stopping input source
# libsoup-DEBUG: closing io stream
ok 1 /websocket/soup/handshake
PASS: websocket-test 1 /websocket/soup/handshake
# libsoup-DEBUG: closed: completed io stream close
/var/tmp/portage/net-libs/libsoup-2.56.1/work/libsoup-2.56.1/tap-test: line 5:  8693 Bus error               $1 -k --tap
# libsoup-DEBUG: closed: completed io stream close
ERROR: websocket-test - too few tests run (expected 25, got 1)
ERROR: websocket-test - exited with status 138 (terminated by signal 10?)

emerge --info:

Portage 2.3.6 (python 2.7.12-final-0, default/linux/sparc/13.0, gcc-5.4.0, glibc-2.23-r4, 4.13.0 sparc64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.13.0-sparc64-sun4v-with-gentoo-2.3
KiB Mem:    33133664 total,  24794608 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Sat, 09 Sep 2017 00:15:01 +0000
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.28.1 p1.0) 2.28.1
app-shells/bash:          4.3_p48-r1::gentoo
dev-lang/perl:            5.24.1-r2::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.7.2::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.28::gentoo
sys-apps/sandbox:         2.10-r3::gentoo
sys-devel/autoconf:       2.69::gentoo
sys-devel/automake:       1.14.1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.26.1::gentoo, 2.28.1::gentoo
sys-devel/gcc:            3.4.6-r2::gentoo, 4.1.2::gentoo, 4.2.4-r1::gentoo, 4.3.6-r1::gentoo, 4.4.7::gentoo, 4.5.4::gentoo, 4.6.4::gentoo, 4.7.4::gentoo, 4.8.5::gentoo, 4.9.4::gentoo, 5.4.0-r3::gentoo, 6.3.0::gentoo, 7.2.0::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r4::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.de.gentoo.org/gentoo-portage
    priority: -1000

dakon
    location: /var/lib/layman/dakon
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="sparc"
ACCEPT_LICENSE="* -@EULA"
CBUILD="sparc-unknown-linux-gnu"
CFLAGS="-O2 -mcpu=niagara2 -pipe"
CHOST="sparc-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.0/ext-active/ /etc/php/cgi-php7.0/ext-active/ /etc/php/cli-php7.0/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -mcpu=ultrasparc -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS=""
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=""
GENTOO_MIRRORS="ftp://pioneer.sf-tec.de/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo"
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j20"
PKGDIR="/usr/portage/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 --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl big-endian bzip2 cli cracklib crypt curl cxx dri fortran gdbm iconv ipv6 modules ncurses nptl openmp pam pcre readline session sparc ssl tcpd unicode xattr zlib" 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" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" L10N="en de" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en de" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby21 ruby22" USERLAND="GNU" VIDEO_CARDS="fbdev glint mach64 mga r128 radeon sunbw2 suncg14 suncg3 suncg6 sunffb sunleo tdfx dummy v4l" 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"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


Reproducible: Always
Comment 1 Rolf Eike Beer archtester 2017-09-09 18:57:54 UTC
Created attachment 493606 [details]
Build and test logs
Comment 2 Gilles Dartiguelongue (RETIRED) gentoo-dev 2017-09-11 21:32:14 UTC
The bus error message seems to indicate this problem is arch specific.
Would you mind reporting this upstream ?
Comment 3 Gilles Dartiguelongue (RETIRED) gentoo-dev 2017-09-11 21:32:49 UTC
Also, do you happen to reproduce this issue with either 2.56.0 or 2.58.2 ?
Comment 4 Rolf Eike Beer archtester 2017-09-12 16:34:43 UTC
Error happens also with 2.56.0 and 2.58.2. Output from gdb:

# random seed: R02S694bbc9f5f0220360e30b12c387ea468
1..25
# Start of websocket tests
# Start of soup tests
[New Thread 0xf6ef7b70 (LWP 62080)]
[New Thread 0xf66f7b70 (LWP 62083)]
# libsoup-DEBUG: stopping input source
# libsoup-DEBUG: closing io stream
# libsoup-DEBUG: stopping input source
# libsoup-DEBUG: closing io stream
[Thread 0xf6ef7b70 (LWP 62080) exited]
ok 1 /websocket/soup/handshake
[New Thread 0xf6ef7b70 (LWP 62084)]
# libsoup-DEBUG: closed: completed io stream close
# libsoup-DEBUG: closed: completed io stream close

Thread 1 "websocket-test" received signal SIGBUS, Bus error.
0xf7f70200 in send_message (self=0x709238, flags=SOUP_WEBSOCKET_QUEUE_NORMAL, 
    opcode=<optimized out>, data=0x18c88 "this is a test", 
    length=<optimized out>)
    at /var/tmp/portage/net-libs/libsoup-2.58.2/work/libsoup-2.58.2/libsoup/
soup-websocket-connection.c:400
400                     * ((guint32 *)mask) = g_random_int ();
(gdb) bt
#0  0xf7f70200 in send_message (self=0x709238, 
    flags=SOUP_WEBSOCKET_QUEUE_NORMAL, opcode=<optimized out>, 
    data=0x18c88 "this is a test", length=<optimized out>)
    at /var/tmp/portage/net-libs/libsoup-2.58.2/work/libsoup-2.58.2/libsoup/
soup-websocket-connection.c:400
#1  0x00014e3c in test_send_client_to_server (test=0x643b68, data=0x0)
    at /var/tmp/portage/net-libs/libsoup-2.58.2/work/libsoup-2.58.2/tests/
websocket-test.c:326
#2  0xf7c6d6ac in ?? () from /usr/lib/libglib-2.0.so.0
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Comment 5 Rolf Eike Beer archtester 2017-11-24 17:08:39 UTC
Created attachment 506432 [details, diff]
fix

Use an explicit temporary variable and memcpy() to fix the unaligned store on sparc. Could also happen on some ARM platforms AFAIK. Compilers on other platforms are usually intelligent enough to optimize that away.
Comment 6 Mart Raudsepp gentoo-dev 2017-11-24 17:58:34 UTC
Can you take this to upstream bugzilla yourself?
Comment 7 Rolf Eike Beer archtester 2017-11-25 20:08:00 UTC
In progress. Can we please get the patch for this and all following version in the meantime so this actually works on sparc?
Comment 8 Larry the Git Cow gentoo-dev 2018-03-21 22:12:55 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a5d6ac97e6f58d8ce46dd78620b9df077b2a7507

commit a5d6ac97e6f58d8ce46dd78620b9df077b2a7507
Author:     Rolf Eike Beer <eike@sf-mail.de>
AuthorDate: 2018-03-19 17:16:05 +0000
Commit:     Sergei Trofimovich <slyfox@gentoo.org>
CommitDate: 2018-03-21 22:12:49 +0000

    net-libs/libsoup-2.58.2: fix unaligned accesses
    
    Bug: https://bugs.gentoo.org/630516
    Closes: https://github.com/gentoo/gentoo/pull/7511

 .../files/libsoup-2.58.2-sparc-unaligned.patch     | 28 ++++++++++++++++++++++
 net-libs/libsoup/libsoup-2.58.2.ebuild             |  5 ++++
 2 files changed, 33 insertions(+)}
Comment 9 Rolf Eike Beer archtester 2018-04-08 09:00:53 UTC
Fixed version is stable for sparc.