linuxmint / cinnamon

A Linux desktop featuring a traditional layout, built from modern technology and introducing brand new innovative features.
GNU General Public License v2.0
4.58k stars 746 forks source link

Segfault in libcjs.so - Cinnamon crash #6755

Closed mcarans closed 7 years ago

mcarans commented 7 years ago
 * Cinnamon version (cinnamon --version) - 3.4.4
 * Distribution - Mint 18.2
 * Graphics hardware *and* driver used
 * 32 or 64 bit

Output of "inxi -F && dmesg | grep -i error"
System:    Host: Holly Kernel: 4.10.0-28-generic x86_64 (64 bit)
           Desktop: Cinnamon 3.4.4  Distro: Linux Mint 18.2 Sonya
Machine:   System: ASUSTeK (portable) product: UX303UA v: 1.0
           Mobo: ASUSTeK model: UX303UA v: 1.0
           Bios: American Megatrends v: UX303UA.300 date: 07/01/2016
CPU:       Dual core Intel Core i7-6500U (-HT-MCP-) cache: 4096 KB 
           clock speeds: max: 3100 MHz 1: 499 MHz 2: 530 MHz 3: 499 MHz
           4: 499 MHz
Graphics:  Card: Intel Sky Lake Integrated Graphics
           Display Server: X.Org 1.18.4 driver: intel
           Resolution: 2560x1440@59.95hz
           GLX Renderer: Mesa DRI Intel HD Graphics 520 (Skylake GT2)
           GLX Version: 3.0 Mesa 17.0.7
Audio:     Card Intel Sunrise Point-LP HD Audio driver: snd_hda_intel
           Sound: Advanced Linux Sound Architecture v: k4.10.0-28-generic
Network:   Card: Intel Wireless 7265 driver: iwlwifi
           IF: wlp1s0 state: up mac: 48:45:20:2f:35:0a
Drives:    HDD Total Size: 384.4GB (16.7% used)
           ID-1: /dev/sda model: HFS256G32MND size: 256.1GB
           ID-2: USB /dev/sdb model: Flash_Drive_FIT size: 128.3GB
Partition: ID-1: / size: 101G used: 30G (31%) fs: ext4 dev: /dev/sda3
           ID-2: swap-1 size: 16.43GB used: 0.00GB (0%) fs: swap dev: /dev/sda4
RAID:      No RAID devices: /proc/mdstat, md_mod kernel module present
Sensors:   System Temperatures: cpu: 48.5C mobo: N/A
           Fan Speeds (in rpm): cpu: 2200
Info:      Processes: 258 Uptime: 5:04 Memory: 4116.8/11445.7MB
           Client: Shell (bash) inxi: 2.2.35 
[    0.209414] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
[    3.374626] EXT4-fs (sda3): re-mounted. Opts: errors=remount-ro
[    3.526870] tpm_crb: probe of MSFT0101:00 failed with error -16
[    3.608553] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-7265D-26.ucode failed with error -2
[    3.608955] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-7265D-25.ucode failed with error -2
[    3.609399] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-7265D-24.ucode failed with error -2
[    3.609412] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-7265D-23.ucode failed with error -2
[ 4947.459104] cinnamon[2868]: segfault at 7f2611ffffe8 ip 00007f2667dda305 sp 00007fffb416b9d0 error 4 in libcjs.so.0.0.0[7f2667db1000+c1000]
[14207.718343] cinnamon[11298]: segfault at 7ff1f87fffe8 ip 00007ff25307f305 sp 00007ffca485d0a0 error 4 in libcjs.so.0.0.0[7ff253056000+c1000]

Issue segfault in libcjs.so

Steps to reproduce Hard to reproduce consistently but more likely to happen when switching windows

Expected behaviour No crash

Other information

SethosII commented 7 years ago

I also experience this issue lately.

Here are the occurences (based on /var/log/kern.log):

Jul 31 15:21:19 LEX-072 kernel: [10725.273384] cinnamon[1823]: segfault at 7fc4b29fffe8 ip 00007fc4f3354305 sp 00007fff7b4dd540 error 4 in libcjs.so.0.0.0[7fc4f332b000+c1000]
Aug  1 08:24:58 LEX-072 kernel: [ 5347.226812] cinnamon[1743]: segfault at 7f24eddfffe8 ip 00007f25558a5305 sp 00007ffcd62c72d0 error 4 in libcjs.so.0.0.0[7f255587c000+c1000]
Aug  1 09:15:11 LEX-072 kernel: [ 8360.702879] cinnamon[4119]: segfault at 7f8fab1fffe8 ip 00007f90077c9305 sp 00007ffd6ba952f0 error 4 in libcjs.so.0.0.0[7f90077a0000+c1000]
Aug  2 12:20:56 LEX-072 kernel: [15538.051488] cinnamon[1692]: segfault at 7fc666dfffe8 ip 00007fc6c2ca8305 sp 00007ffe03979730 error 4 in libcjs.so.0.0.0[7fc6c2c7f000+c1000]

Here is my output of inxi -F && dmesg | grep -i error:

System:    Host: LEX-072 Kernel: 4.10.0-28-generic x86_64 (64 bit) Desktop: Cinnamon 3.4.4
           Distro: Linux Mint 18.2 Sonya
Machine:   System: VMware product: VMware Virtual Platform
           Mobo: Intel model: 440BX Desktop Reference Platform Bios: Phoenix v: 6.00 date: 07/02/2015
CPU:       Quad core Intel Core i5-5200U (-MCP-) cache: 3072 KB 
           clock speeds: max: 2194 MHz 1: 2194 MHz 2: 2194 MHz 3: 2194 MHz 4: 2194 MHz
Graphics:  Card: VMware SVGA II Adapter
           Display Server: X.Org 1.18.4 drivers: vmware (unloaded: fbdev,vesa) Resolution: 2556x1249@60.00hz
           GLX Renderer: Gallium 0.4 on SVGA3D; build GLX Version: 3.0 Mesa 17.0.7
Audio:     Card Ensoniq ES1371 / Creative Labs CT2518/ES1373 driver: snd_ens1371
           Sound: Advanced Linux Sound Architecture v: k4.10.0-28-generic
Network:   Card: Intel 82545EM Gigabit Ethernet Controller (Copper) driver: e1000
           IF: ens33 state: up speed: 1000 Mbps duplex: full mac: 00:0c:29:e8:f4:57
Drives:    HDD Total Size: 21.5GB (62.2% used) ID-1: /dev/sda model: VMware_Virtual_S size: 21.5GB
Partition: ID-1: / size: 20G used: 13G (68%) fs: ext4 dev: /dev/sda1
RAID:      No RAID devices: /proc/mdstat, md_mod kernel module present
Sensors:   System Temperatures: cpu: 100.0C mobo: N/A
           Fan Speeds (in rpm): cpu: N/A
