Description of problem: run 'gnuplot file', with 'file' being # set terminal pngcairo transparent enhanced font "arial,10" fontscale 1.0 size 500, 350 # set output 'surface1.2.png' set grid nopolar set grid xtics nomxtics ytics nomytics noztics nomztics \ nox2tics nomx2tics noy2tics nomy2tics nocbtics nomcbtics set grid layerdefault linetype -1 linecolor rgb "gray" linewidth 0.200, linetype -1 linecolor rgb "gray" linewidth 0.200 set samples 21, 21 set isosamples 11, 11 set title "3D gnuplot demo" set xlabel "X axis" set xlabel offset character -3, -2, 0 font "" textcolor lt -1 norotate set xrange [ -10.0000 : 10.0000 ] noreverse nowriteback set ylabel "Y axis" set ylabel offset character 3, -2, 0 font "" textcolor lt -1 rotate by -270 set yrange [ -10.0000 : 10.0000 ] noreverse nowriteback set zlabel "Z axis" set zlabel offset character -5, 0, 0 font "" textcolor lt -1 norotate splot x**2+y**2, x**2-y**2 Version-Release number of selected component: gnuplot-4.6.3-5.fc20 Additional info: reporter: libreport-2.1.11 backtrace_rating: 4 cmdline: gnuplot surface1.2.gnu crash_function: _xend executable: /usr/bin/gnuplot-wx kernel: 3.12.8-300.fc20.x86_64 runlevel: N 5 type: CCpp uid: 1000 Truncated backtrace: Thread no. 1 (8 frames) #0 _xend at ../nptl/sysdeps/unix/sysv/linux/x86/elision-unlock.c:33 #1 __lll_unlock_elision at ../nptl/sysdeps/unix/sysv/linux/x86/elision-unlock.c:29 #2 wxMutexInternal::Unlock at src/unix/threadpsx.cpp:297 #3 wxMutex::Unlock at include/wx/thrimpl.cpp:60 #4 wxMutexGuiLeave at src/unix/threadpsx.cpp:1737 #5 wxt_MutexGuiLeave at ../../src/wxterminal/wxt_gui.cpp:3671 #6 wxtThread::Entry at ../../src/wxterminal/wxt_gui.cpp:222 #7 wxThreadInternal::PthreadStart at src/unix/threadpsx.cpp:766
Created attachment 857231 [details] File: backtrace
Created attachment 857232 [details] File: cgroup
Created attachment 857233 [details] File: core_backtrace
Created attachment 857234 [details] File: dso_list
Created attachment 857235 [details] File: environ
Created attachment 857236 [details] File: exploitable
Created attachment 857237 [details] File: limits
Created attachment 857238 [details] File: maps
Created attachment 857239 [details] File: open_fds
Created attachment 857240 [details] File: proc_pid_status
Created attachment 857241 [details] File: var_log_messages
backtrace: $ gdb --args gnuplot surface1.2.gnu GNU gdb (GDB) Fedora 7.6.50.20130731-19.fc20 Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word". .. Reading symbols from /usr/bin/gnuplot-wx...Reading symbols from /usr/lib/debug/usr/bin/gnuplot-wx.debug...done. done. (gdb) r Starting program: /usr/bin/gnuplot surface1.2.gnu Traceback (most recent call last): File "/usr/share/gdb/auto-load/usr/lib64/libgobject-2.0.so.0.3800.2-gdb.py", line 9, in <module> from gobject import register File "/usr/share/glib-2.0/gdb/gobject.py", line 3, in <module> import gdb.backtrace ImportError: No module named backtrace [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [New Thread 0x7fffe2e61700 (LWP 4982)] [New Thread 0x7fffe139b700 (LWP 4983)] [New Thread 0x7fffe0b9a700 (LWP 4984)] [New Thread 0x7fffd3fff700 (LWP 4985)] [New Thread 0x7fffd37fe700 (LWP 4986)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffe2e61700 (LWP 4982)] __lll_unlock_elision (lock=0x8677a0, private=0) at ../nptl/sysdeps/unix/sysv/linux/x86/elision-unlock.c:29 29 _xend(); Missing separate debuginfos, use: debuginfo-install PackageKit-gtk3-module-0.8.16-1.fc20.x86_64 SDL-1.2.15-12.fc20.x86_64 adwaita-gtk2-theme-3.10.0-1.fc20.x86_64 dbus-libs-1.6.12-8.fc20.x86_64 expat-2.1.0-7.fc20.x86_64 gvfs-1.18.3-2.fc20.x86_64 harfbuzz-0.9.24-1.fc20.x86_64 ibus-gtk2-1.5.5-1.fc20.x86_64 ibus-libs-1.5.5-1.fc20.x86_64 jbigkit-libs-2.0-9.fc20.x86_64 libICE-1.0.8-6.fc20.x86_64 libSM-1.2.1-6.fc20.x86_64 libXau-1.0.8-2.fc20.x86_64 libXcomposite-0.4.4-4.fc20.x86_64 libXcursor-1.1.14-2.fc20.x86_64 libXdamage-1.1.4-4.fc20.x86_64 libXext-1.3.2-2.fc20.x86_64 libXfixes-5.0.1-2.fc20.x86_64 libXi-1.7.2-2.fc20.x86_64 libXinerama-1.1.3-2.fc20.x86_64 libXrandr-1.4.1-2.fc20.x86_64 libXrender-0.9.8-2.fc20.x86_64 libXxf86vm-1.1.3-2.fc20.x86_64 libbluray-0.5.0-2.fc20.x86_64 libcanberra-0.30-4.fc20.x86_64 libcanberra-gtk2-0.30-4.fc20.x86_64 libdrm-2.4.50-1.fc20.x86_64 libffi-3.0.13-5.fc20.x86_64 libogg-1.3.0-6.fc20.x86_64 libselinux-2.2.1-6.fc20.x86_64 libtdb-1.2.12-2.fc20.x86_64 libtool-ltdl-2.4.2-23.fc20.x86_64 libuuid-2.24-2.fc20.x86_64 libvorbis-1.3.4-1.fc20.x86_64 libwayland-client-1.2.0-3.fc20.x86_64 libwayland-server-1.2.0-3.fc20.x86_64 libxcb-1.9.1-3.fc20.x86_64 libxml2-2.9.1-2.fc20.x86_64 mesa-libEGL-9.2.5-1.20131220.fc20.x86_64 mesa-libGL-9.2.5-1.20131220.fc20.x86_64 mesa-libgbm-9.2.5-1.20131220.fc20.x86_64 mesa-libglapi-9.2.5-1.20131220.fc20.x86_64 pcre-8.33-2.fc20.1.x86_64 pixman-0.30.0-3.fc20.x86_64 systemd-libs-208-9.fc20.x86_64 xz-libs-5.1.2-6alpha.fc20.x86_64 (gdb) bt #0 __lll_unlock_elision (lock=0x8677a0, private=0) at ../nptl/sysdeps/unix/sysv/linux/x86/elision-unlock.c:29 #1 0x00007ffff3b59119 in wxMutexInternal::Unlock (this=<optimized out>) at src/unix/threadpsx.cpp:297 #2 0x00007ffff3b5944d in wxMutex::Unlock (this=<optimized out>) at include/wx/thrimpl.cpp:60 #3 0x00007ffff3b5991c in wxMutexGuiLeave () at src/unix/threadpsx.cpp:1737 #4 0x00000000004fba59 in wxt_MutexGuiLeave () at ../../src/wxterminal/wxt_gui.cpp:3671 #5 wxtThread::Entry (this=<optimized out>) at ../../src/wxterminal/wxt_gui.cpp:222 #6 0x00007ffff3b5a4f3 in wxThreadInternal::PthreadStart (thread=0x8986d0) at src/unix/threadpsx.cpp:766 #7 0x00007ffff1334f33 in start_thread (arg=0x7fffe2e61700) at pthread_create.c:309 #8 0x00007ffff1062ead in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 (gdb)
I can not reproduce this with the same version of gnuplot, wxGtk, glibc and kernel. Works for me. Does it happen always or only occasionally? Does your system have any nonstandard peculiarities? Could you please provide the exact datafile? (a few extra whitespaces usually do not matter, but since I can not get a crash, something has to be different) Which processor do you have? Instruction XEND which caused your crash is a very recent feature.
I gave you the exact file, see comment 1 The crash went away when I uncommented the first 2 lines. I'm on a T440s with a haswell CPU, nothing special. processor : 3 vendor_id : GenuineIntel cpu family : 6 model : 69 model name : Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz stepping : 1 microcode : 0x17 cpu MHz : 3147.503 cache size : 4096 KB physical id : 0 siblings : 4 core id : 1 cpu cores : 2 apicid : 3 initial apicid : 3 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm bogomips : 5387.86 clflush size : 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management:
My cpu is Ivy bridge without rtm and without hle so glibc uses old locks and not xbegin/xend. I will try to borrow a Haswell.
Confirmed with gnuplot-4.6.4-2.fc21, wxGTK-2.8.12-11.fc21, glibc-2.18.90-23.fc21.
It also crashes on my AMD machine. I can't produce a stacktrace with gdb: (gdb) r Starting program: /usr/bin/gnuplot bug.gnuplot [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [New Thread 0x7fffee9c1700 (LWP 4856)] [New Thread 0x7fffedd85700 (LWP 4857)] [New Thread 0x7fffed584700 (LWP 4858)] [New Thread 0x7fffecd83700 (LWP 4859)] [New Thread 0x7fffdffff700 (LWP 4860)] [Thread 0x7fffee9c1700 (LWP 4856) exited] [Thread 0x7fffdffff700 (LWP 4860) exited] [Thread 0x7fffecd83700 (LWP 4859) exited] [Thread 0x7fffedd85700 (LWP 4857) exited] [Thread 0x7ffff5df0a40 (LWP 4852) exited] [Inferior 1 (process 4852) exited normally] (gdb) bt No stack. processor : 7 vendor_id : AuthenticAMD cpu family : 21 model : 2 model name : AMD FX(tm)-8350 Eight-Core Processor stepping : 0 microcode : 0x6000822 cpu MHz : 4000.000 cache size : 2048 KB physical id : 0 siblings : 8 core id : 7 cpu cores : 4 apicid : 23 initial apicid : 7 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb arat cpb hw_pstate npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold bmi1 bogomips : 7983.62 TLB size : 1536 4K pages clflush size : 64 cache_alignment : 64 address sizes : 48 bits physical, 48 bits virtual power management: ts ttp tm 100mhzsteps hwpstate cpb eff_freq_ro
Created attachment 857914 [details] strace on my AMD machine
wxwidgets documentation (http://docs.wxwidgets.org/stable/group__group__funcmacro__thread.html#ga6671c1599fd4ccf6a7c7bb90b2304709) says: void wxMutexGuiEnter Note Under GTK, no creation of top-level windows is allowed in any thread but the main one. [1] Gnuplot source (gnuplot-4.6.3/src/wxterminal/wxt_gui.cpp:222) says: /* Workaround for a deadlock when the main thread will Wait() for this one. * This issue comes from the fact that our gui main loop is not in the * main thread as wxWidgets was written for. */ wxt_MutexGuiLeave(); A clear conflict here, Gnuplot in Fedora uses wxGtk.
gnuplot-4.6.3-6.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/gnuplot-4.6.3-6.fc20
Package gnuplot-4.6.3-6.fc20: * should fix your issue, * was pushed to the Fedora 20 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing gnuplot-4.6.3-6.fc20' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2014-2031/gnuplot-4.6.3-6.fc20 then log in and leave karma (feedback).
(In reply to Fedora Update System from comment #21) > Package gnuplot-4.6.3-6.fc20: > * should fix your issue, > * was pushed to the Fedora 20 testing repository, > * should be available at your local mirror within two days. > Update it with: > # su -c 'yum update --enablerepo=updates-testing gnuplot-4.6.3-6.fc20' > as soon as you are able to. > Please go to the following url: > https://admin.fedoraproject.org/updates/FEDORA-2014-2031/gnuplot-4.6.3-6.fc20 > then log in and leave karma (feedback). with this update it doesn't crash anymore. thanks
The workaround was rather invasive - disabling all threads. Please test extensively with multiple simultaneous graphs.
gnuplot-4.6.3-6.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.