Bug 1348757 - kshisen crashes on Gnome
Summary: kshisen crashes on Gnome
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: kshisen
Version: 24
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Than Ngo
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-06-22 00:54 UTC by Nick Urbanik
Modified: 2017-08-08 14:55 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-08-08 14:55:20 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Home system .config/kshisenrc file (crashes at home) (1.56 KB, text/plain)
2016-06-27 16:09 UTC, Tom Horsley
no flags Details
The .config/kshisenrc from my work system (no crash here) (1.77 KB, text/plain)
2016-06-27 16:12 UTC, Tom Horsley
no flags Details
Fresh kshisenrc file (1.53 KB, text/plain)
2016-06-27 21:27 UTC, Tom Horsley
no flags Details


Links
System ID Private Priority Status Summary Last Updated
KDE Software Compilation 361132 0 None None None 2016-07-01 13:12:45 UTC

Description Nick Urbanik 2016-06-22 00:54:52 UTC
Description of problem: kshisen crashes when it's started on Gnome desktop, but can run on my F24 machine with XFCE.  It can also run from the Gnome machine over SSH with X forwarding.


Version-Release number of selected component (if applicable): kshisen-16.04.1-1.fc24.x86_64.rpm


How reproducible:
Always

Steps to Reproduce:
1. Log into gnome shell 3.20
2. start kshisen either by clicking icon or from command line
3. kshisen crashes with terminate called after throwing an instance of 'std::out_of_range'

Actual results:
kshisen crashes

Expected results:
Should run.

Additional info:

Comment 1 Nick Urbanik 2016-06-22 00:56:34 UTC
OK, now it is running on Gnome.  So it is not always reproducible.

Comment 2 Nick Urbanik 2016-06-25 07:09:45 UTC
It mostly fails.

Comment 3 Rex Dieter 2016-06-25 13:49:25 UTC
Can you test
https://bodhi.fedoraproject.org/updates/FEDORA-2016-63a6f56204
and see if that helps?

otherwise, do you get any abrt crash report, or could you otherwise obtain a backtrace of the crash?

Comment 4 Tom Horsley 2016-06-25 22:40:44 UTC
It crashes for me in my FVWM session as well:

zooty> kshisen
terminate called after throwing an instance of 'std::out_of_range'
  what():  vector::_M_range_check: __n (which is 0) >= this->size() (which is 0)
KCrash: Application 'kshisen' crashing...
KCrash: Attempting to start /usr/libexec/drkonqi from kdeinit
sock_file=/run/user/2304/kdeinit5__0
Warning: connect() failed: : No such file or directory
KCrash: Attempting to start /usr/libexec/drkonqi directly
pa_write() failed while trying to wake up the mainloop: Bad file descriptor
pa_write() failed while trying to wake up the mainloop: Bad file descriptor
pa_write() failed while trying to wake up the mainloop: Bad file descriptor
Invalid write to eventfd: Bad file descriptor
Code should not be reached at pulsecore/fdsem.c:199, function pa_fdsem_post(). Aborting.
Unable to start Dr. Konqi

Comment 5 Tom Horsley 2016-06-25 22:43:26 UTC
I didn't download debuginfo files, not wanting to clutter my system excessively, but here's the backtrace I get from gdb with no debuginfo:

(gdb) bt
#0  0x00007ffff34d46f5 in raise () at /lib64/libc.so.6
#1  0x00007ffff34d62fa in abort () at /lib64/libc.so.6
#2  0x00007ffff3e143ed in __gnu_cxx::__verbose_terminate_handler() ()
    at /lib64/libstdc++.so.6
#3  0x00007ffff3e12196 in  () at /lib64/libstdc++.so.6
#4  0x00007ffff3e121e1 in  () at /lib64/libstdc++.so.6
#5  0x00007ffff3e123f9 in  () at /lib64/libstdc++.so.6
#6  0x00007ffff3e3b6b7 in std::__throw_out_of_range_fmt(char const*, ...) ()
    at /lib64/libstdc++.so.6