Info:      Processes: 272 Uptime: 5:27 Memory: 1723.3/3931.1MB Client: Shell (bash) inxi: 2.2.35 
[    8.917191] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro,user_xattr,acl
[15538.051488] cinnamon[1692]: segfault at 7fc666dfffe8 ip 00007fc6c2ca8305 sp 00007ffe03979730 error 4 in libcjs.so.0.0.0[7fc6c2c7f000+c1000]

I also can't give a way to reproduce this error, seems very random to me.

The applets I use are IcingTaskManager and Weather.

mcarans commented 7 years ago

I am also using Icing Task Manager, but even when I disabled it for a while, I still got the crash, so don't think it is related to that applet.

mcarans commented 7 years ago

Author of Icing Task Manager confirmed it is not in Icing causing the crash and referred to this upstream issue: GJS crash in needsPostBarrier, possible access from wrong thread

leigh123linux commented 7 years ago

https://github.com/linuxmint/cjs/pull/49

leigh123linux commented 7 years ago

@mcarans without a full backtrace (complete with cjs debug symbols) this issue is unlikely to be traced and fixed.

mcarans commented 7 years ago

How do I produce a backtrace?

leigh123linux commented 7 years ago

Try https://github.com/linuxmint/Cinnamon/wiki/How-to-use-GDB-to-gather-debug-information-on-a-program

leigh123linux commented 7 years ago

@mtwebster Can you guide them on how to produce a useful backtrace as this process is automatic in fedora :-)

mcarans commented 7 years ago

The link above talks about using another computer to ssh. Is there any simple way to get a backtrace that doesn't involve using another computer?

Also this crash did not occur with Mint 18.1 and earlier, so can I downgrade CJS to see if that helps or will that cause other problems?

itzexor commented 7 years ago

You can use this script[0] to dump a backtrace when cinnamon crashes without needing a second computer. Run it as ./cin-debug cinnamon and it will prompt you for password because root privs are required to attach the debugger to a running process. After cinnamon crashes there will be a log in your home directory with the backtrace.

[0] https://raw.githubusercontent.com/linuxmint/Cinnamon/master/utils/cin-debug

Note: the libcjs-dbg package was only recently added to cjs for dpkg-based distros, so I'm not sure that debug symbols are currently available in Mint. You may need to build cjs manually to get them. Without debug symbols the produced backtrace will be unusable.

mcarans commented 7 years ago

I am not sure if this gives what you need:

Thread 1 "cinnamon" received signal SIGSEGV, Segmentation fault.

Thread 12 (Thread 0x7f67c169f700 (LWP 9116)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f67c8d436c0 in PR_WaitCondVar () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#2  0x00007f67cec25eb1 in ?? () from /usr/lib/x86_64-linux-gnu/libjs.so.0
#3  0x00007f67c8d490a8 in ?? () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#4  0x00007f67d70d46ba in start_thread (arg=0x7f67c169f700) at pthread_create.c:333
#5  0x00007f67d6e0a3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 11 (Thread 0x7f67c1720700 (LWP 9115)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f67c8d436c0 in PR_WaitCondVar () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#2  0x00007f67cec25eb1 in ?? () from /usr/lib/x86_64-linux-gnu/libjs.so.0
#3  0x00007f67c8d490a8 in ?? () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#4  0x00007f67d70d46ba in start_thread (arg=0x7f67c1720700) at pthread_create.c:333
#5  0x00007f67d6e0a3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 10 (Thread 0x7f67c17a1700 (LWP 9114)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f67c8d436c0 in PR_WaitCondVar () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#2  0x00007f67cec25eb1 in ?? () from /usr/lib/x86_64-linux-gnu/libjs.so.0
#3  0x00007f67c8d490a8 in ?? () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#4  0x00007f67d70d46ba in start_thread (arg=0x7f67c17a1700) at pthread_create.c:333
#5  0x00007f67d6e0a3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 9 (Thread 0x7f67c1822700 (LWP 9113)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f67c8d436c0 in PR_WaitCondVar () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#2  0x00007f67cec25eb1 in ?? () from /usr/lib/x86_64-linux-gnu/libjs.so.0
#3  0x00007f67c8d490a8 in ?? () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#4  0x00007f67d70d46ba in start_thread (arg=0x7f67c1822700) at pthread_create.c:333
#5  0x00007f67d6e0a3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 8 (Thread 0x7f67c18a3700 (LWP 9112)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f67c8d436c0 in PR_WaitCondVar () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#2  0x00007f67cec25eb1 in ?? () from /usr/lib/x86_64-linux-gnu/libjs.so.0
#3  0x00007f67c8d490a8 in ?? () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#4  0x00007f67d70d46ba in start_thread (arg=0x7f67c18a3700) at pthread_create.c:333
#5  0x00007f67d6e0a3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7f67c1924700 (LWP 9111)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f67c8d436c0 in PR_WaitCondVar () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#2  0x00007f67cec25eb1 in ?? () from /usr/lib/x86_64-linux-gnu/libjs.so.0
#3  0x00007f67c8d490a8 in ?? () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#4  0x00007f67d70d46ba in start_thread (arg=0x7f67c1924700) at pthread_create.c:333
#5  0x00007f67d6e0a3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7f67c19a5700 (LWP 9110)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f67c8d436c0 in PR_WaitCondVar () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#2  0x00007f67cec25eb1 in ?? () from /usr/lib/x86_64-linux-gnu/libjs.so.0
#3  0x00007f67c8d490a8 in ?? () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#4  0x00007f67d70d46ba in start_thread (arg=0x7f67c19a5700) at pthread_create.c:333
#5  0x00007f67d6e0a3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7f67c1a26700 (LWP 9109)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f67c8d436c0 in PR_WaitCondVar () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#2  0x00007f67cec25eb1 in ?? () from /usr/lib/x86_64-linux-gnu/libjs.so.0
#3  0x00007f67c8d490a8 in ?? () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#4  0x00007f67d70d46ba in start_thread (arg=0x7f67c1a26700) at pthread_create.c:333
#5  0x00007f67d6e0a3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f67c2227700 (LWP 9108)):
#0  0x00007f67d6dfe70d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f67d733438c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f67d733449c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f67c222f28d in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007f67d735abb5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f67d70d46ba in start_thread (arg=0x7f67c2227700) at pthread_create.c:333
#6  0x00007f67d6e0a3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f67c3ff9700 (LWP 9107)):
#0  0x00007f67d6dfe70d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f67d733438c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f67d7334712 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f67d79329d6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007f67d735abb5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f67d70d46ba in start_thread (arg=0x7f67c3ff9700) at pthread_create.c:333
#6  0x00007f67d6e0a3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f67c47fa700 (LWP 9106)):
#0  0x00007f67d6dfe70d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f67d733438c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f67d733449c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f67d73344d9 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f67d735abb5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f67d70d46ba in start_thread (arg=0x7f67c47fa700) at pthread_create.c:333
#6  0x00007f67d6e0a3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f67d8d2eac0 (LWP 9105)):
#0  js::GCMethods<JSObject*>::needsPostBarrier (v=0x7f6784e42780) at /usr/include/mozjs-38/js/RootingAPI.h:663
#1  JS::Heap<JSObject*>::set (newPtr=0x0, this=0x56001d3a7848) at /usr/include/mozjs-38/js/RootingAPI.h:296
#2  JS::Heap<JSObject*>::operator= (p=<optimised out>, this=0x56001d3a7848) at /usr/include/mozjs-38/js/RootingAPI.h:266
#3  GjsMaybeOwned<JSObject*>::reset (this=0x56001d3a7838) at ./cjs/jsapi-util-root.h:267
#4  closure_clear_idle (data=0x56001d3a7810) at gi/closure.cpp:131
#5  0x00007f67d733404a in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f67d73343f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007f67d7334712 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007f67d8718988 in meta_run () from /usr/lib/x86_64-linux-gnu/libmuffin.so.0
#9  0x000056001ca31992 in ?? ()
#10 0x00007f67d6d23830 in __libc_start_main (main=0x56001ca31540, argc=2, argv=0x7fffd8dfef78, init=<optimised out>, fini=<optimised out>, rtld_fini=<optimised out>, stack_end=0x7fffd8dfef68) at ../csu/libc-start.c:291
#11 0x000056001ca31a89 in ?? ()
leigh123linux commented 7 years ago

@mcarans

This commit should fix the issue

https://github.com/linuxmint/cjs/commit/57c3b9e9b7a509e83eec03cf502d0a2e9ef5be41

#0  js::GCMethods<JSObject*>::needsPostBarrier (v=0x7f6784e42780) at /usr/include/mozjs-38/js/RootingAPI.h:663
#1  JS::Heap<JSObject*>::set (newPtr=0x0, this=0x56001d3a7848) at /usr/include/mozjs-38/js/RootingAPI.h:296
#2  JS::Heap<JSObject*>::operator= (p=<optimised out>, this=0x56001d3a7848) at /usr/include/mozjs-38/js/RootingAPI.h:266
#3  GjsMaybeOwned<JSObject*>::reset (this=0x56001d3a7838) at ./cjs/jsapi-util-root.h:267

@clem could you tag cjs please?

mcarans commented 7 years ago

Does 3.4-maintenance branch have that fix (as that branch as of 6 days ago is what I have installed currently)?

tetious commented 7 years ago

I'm seeing this crash too, with cjs/libcjs 3.4.4 which should have the mentioned fix. So I don't think it is fixed.

cinnamon[2181]: segfault at 7fba62dfffe8 ip 00007fbac7c22555 sp 00007ffd826ba140 error 4 in libcjs.so.0.0.0[7fbac7bf9000+c2000]

mtwebster commented 7 years ago

@tetious can you provide the output of the following (just a couple of sanity checks):

cd /
find . -name "libcjs*" 2>/dev/null

and (assuming you're on mint or debian-based - I want to make sure only the correct versions are there)

dpkg --list | grep cjs

Thanks

tetious commented 7 years ago

Here you go!

./var/lib/dpkg/info/libcjs0f.shlibs
./var/lib/dpkg/info/libcjs0f.triggers
./var/lib/dpkg/info/libcjs0f.md5sums
./var/lib/dpkg/info/libcjs0f.list
./var/cache/apt/archives/libcjs0f_3.4.4+sonya_amd64.deb
./var/cache/apt/archives/libcjs0f_3.4.3+sonya_amd64.deb
./usr/share/doc/libcjs0f
./usr/lib/libcjs.so.0.0.0
./usr/lib/libcjs.so.0
ii  cjs                                         3.4.4+sonya                                  amd64        Mozilla-based javascript bindings for the Cinnamon platform
ii  libcjs0f                                    3.4.4+sonya                                  amd64        Mozilla-based javascript bindings for the Cinnamon platform
mcarans commented 7 years ago

I had the libcjs crash again this morning running 3.4.4+sonya. I will try to capture the stacktrace with the script @itzexor provided the next time it happens.

mcarans commented 7 years ago

Here is the stacktrace:

Thread 1 "cinnamon" received signal SIGSEGV, Segmentation fault.

Thread 12 (Thread 0x7f47935fa700 (LWP 11401)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f479ece76c0 in PR_WaitCondVar () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#2  0x00007f47a4bc9eb1 in ?? () from /usr/lib/x86_64-linux-gnu/libjs.so.0
#3  0x00007f479eced0a8 in ?? () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#4  0x00007f47ad0786ba in start_thread (arg=0x7f47935fa700) at pthread_create.c:333
#5  0x00007f47acdae3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 11 (Thread 0x7f479367b700 (LWP 11400)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f479ece76c0 in PR_WaitCondVar () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#2  0x00007f47a4bc9eb1 in ?? () from /usr/lib/x86_64-linux-gnu/libjs.so.0
#3  0x00007f479eced0a8 in ?? () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#4  0x00007f47ad0786ba in start_thread (arg=0x7f479367b700) at pthread_create.c:333
#5  0x00007f47acdae3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 10 (Thread 0x7f47936fc700 (LWP 11399)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f479ece76c0 in PR_WaitCondVar () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#2  0x00007f47a4bc9eb1 in ?? () from /usr/lib/x86_64-linux-gnu/libjs.so.0
#3  0x00007f479eced0a8 in ?? () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#4  0x00007f47ad0786ba in start_thread (arg=0x7f47936fc700) at pthread_create.c:333
#5  0x00007f47acdae3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 9 (Thread 0x7f479377d700 (LWP 11398)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f479ece76c0 in PR_WaitCondVar () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#2  0x00007f47a4bc9eb1 in ?? () from /usr/lib/x86_64-linux-gnu/libjs.so.0
#3  0x00007f479eced0a8 in ?? () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#4  0x00007f47ad0786ba in start_thread (arg=0x7f479377d700) at pthread_create.c:333
#5  0x00007f47acdae3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 8 (Thread 0x7f47937fe700 (LWP 11397)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f479ece76c0 in PR_WaitCondVar () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#2  0x00007f47a4bc9eb1 in ?? () from /usr/lib/x86_64-linux-gnu/libjs.so.0
#3  0x00007f479eced0a8 in ?? () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#4  0x00007f47ad0786ba in start_thread (arg=0x7f47937fe700) at pthread_create.c:333
#5  0x00007f47acdae3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7f47980c9700 (LWP 11396)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f479ece76c0 in PR_WaitCondVar () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#2  0x00007f47a4bc9eb1 in ?? () from /usr/lib/x86_64-linux-gnu/libjs.so.0
#3  0x00007f479eced0a8 in ?? () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#4  0x00007f47ad0786ba in start_thread (arg=0x7f47980c9700) at pthread_create.c:333
#5  0x00007f47acdae3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7f479814a700 (LWP 11395)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f479ece76c0 in PR_WaitCondVar () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#2  0x00007f47a4bc9eb1 in ?? () from /usr/lib/x86_64-linux-gnu/libjs.so.0
#3  0x00007f479eced0a8 in ?? () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#4  0x00007f47ad0786ba in start_thread (arg=0x7f479814a700) at pthread_create.c:333
#5  0x00007f47acdae3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7f47981cb700 (LWP 11394)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f479ece76c0 in PR_WaitCondVar () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#2  0x00007f47a4bc9eb1 in ?? () from /usr/lib/x86_64-linux-gnu/libjs.so.0
#3  0x00007f479eced0a8 in ?? () from /usr/lib/x86_64-linux-gnu/libnspr4.so
#4  0x00007f47ad0786ba in start_thread (arg=0x7f47981cb700) at pthread_create.c:333
#5  0x00007f47acdae3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f4793fff700 (LWP 11393)):
#0  0x00007f47acda270d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f47ad2d838c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f47ad2d849c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f47981d328d in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007f47ad2febb5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f47ad0786ba in start_thread (arg=0x7f4793fff700) at pthread_create.c:333
#6  0x00007f47acdae3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f4799f9d700 (LWP 11392)):
#0  0x00007f47acda270d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f47ad2d838c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f47ad2d8712 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f47ad8d69d6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007f47ad2febb5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f47ad0786ba in start_thread (arg=0x7f4799f9d700) at pthread_create.c:333
#6  0x00007f47acdae3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f479a79e700 (LWP 11391)):
#0  0x00007f47acda270d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f47ad2d838c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f47ad2d849c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f47ad2d84d9 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f47ad2febb5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f47ad0786ba in start_thread (arg=0x7f479a79e700) at pthread_create.c:333
#6  0x00007f47acdae3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f47aecd2ac0 (LWP 11390)):
#0  js::GCMethods<JSObject*>::needsPostBarrier (v=0x7f474bf2aec0) at /usr/include/mozjs-38/js/RootingAPI.h:663
#1  JS::Heap<JSObject*>::set (newPtr=0x0, this=0x55d9c7e2f7a8) at /usr/include/mozjs-38/js/RootingAPI.h:296
#2  JS::Heap<JSObject*>::operator= (p=<optimised out>, this=0x55d9c7e2f7a8) at /usr/include/mozjs-38/js/RootingAPI.h:266
#3  GjsMaybeOwned<JSObject*>::reset (this=0x55d9c7e2f798) at ./cjs/jsapi-util-root.h:267
#4  closure_clear_idle (data=0x55d9c7e2f770) at gi/closure.cpp:131
#5  0x00007f47ad2d804a in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f47ad2d83f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007f47ad2d8712 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007f47ae6bca28 in meta_run () from /usr/lib/x86_64-linux-gnu/libmuffin.so.0
#9  0x000055d9c4ff8992 in ?? ()
#10 0x00007f47accc7830 in __libc_start_main (main=0x55d9c4ff8540, argc=3, argv=0x7ffcf8deffc8, init=<optimised out>, fini=<optimised out>, rtld_fini=<optimised out>, stack_end=0x7ffcf8deffb8) at ../csu/libc-start.c:291
#11 0x000055d9c4ff8a89 in ?? ()

I guess the ?? means there aren't debug symbols - if you need them, please tell me the steps to compile a debug version of what you need.

leigh123linux commented 7 years ago

@mcarans The backtrace is complete enough.

@mtwebster Is it possible to provide some cjs deb packages including the fix from https://bugzilla.gnome.org/show_bug.cgi?id=785657#c7 for testing.

naith commented 7 years ago

I have this same trouble. Cinnamon crashes with SIGSEGV today in twice. Mint 18.2.

ii  cjs                                          3.4.4+sonya                                  amd64        Mozilla-based javascript bindings for the Cinnamon platform
ii  libcjs0f                                     3.4.4+sonya                                  amd64        Mozilla-based javascript bindings for the Cinnamon platform

Backtrace:

removed useless backtrace
mtwebster commented 7 years ago

Please try these - download all of them first, then run, from the directory they're in,

sudo dpkg -i *cjs*.deb

(make sure these are the only cjs packages in that folder also)

https://dl.dropboxusercontent.com/u/8201170/libcjs-dev_3.4.3_amd64.deb https://dl.dropboxusercontent.com/u/8201170/libcjs-dbg_3.4.3_amd64.deb https://dl.dropboxusercontent.com/u/8201170/libcjs0f_3.4.3_amd64.deb https://dl.dropboxusercontent.com/u/8201170/cjs_3.4.3_amd64.deb

If anyone needs them I'll do some 32-bit ones also.

mtwebster commented 7 years ago

Anyone who hasn't yet, please report what graphics hardware and driver you're on

SethosII commented 7 years ago

For me it is VMware:

> lshw -c video
  *-display               
       description: VGA compatible controller
       product: SVGA II Adapter
       vendor: VMware
       physical id: f
       bus info: pci@0000:00:0f.0
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: vga_controller bus_master cap_list rom
       configuration: driver=vmwgfx latency=64
       resources: irq:16 ioport:1070(size=16) memory:e8000000-efffffff memory:fe000000-fe7fffff memory:c0000-dffff
> modinfo vmwgfx
filename:       /lib/modules/4.11.0-13-generic/kernel/drivers/gpu/drm/vmwgfx/vmwgfx.ko
version:        2.12.0.0
license:        GPL and additional rights
description:    Standalone drm driver for the VMware SVGA device
author:         VMware Inc. and others
srcversion:     8BD244F277F2196E072E3C6
alias:          pci:v000015ADd00000405sv*sd*bc*sc*i*
depends:        ttm,drm,drm_kms_helper
intree:         Y
vermagic:       4.11.0-13-generic SMP mod_unload 
parm:           enable_fbdev:Enable vmwgfx fbdev (int)
parm:           force_dma_api:Force using the DMA API for TTM pages (int)
parm:           restrict_iommu:Try to limit IOMMU usage for TTM pages (int)
parm:           force_coherent:Force coherent TTM pages (int)
parm:           restrict_dma_mask:Restrict DMA mask to 44 bits with IOMMU (int)
parm:           assume_16bpp:Assume 16-bpp when filtering modes (int)
naith commented 7 years ago

Dell E6500 notebook

~ $ sudo lshw -class video
  *-display:0             
       description: VGA compatible controller
       product: Mobile 4 Series Chipset Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 07
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:30 memory:f6c00000-f6ffffff memory:e0000000-efffffff ioport:ef98(size=8) memory:c0000-dffff
  *-display:1 UNCLAIMED
       description: Display controller
       product: Mobile 4 Series Chipset Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2.1
       bus info: pci@0000:00:02.1
       version: 07
       width: 64 bits
       clock: 33MHz
       capabilities: pm bus_master cap_list
       configuration: latency=0
       resources: memory:f6b00000-f6bfffff

~ $ modinfo i915
filename:       /lib/modules/4.10.0-32-generic/kernel/drivers/gpu/drm/i915/i915.ko
license:        GPL and additional rights
description:    Intel Graphics
author:         Intel Corporation
author:         Tungsten Graphics, Inc.
firmware:       i915/bxt_dmc_ver1_07.bin
firmware:       i915/skl_dmc_ver1_26.bin
firmware:       i915/kbl_dmc_ver1_01.bin
firmware:       i915/skl_guc_ver6_1.bin
srcversion:     F0E9CF22A8DCA43307F94E0
alias:          pci:v00008086d0000593Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00005927sv*sd*bc03sc*i*
alias:          pci:v00008086d00005926sv*sd*bc03sc*i*
alias:          pci:v00008086d00005923sv*sd*bc03sc*i*
alias:          pci:v00008086d0000591Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000591Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000591Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00005912sv*sd*bc03sc*i*
alias:          pci:v00008086d0000591Esv*sd*bc03sc*i*
alias:          pci:v00008086d00005921sv*sd*bc03sc*i*
alias:          pci:v00008086d00005916sv*sd*bc03sc*i*
alias:          pci:v00008086d0000590Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000590Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00005908sv*sd*bc03sc*i*
alias:          pci:v00008086d00005902sv*sd*bc03sc*i*
alias:          pci:v00008086d0000590Esv*sd*bc03sc*i*
alias:          pci:v00008086d00005906sv*sd*bc03sc*i*
alias:          pci:v00008086d00005917sv*sd*bc03sc*i*
alias:          pci:v00008086d00005915sv*sd*bc03sc*i*
alias:          pci:v00008086d00005913sv*sd*bc03sc*i*
alias:          pci:v00008086d00005A85sv*sd*bc03sc*i*
alias:          pci:v00008086d00005A84sv*sd*bc03sc*i*
alias:          pci:v00008086d00001A85sv*sd*bc03sc*i*
alias:          pci:v00008086d00001A84sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A84sv*sd*bc03sc*i*
alias:          pci:v00008086d0000193Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000193Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000193Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001932sv*sd*bc03sc*i*
alias:          pci:v00008086d0000192Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000192Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001927sv*sd*bc03sc*i*
alias:          pci:v00008086d00001926sv*sd*bc03sc*i*
alias:          pci:v00008086d00001923sv*sd*bc03sc*i*
alias:          pci:v00008086d0000191Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000191Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000191Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001912sv*sd*bc03sc*i*
alias:          pci:v00008086d0000191Esv*sd*bc03sc*i*
alias:          pci:v00008086d00001921sv*sd*bc03sc*i*
alias:          pci:v00008086d00001916sv*sd*bc03sc*i*
alias:          pci:v00008086d0000190Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000190Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001902sv*sd*bc03sc*i*
alias:          pci:v00008086d0000190Esv*sd*bc03sc*i*
alias:          pci:v00008086d00001906sv*sd*bc03sc*i*
alias:          pci:v00008086d000022B3sv*sd*bc03sc*i*
alias:          pci:v00008086d000022B2sv*sd*bc03sc*i*
alias:          pci:v00008086d000022B1sv*sd*bc03sc*i*
alias:          pci:v00008086d000022B0sv*sd*bc03sc*i*
alias:          pci:v00008086d0000163Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000163Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000163Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000163Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001636sv*sd*bc03sc*i*
alias:          pci:v00008086d00001632sv*sd*bc03sc*i*
alias:          pci:v00008086d0000162Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000162Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000162Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000162Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001626sv*sd*bc03sc*i*
alias:          pci:v00008086d00001622sv*sd*bc03sc*i*
alias:          pci:v00008086d0000161Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000161Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000160Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000160Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000161Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000161Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001616sv*sd*bc03sc*i*
alias:          pci:v00008086d00001612sv*sd*bc03sc*i*
alias:          pci:v00008086d0000160Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000160Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001606sv*sd*bc03sc*i*
alias:          pci:v00008086d00001602sv*sd*bc03sc*i*
alias:          pci:v00008086d00000155sv*sd*bc03sc*i*
alias:          pci:v00008086d00000157sv*sd*bc03sc*i*
alias:          pci:v00008086d00000F33sv*sd*bc03sc*i*
alias:          pci:v00008086d00000F32sv*sd*bc03sc*i*
alias:          pci:v00008086d00000F31sv*sd*bc03sc*i*
alias:          pci:v00008086d00000F30sv*sd*bc03sc*i*
alias:          pci:v00008086d00000D26sv*sd*bc03sc*i*
alias:          pci:v00008086d00000D16sv*sd*bc03sc*i*
alias:          pci:v00008086d00000D06sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A2Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000A1Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000A0Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000A26sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A16sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A06sv*sd*bc03sc*i*
alias:          pci:v00008086d00000C26sv*sd*bc03sc*i*
alias:          pci:v00008086d00000C16sv*sd*bc03sc*i*
alias:          pci:v00008086d00000C06sv*sd*bc03sc*i*
alias:          pci:v00008086d00000426sv*sd*bc03sc*i*
alias:          pci:v00008086d00000416sv*sd*bc03sc*i*
alias:          pci:v00008086d00000406sv*sd*bc03sc*i*
alias:          pci:v00008086d00000D2Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000D1Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000D0Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000D2Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000D1Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000D0Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000D2Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000D1Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000D0Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000D22sv*sd*bc03sc*i*
alias:          pci:v00008086d00000D12sv*sd*bc03sc*i*
alias:          pci:v00008086d00000D02sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A2Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000A1Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000A0Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000A2Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000A1Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000A0Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000A22sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A12sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A02sv*sd*bc03sc*i*
alias:          pci:v00008086d00000C2Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000C1Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000C0Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000C2Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000C1Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000C0Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000C2Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000C1Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000C0Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000C22sv*sd*bc03sc*i*
alias:          pci:v00008086d00000C12sv*sd*bc03sc*i*
alias:          pci:v00008086d00000C02sv*sd*bc03sc*i*
alias:          pci:v00008086d0000042Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000041Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000040Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000042Bsv*sd*bc03sc*i*
alias:          pci:v00008086d0000041Bsv*sd*bc03sc*i*
alias:          pci:v00008086d0000040Bsv*sd*bc03sc*i*
alias:          pci:v00008086d0000042Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000041Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000040Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000422sv*sd*bc03sc*i*
alias:          pci:v00008086d00000412sv*sd*bc03sc*i*
alias:          pci:v00008086d00000402sv*sd*bc03sc*i*
alias:          pci:v00008086d0000016Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000015Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000162sv*sd*bc03sc*i*
alias:          pci:v00008086d00000152sv*sd*bc03sc*i*
alias:          pci:v00008086d00000166sv*sd*bc03sc*i*
alias:          pci:v00008086d00000156sv*sd*bc03sc*i*
alias:          pci:v00008086d0000016Asv0000152Dsd00008990bc03sc*i*
alias:          pci:v00008086d00000126sv*sd*bc03sc*i*
alias:          pci:v00008086d00000116sv*sd*bc03sc*i*
alias:          pci:v00008086d00000106sv*sd*bc03sc*i*
alias:          pci:v00008086d0000010Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000122sv*sd*bc03sc*i*
alias:          pci:v00008086d00000112sv*sd*bc03sc*i*
alias:          pci:v00008086d00000102sv*sd*bc03sc*i*
alias:          pci:v00008086d00000046sv*sd*bc03sc*i*
alias:          pci:v00008086d00000042sv*sd*bc03sc*i*
alias:          pci:v00008086d0000A011sv*sd*bc03sc*i*
alias:          pci:v00008086d0000A001sv*sd*bc03sc*i*
alias:          pci:v00008086d00002E92sv*sd*bc03sc*i*
alias:          pci:v00008086d00002E42sv*sd*bc03sc*i*
alias:          pci:v00008086d00002E32sv*sd*bc03sc*i*
alias:          pci:v00008086d00002E22sv*sd*bc03sc*i*
alias:          pci:v00008086d00002E12sv*sd*bc03sc*i*
alias:          pci:v00008086d00002E02sv*sd*bc03sc*i*
alias:          pci:v00008086d00002A42sv*sd*bc03sc*i*
alias:          pci:v00008086d00002A12sv*sd*bc03sc*i*
alias:          pci:v00008086d00002A02sv*sd*bc03sc*i*
alias:          pci:v00008086d000029D2sv*sd*bc03sc*i*
alias:          pci:v00008086d000029C2sv*sd*bc03sc*i*
alias:          pci:v00008086d000029B2sv*sd*bc03sc*i*
alias:          pci:v00008086d000029A2sv*sd*bc03sc*i*
alias:          pci:v00008086d00002992sv*sd*bc03sc*i*
alias:          pci:v00008086d00002982sv*sd*bc03sc*i*
alias:          pci:v00008086d00002972sv*sd*bc03sc*i*
alias:          pci:v00008086d000027AEsv*sd*bc03sc*i*
alias:          pci:v00008086d000027A2sv*sd*bc03sc*i*
alias:          pci:v00008086d00002772sv*sd*bc03sc*i*
alias:          pci:v00008086d00002592sv*sd*bc03sc*i*
alias:          pci:v00008086d0000258Asv*sd*bc03sc*i*
alias:          pci:v00008086d00002582sv*sd*bc03sc*i*
alias:          pci:v00008086d00002572sv*sd*bc03sc*i*
alias:          pci:v00008086d0000358Esv*sd*bc03sc*i*
alias:          pci:v00008086d00003582sv*sd*bc03sc*i*
alias:          pci:v00008086d00002562sv*sd*bc03sc*i*
alias:          pci:v00008086d00003577sv*sd*bc03sc*i*
depends:        drm_kms_helper,drm,video,i2c-algo-bit
intree:         Y
vermagic:       4.10.0-32-generic SMP mod_unload 
parm:           modeset:Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (int)
parm:           panel_ignore_lid:Override lid status (0=autodetect, 1=autodetect disabled [default], -1=force lid closed, -2=force lid open) (int)
parm:           semaphores:Use semaphores for inter-ring sync (default: -1 (use per-chip defaults)) (int)
parm:           enable_rc6:Enable power-saving render C-state 6. Different stages can be selected via bitmask values (0 = disable; 1 = enable rc6; 2 = enable deep rc6; 4 = enable deepest rc6). For example, 3 would enable rc6 and deep rc6, and 7 would enable everything. default: -1 (use per-chip default) (int)
parm:           enable_dc:Enable power-saving display C-states. (-1=auto [default]; 0=disable; 1=up to DC5; 2=up to DC6) (int)
parm:           enable_fbc:Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int)
parm:           lvds_channel_mode:Specify LVDS channel mode (0=probe BIOS [default], 1=single-channel, 2=dual-channel) (int)
parm:           lvds_use_ssc:Use Spread Spectrum Clock with panels [LVDS/eDP] (default: auto from VBT) (int)
parm:           vbt_sdvo_panel_type:Override/Ignore selection of SDVO panel mode in the VBT (-2=ignore, -1=auto [default], index in VBT BIOS table) (int)
parm:           reset:Attempt GPU resets (default: true) (bool)
parm:           error_capture:Record the GPU state following a hang. This information in /sys/class/drm/card<N>/error is vital for triaging and debugging hangs. (bool)
parm:           enable_hangcheck:Periodically check GPU activity for detecting hangs. WARNING: Disabling this can cause system wide hangs. (default: true) (bool)
parm:           enable_ppgtt:Override PPGTT usage. (-1=auto [default], 0=disabled, 1=aliasing, 2=full, 3=full with extended address space) (int)
parm:           enable_execlists:Override execlists usage. (-1=auto [default], 0=disabled, 1=enabled) (int)
parm:           enable_psr:Enable PSR (0=disabled, 1=enabled - link mode chosen per-platform, 2=force link-standby mode, 3=force link-off mode) Default: -1 (use per-chip default) (int)
parm:           alpha_support:Enable alpha quality driver support for latest hardware. See also CONFIG_DRM_I915_ALPHA_SUPPORT. (int)
parm:           disable_power_well:Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (int)
parm:           enable_ips:Enable IPS (default: true) (int)
parm:           fastboot:Try to skip unnecessary mode sets at boot time (default: false) (bool)
parm:           prefault_disable:Disable page prefaulting for pread/pwrite/reloc (default:false). For developers only. (bool)
parm:           load_detect_test:Force-enable the VGA load detect code for testing (default:false). For developers only. (bool)
parm:           force_reset_modeset_test:Force a modeset during gpu reset for testing (default:false). For developers only. (bool)
parm:           invert_brightness:Invert backlight brightness (-1 force normal, 0 machine defaults, 1 force inversion), please report PCI device ID, subsystem vendor and subsystem device ID to dri-devel@lists.freedesktop.org, if your machine needs it. It will then be included in an upcoming module version. (int)
parm:           disable_display:Disable display (default: false) (bool)
parm:           enable_cmd_parser:Enable command parsing (1=enabled [default], 0=disabled) (int)
parm:           use_mmio_flip:use MMIO flips (-1=never, 0=driver discretion [default], 1=always) (int)
parm:           mmio_debug:Enable the MMIO debug code for the first N failures (default: off). This may negatively affect performance. (int)
parm:           verbose_state_checks:Enable verbose logs (ie. WARN_ON()) in case of unexpected hw state conditions. (bool)
parm:           nuclear_pageflip:Force atomic modeset functionality; asynchronous mode is not yet supported. (default: false). (bool)
parm:           edp_vswing:Ignore/Override vswing pre-emph table selection from VBT (0=use value from vbt [default], 1=low power swing(200mV),2=default swing(400mV)) (int)
parm:           enable_guc_loading:Enable GuC firmware loading (-1=auto, 0=never [default], 1=if available, 2=required) (int)
parm:           enable_guc_submission:Enable GuC submission (-1=auto, 0=never [default], 1=if available, 2=required) (int)
parm:           guc_log_level:GuC firmware logging level (-1:disabled (default), 0-3:enabled) (int)
parm:           enable_dp_mst:Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true) (bool)
parm:           inject_load_failure:Force an error after a number of failure check points (0:disabled (default), N:force failure at the Nth failure check point) (uint)
parm:           enable_dpcd_backlight:Enable support for DPCD backlight control (default:false) (bool)
parm:           enable_gvt:Enable support for Intel GVT-g graphics virtualization host support(default:false) (bool)
tetious commented 7 years ago

nvidia GTX 950 with the binary/proprietary drivers (375.66-0ubuntu0.16.04.1)

  *-display               
       description: VGA compatible controller
       product: GM206 [GeForce GTX 950]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:130 memory:de000000-deffffff memory:c0000000-cfffffff memory:d0000000-d1ffffff ioport:e000(size=128) memory:c0000-dffff
mcarans commented 7 years ago

Unfortunately I still get the crashes with these packages:

https://dl.dropboxusercontent.com/u/8201170/libcjs-dev_3.4.3_amd64.deb https://dl.dropboxusercontent.com/u/8201170/libcjs-dbg_3.4.3_amd64.deb https://dl.dropboxusercontent.com/u/8201170/libcjs0f_3.4.3_amd64.deb https://dl.dropboxusercontent.com/u/8201170/cjs_3.4.3_amd64.deb

I have started cin_debug and will give you a trace next time it happens.

mtwebster commented 7 years ago

Can you tell us what applets, desklets and extensions you’re running? Try disabling and making a note of any 3rd party ones (ones you may have downloaded, that weren’t pre-installed), particularly system monitor or hardware monitor types.

tetious commented 7 years ago

For me, the crashes were happening at least once a session until I disabled Icing Task Manager. After disabling it, there has not been a crash since.

mcarans commented 7 years ago

Interesting, I have only one: Icing Task Manager. With previous versions of libcjs, I had tried disabling Icing but still got the crashes. I can try again. @jaszhix making you aware of this development.

buggyRogers commented 7 years ago

I'm using the applet 'Network Data Usage Monitor'. I downgraded to cjs Version 3.4.2 on a Manjaro Cinnamon Desktop Version 3.4.4 with Nvidia driver and have no crashes since yesterday morning. I can try to update to cjs 3.4.3 again and disable Network Monitor.

jaszhix commented 7 years ago

Sorry, I don't see how I can help improve the situation, I don't see any information in the logs pasted here relating to ITM. If you come across a JS error, that would be a starting point for improvement, but otherwise it still seems like a bug on the interpreter side. Also, pull requests are welcome.

mcarans commented 7 years ago

@buggyRogers How did you install cjs 3.4.2?

buggyRogers commented 7 years ago

@mcarans I run Manjaro and had it in the package cache. I installed it with: sudo pacman -U /var/cache/pacman/pkg/cjs-3.4.2-1-x86_64.pkg.tar.xz

If you don't have it, you can get it from the archive: https://archive.archlinux.org/packages/c/cjs/ Trying now 3.4.3 without Network Monitor applet.

mcarans commented 7 years ago

@buggyRogers thanks. Unfortunately that won't work for me - I am on Linux Mint.

SethosII commented 7 years ago

@mcarans see here: https://askubuntu.com/questions/138284/how-to-downgrade-a-package-via-apt-get#138327

mcarans commented 7 years ago

I tried apt-cache showpkg cjs but unfortunately there is only 2.8.0-1 available before 3.4.3.

I have built 3.4.2 from source from release here: https://github.com/linuxmint/cjs/releases and will see if it crashes. It replaced all the cjs packages except: libcjs-dbg which is still the patched 3.4.3 (https://dl.dropboxusercontent.com/u/8201170/libcjs-dbg_3.4.3_amd64.deb).

mcarans commented 7 years ago

3.4.2 crashes for me. Now trying 3.4.4+sonya without icing or any other 3rd party things.

naith commented 7 years ago

I download and install files from : https://dl.dropboxusercontent.com/u/8201170/libcjs-dev_3.4.3_amd64.deb https://dl.dropboxusercontent.com/u/8201170/libcjs-dbg_3.4.3_amd64.deb https://dl.dropboxusercontent.com/u/8201170/libcjs0f_3.4.3_amd64.deb https://dl.dropboxusercontent.com/u/8201170/cjs_3.4.3_amd64.deb

Past two days Cinnamon no crash.

$ dpkg --list | grep cjs
ii  cjs                                          3.4.3                                        amd64        Mozilla-based javascript bindings for the Cinnamon platform
ii  libcjs-dbg                                   3.4.3                                        amd64        Mozilla-based javascript bindings for the Cinnamon platform
ii  libcjs-dev                                   3.4.3                                        amd64        Mozilla-based javascript bindings for the Cinnamon platform
ii  libcjs0f                                     3.4.3                                        amd64        Mozilla-based javascript bindings for the Cinnamon platform

Update 08.20.2017: Additional applets in my Mint 18.2 CPU Frekvency Applet CPU Temperature Indicator System Monitor (Fork By Odyseus)

mcarans commented 7 years ago

3.4.4+sonya with no icing has not crashed for me since I last posted. Perhaps it is not a bug in icing itself but a bug that icing reveals in libcjs by calling something that is not called by the base Cinnamon installation.

leigh123linux commented 7 years ago

@jaszhix running check-js against IcingTaskManager@json/3.2 returns

[leigh@localhost 3.2]$ ./check-js 
Checking for duplicate 'let' declarations - mozjs38 crashes if one is encountered within the same scope...
... no problems found

Checking for missing comma separators between prototype methods - cinnamon crashes if one is missed...
Missing comma after prototype method - './applet.js' at line 128
jaszhix commented 7 years ago

Line 128 contains:

_addFavorite: function (opts={appId: null, app: null, pos: -1}) {

Default parameters are valid in mozjs38 (and this particular way should be in mozjs24). Does the check-js script account for those?

leigh123linux commented 7 years ago

@jaszhix We would need to ask @mtwebster

https://github.com/linuxmint/Cinnamon/commits/master/utils/check-js

alarofrunetotem commented 7 years ago

[asus-gg] 05:16:30 {master} ~/workspaces/wowaddons/OrderHallCommander$ inxi -F && dmesg | grep -i error System: Host: asus-gg Kernel: 4.10.0-32-generic x86_64 (64 bit) Desktop: Cinnamon 3.4.6 Distro: Linux Mint 18.2 Sonya Machine: System: ASUSTeK (portable) product: G750JH v: 1.0 Mobo: ASUSTeK model: G750JH v: 1.0 Bios: American Megatrends v: G750JH.206 date: 12/02/2013 CPU: Quad core Intel Core i7-4700HQ (-HT-MCP-) cache: 6144 KB clock speeds: max: 3400 MHz 1: 3113 MHz 2: 3139 MHz 3: 3199 MHz 4: 3214 MHz 5: 3199 MHz 6: 3199 MHz 7: 3199 MHz 8: 3038 MHz Graphics: Card: NVIDIA GK104M [GeForce GTX 780M] Display Server: X.Org 1.18.4 drivers: nvidia (unloaded: fbdev,vesa,nouveau) Resolution: 1920x1080@60.04hz, 1920x1080@60.00hz GLX Renderer: GeForce GTX 780M/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 375.66 Audio: Card-1 Intel 8 Series/C220 Series High Definition Audio Controller driver: snd_hda_intel Card-2 NVIDIA GK104 HDMI Audio Controller driver: snd_hda_intel Sound: Advanced Linux Sound Architecture v: k4.10.0-32-generic Network: Card-1: Qualcomm Atheros AR9462 Wireless Network Adapter driver: ath9k IF: wlp3s0 state: down mac: 34:23:87:5a:52:d0 Card-2: Qualcomm Atheros QCA8171 Gigabit Ethernet driver: alx IF: enp4s0 state: up speed: 1000 Mbps duplex: full mac: bc:ee:7b:2e:98:d0 Drives: HDD Total Size: 878.2GB (46.2% used) ID-1: /dev/sda model: SanDisk_SDSSDP12 size: 128.0GB ID-2: /dev/sdb model: WDC_WD7500BPKX size: 750.2GB Partition: ID-1: / size: 101G used: 11G (11%) fs: ext4 dev: /dev/dm-0 ID-2: /boot size: 473M used: 269M (60%) fs: ext2 dev: /dev/sda2 ID-3: /var size: 50G used: 2.2G (5%) fs: ext4 dev: /dev/dm-6 ID-4: /home size: 493G used: 345G (74%) fs: ext4 dev: /dev/dm-5 ID-5: swap-1 size: 17.13GB used: 0.00GB (0%) fs: swap dev: /dev/dm-1 RAID: No RAID devices: /proc/mdstat, md_mod kernel module present Sensors: System Temperatures: cpu: 74.0C mobo: N/A gpu: 73C Fan Speeds (in rpm): cpu: 3300 Info: Processes: 380 Uptime: 4:39 Memory: 7437.9/15995.1MB Client: Shell (bash) inxi: 2.2.35 [ 3.308795] usb 3-5: string descriptor 0 read error: -22 [ 11.000302] EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro [15833.586020] cinnamon[2491]: segfault at 7faecc6fffe8 ip 00007faf38fd6555 sp 00007ffe8c1e8300 error 4 in libcjs.so.0.0.0[7faf38fad000+c2000]

buggyRogers commented 7 years ago

After disabling the panel applet 'Network Data Usage Monitor (netusagemonitor@pdcurtis)' it stops crashing. But I'm not 100% sure, maybe I was just lucky. :) I ran the check-js-script and the result was:

Checking for duplicate 'let' declarations - mozjs38 crashes if one is encountered within the same scope...
... no problems found

Checking for missing comma separators between prototype methods - cinnamon crashes if one is missed...
Missing comma after prototype method - './applet.js' at line 970
Missing comma after prototype method - './applet.js' at line 1143

The code in the mentioned line 970 is:

    on_applet_removed_from_panel: function () {
        // Prepare to stop the update timer
        this.applet_running = false;
        this.settings.finalize();
    }
};  <-- 970

If I insert a comma after the curly brace in line 970 the check is successful in this line. But now i can not add it to the panel.

glass.log shows:

error t=2017-08-21T19:24:58.351Z expected expression, got ';'
trace t=2017-08-21T19:24:58.354Z 
<----------------
Extension.prototype._init@/usr/share/cinnamon/js/ui/extension.js:155:13
Extension@/usr/share/cinnamon/js/ui/extension.js:116:5
loadExtension@/usr/share/cinnamon/js/ui/extension.js:449:25
onEnabledAppletsChanged@/usr/share/cinnamon/js/ui/appletManager.js:236:13
---------------->
error t=2017-08-21T19:24:58.354Z [Applet "netusagemonitor@pdcurtis"]: Error importing applet.js from netusagemonitor@pdcurtis
error t=2017-08-21T19:24:58.354Z Could not load applet netusagemonitor@pdcurtis

So it looks like the syntax is not correct. In line 1143 is the end of a comment section, last method over comment section is the main method.

Maybe it helps you ...

mcarans commented 7 years ago

The error "Missing comma after prototype method" outputted by check-js seems to be common to both the code of Icing and Network Data Usage Monitor - is this the cause of the crashes?

jaszhix commented 7 years ago

No, Network Data Usage Monitor doesn't use default parameters. The check-js script was made to help migrate the Cinnamon JS to mozjs38, but it doesn't account for all the possible syntax that's now available in ES2015 on mozjs38 and shouldn't really be used as a metric here.

I have been investigating very hard to reproduce orphan St. Label warnings that have been mostly addressed but still crop up occasionally. One day I saw a handful, and the last couple days I haven't seen any. That's the only issue in ITM I've noticed that could possibly cause an issue with the C bindings.

@mcarans I also remember you use the text labels for buttons - I would be interested to see if the crashes still occur when you disable those in the ITM config.

mcarans commented 7 years ago

Ok @jaszhix I will try: Title Display "None" today

mcarans commented 7 years ago

@jaszhix Unfortunately I have already had a crash with Title Display: None

jaszhix commented 7 years ago

Ah okay, thanks for testing.

If you see any St.Label orphan errors in .xsession-errors, please let me know.

mtwebster commented 7 years ago

Try these please - as before, download them first, then install them with dpkg -i *cjs*.deb:

https://dl.dropboxusercontent.com/u/8201170/cjs/cjs_3.4.3_amd64.deb https://dl.dropboxusercontent.com/u/8201170/cjs/libcjs0f_3.4.3_amd64.deb https://dl.dropboxusercontent.com/u/8201170/cjs/libcjs-dbg_3.4.3_amd64.deb https://dl.dropboxusercontent.com/u/8201170/cjs/libcjs-dev_3.4.3_amd64.deb

Thanks