#7  0x0000555555573925 in Board::newGame() ()
#8  0x0000555555574038 in Board::setSize(int, int) ()
#9  0x0000555555574508 in Board::loadSettings() ()
#10 0x0000555555574cbf in Board::Board(QWidget*) ()
#11 0x0000555555564d10 in App::App(QWidget*) ()
#12 0x00005555555629cd in main ()

Comment 6 Nick Urbanik 2016-06-26 00:18:25 UTC
I installed all the adwaita-qt*-0.4-2.fc24.x86_64.rpm packages from http://koji.fedoraproject.org/koji/buildinfo?buildID=774690 and still get the same crash.  I'll install the debuginfo files for kshisen and provide the backtrace.

Comment 7 Nick Urbanik 2016-06-26 00:38:44 UTC
(gdb) backtrace full
Python Exception <class 'gdb.error'> Attempt to dereference a generic pointer.: 
#0  0x00007f86bd8126f5 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
        resultvar = 0
        pid = 3186
        selftid = 3186
#1  0x00007f86bd8142fa in __GI_abort () at abort.c:89
        save_stage = 2
        act = 
          {__sigaction_handler = {sa_handler = 0x1c00000014, sa_sigaction = 0x1c00000014}, sa_mask = {__val = {64424509445, 0, 140216681974543, 140216685409568, 1, 140216685409699, 0, 10, 140216694476648, 140216439892176, 140216439892176, 1, 140216439894544, 94002827595680, 140216439899888, 140216439892224}}, sa_flags = -1105923232, sa_restorer = 0x557ebd1d8668}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007f86be1523ed in __gnu_cxx::__verbose_terminate_handler() () at ../../../../libstdc++-v3/libsupc++/vterminate.cc:95
        terminating = true
        t = <optimized out>
#3  0x00007f86be150196 in __cxxabiv1::__terminate(void (*)()) (handler=<optimized out>)
    at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:47
#4  0x00007f86be1501e1 in std::terminate() () at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:57
#5  0x00007f86be1503f9 in __cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*)) (obj=obj@entry=0x557ebd259010, tinfo=0x7f86be43aa98 <typeinfo for std::out_of_range>, dest=0x7f86be165590 <std::out_of_range::~out_of_range()>)
    at ../../../../libstdc++-v3/libsupc++/eh_throw.cc:87
        globals = <optimized out>
#6  0x00007f86be1796b7 in std::__throw_out_of_range_fmt(char const*, ...) (__fmt=<optimized out>)
    at ../../../../../libstdc++-v3/src/c++11/functexcept.cc:104
        __len = <optimized out>
        __alloca_size = <optimized out>
        __s = 0x7fff0126c290 "vector::_M_range_check: __n (which is 0) >= this->size() (which is 0)"
#7  0x0000557ebccf1925 in Board::newGame() (this=0x557ebd1dd650) at /usr/include/c++/6.0.0/bits/stl_vector.h:804
        curTile = <optimized out>
        tileCount = <optimized out>
        tx = <optimized out>
        ty = <optimized out>
        oldfield = 
          std::vector of length 144, capacity 144 = {34, 26, 1, 33, 17, 7, 4, 26, 13, 13, 6, 15, 14, 29, 20, 6, 3, 16, 27, 24, 11, 15, 8, 6, 27, 9, 7, 3, 8, 22, 32, 33, 9, 12, 36, 8, 19, 9, 7, 2, 14, 29, 11, 21, 12, 12, 17, 20, 4, 29, 25, 16, 34, 32, 10, 25, 26, 31, 36, 13, 3, 23, 27, 23, 28, 17, 5, 17, 18, 5, 36, 2, 19, 18, 30, 19, 8, 4, 3, 24, 31, 33, 16, 11, 21, 28, 22, 12, 23, 1, 13, 15, 16, 24, 30, 31, 1, 28, 25, 10, 2, 35, 14, 30, 1, 27, 4, 2, 23, 18, 6, 19, 29, 34, 7, 22, 18, 35, 10, 34, 21, 10, 35, 30, 24, 14, 32, 5, 11, 33, 20, 31, 20, 28, 5, 15, 22, 9, 26, 35, 36, 25, 32, 21}
        maxAttempts = 200
#8  0x0000557ebccf2038 in Board::setSize(int, int) (this=0x557ebd1dd650, x=<optimized out>, y=<optimized out>)
    at /usr/src/debug/kshisen-16.04.1/src/board.cpp:429
#9  0x0000557ebccf2508 in Board::loadSettings() (this=0x557ebd1dd650) at /usr/src/debug/kshisen-16.04.1/src/board.cpp:152
#10 0x0000557ebccf2cbf in Board::Board(QWidget*) (this=0x557ebd1dd650, parent=<optimized out>)
    at /usr/src/debug/kshisen-16.04.1/src/board.cpp:122
#11 0x0000557ebcce2d10 in App::App(QWidget*) (this=0x557ebd1d5390, parent=<optimized out>, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/src/debug/kshisen-16.04.1/src/app.cpp:82
#12 0x0000557ebcce09cd in main(int, char**) (argc=<optimized out>, argv=<optimized out>)
    at /usr/src/debug/kshisen-16.04.1/src/main.cpp:74
        a = 
              {<QGuiApplication> = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x7f86bf8dd608 <vtable for QApplication+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7f86be7e79a0 <qt_meta_stringdata_QObject>, data = 0x7f86be7e7880 <qt_meta_data_QObject>, static_metacall = 0x7f86be6b9d80 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x557ebcf58c00}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7f86be82f4a0 <qt_meta_stringdata_Qt>, data = 0x7f86be82ca20 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7f86be8b9e80 <QObject::staticMetaObject>, stringdata = 0x7f86be8460a0 <qt_meta_stringdata_QCoreApplication>, data = 0x7f86be845f80 <qt_meta_data_QCoreApplication>, static_metacall = 0x7f86be724080 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static self = 0x7fff0126c8f0}, static staticMetaObject = {d = {superdata = 0x7f86be8c2b20 <QCoreApplication::staticMetaObject>, stringdata = 0x7f86bef9d920 <qt_meta_stringdata_QGuiApplication>, data = 0x7f86bef9d6e0 <qt_meta_data_QGuiApplication>, static_metacall = 0x7f86bec6c700 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7f86bf04e540 <QGuiApplication::staticMetaObject>, stringdata = 0x7f86bf792200 <qt_meta_stringdata_QApplication>, data = 0x7f86bf792080 <qt_meta_data_QApplication>, static_metacall = 0x7f86bf3e5a10 <QApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        migrate = {d = 0x557ebd1aac70}
        aboutData = {d = 0x557ebd1a9410}
        parser = {d = 0x557ebd1ac1b0}
        service = 
          {<QObject> = {_vptr.QObject = 0x7f86c1f0d650 <vtable for KDBusService+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7f86be7e79a0 <qt_meta_stringdata_QObject>, data = 0x7f86be7e7880 <qt_meta_data_QObject>, static_metacall = 0x7f86be6b9d80 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x557ebd1cb6e0}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7f86be82f4a0 <qt_meta_stringdata_Qt>, data = 0x7f86be82ca20 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7f86be8b9e80 <QObject::staticMetaObject>, stringdata = 0x7f86c1d0b380 <qt_meta_stringdata_KDBusService>, data = 0x7f86c1d0b260 <qt_meta_data_KDBusService>, static_metacall = 0x7f86c1d08a40 <KDBusService::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x557ebd1e0840}
        app = <optimized out>
(gdb)

Comment 8 Nick Urbanik 2016-06-26 00:39:25 UTC
(gdb) bt
#0  0x00007f86bd8126f5 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007f86bd8142fa in __GI_abort () at abort.c:89
#2  0x00007f86be1523ed in __gnu_cxx::__verbose_terminate_handler() () at ../../../../libstdc++-v3/libsupc++/vterminate.cc:95
#3  0x00007f86be150196 in __cxxabiv1::__terminate(void (*)()) (handler=<optimized out>)
    at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:47
#4  0x00007f86be1501e1 in std::terminate() () at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:57
#5  0x00007f86be1503f9 in __cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*)) (obj=obj@entry=0x557ebd259010, tinfo=0x7f86be43aa98 <typeinfo for std::out_of_range>, dest=0x7f86be165590 <std::out_of_range::~out_of_range()>)
    at ../../../../libstdc++-v3/libsupc++/eh_throw.cc:87
#6  0x00007f86be1796b7 in std::__throw_out_of_range_fmt(char const*, ...) (__fmt=<optimized out>)
    at ../../../../../libstdc++-v3/src/c++11/functexcept.cc:104
#7  0x0000557ebccf1925 in Board::newGame() (this=0x557ebd1dd650) at /usr/include/c++/6.0.0/bits/stl_vector.h:804
#8  0x0000557ebccf2038 in Board::setSize(int, int) (this=0x557ebd1dd650, x=<optimized out>, y=<optimized out>)
    at /usr/src/debug/kshisen-16.04.1/src/board.cpp:429
#9  0x0000557ebccf2508 in Board::loadSettings() (this=0x557ebd1dd650) at /usr/src/debug/kshisen-16.04.1/src/board.cpp:152
#10 0x0000557ebccf2cbf in Board::Board(QWidget*) (this=0x557ebd1dd650, parent=<optimized out>)
    at /usr/src/debug/kshisen-16.04.1/src/board.cpp:122
#11 0x0000557ebcce2d10 in App::App(QWidget*) (this=0x557ebd1d5390, parent=<optimized out>, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/src/debug/kshisen-16.04.1/src/app.cpp:82
#12 0x0000557ebcce09cd in main(int, char**) (argc=<optimized out>, argv=<optimized out>)
    at /usr/src/debug/kshisen-16.04.1/src/main.cpp:74
(gdb)

Comment 9 Rex Dieter 2016-06-27 13:34:43 UTC
Can you post the contents of ~/.config/kshisenrc , if it exists?

Comment 10 Tom Horsley 2016-06-27 16:09:51 UTC
Created attachment 1172974 [details]
Home system .config/kshisenrc file (crashes at home)

This is weird. My home and work systems are running very very similar fedora 24 setups. At home kshisen crashes, at work, it does not crash. This is the home version which crashes.

Comment 11 Tom Horsley 2016-06-27 16:12:32 UTC
Created attachment 1172976 [details]
The .config/kshisenrc from my work system (no crash here)

And this is the file from my work system which does not trigger a crash. Seems to run OK at work. I notice it has a different background set, maybe the home background no longer ships with the rpm and it has trouble with a missing file (just a random thought, no real evidence).

Comment 12 Rex Dieter 2016-06-27 16:15:03 UTC
Odd, though those seem to have some invalid entries (from kde4 versions).

May be worth renaming or deleting ~/.config/kshisenrc on the system(s) where crashes are occuring to see if that helps.

Comment 13 Tom Horsley 2016-06-27 21:27:21 UTC
Created attachment 1173193 [details]
Fresh kshisenrc file

I got home, renamed the old .config/kshisenrc file, then ran kshisen again. At home it still aborts the exact same way, and it left behind a new kshisenrc file which I recorded in this attachment.

Comment 14 Rex Dieter 2016-06-27 21:38:54 UTC
Very strange, so your kshisenrc file ends up references kde4 stuff (still):

[General]
Background_file=/usr/share/kde4/apps/kmahjongglib/backgrounds/default.desktop
Tileset_file=/usr/share/kde4/apps/kmahjongglib/tilesets/default.desktop

Comment 15 Rex Dieter 2016-07-01 13:12:46 UTC
I wonder if this upstream bug "kmahjongg 16.04 fails to stat after migrating KDE4 configuration" is relevant,
http://bugs.kde.org/361132

Comment 16 Rex Dieter 2016-07-01 13:16:35 UTC
Apparently not, at least not directly.

Since I cannot reproduce this, mind filing a bug upstream @ bugs.kde.org ?

Comment 17 Tom Horsley 2016-07-20 23:07:19 UTC
Weirdly, I tried kshisen the other day and it was working, so some update must have fixed it (or it is somehow random). Still works after checking it for a few more days.

Comment 18 Fedora End Of Life 2017-07-25 21:10:21 UTC
This message is a reminder that Fedora 24 is nearing its end of life.
Approximately 2 (two) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 24. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '24'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 24 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 19 Fedora End Of Life 2017-08-08 14:55:20 UTC
Fedora 24 changed to end-of-life (EOL) status on 2017-08-08. Fedora 24 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.