Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Measure Tool Crashing #67

Closed
psavery opened this issue May 14, 2016 · 11 comments
Closed

Measure Tool Crashing #67

psavery opened this issue May 14, 2016 · 11 comments
Labels

Comments

@psavery
Copy link
Collaborator

psavery commented May 14, 2016

From my compilation of the branch "master" on Ubuntu 14.04 with gcc 4.8.4, the program crashes when I use the "measure tool" to select three atoms. It works fine for selecting two atoms, but it crashes upon clicking the third atom. The crash just says "Segmentation fault (core dumped)"

@chiroptical
Copy link
Contributor

You might be able to get more information by running it through GDB and backtrace the segmentation fault. We can talk on Monday about this, as well as GSoC, etc.

@ghutchis ghutchis added the crash label May 14, 2016
@psavery
Copy link
Collaborator Author

psavery commented May 19, 2016

Barry and I looked at this a little more. Unfortunately, we haven't been able to solve it yet. We thought it may be fixed if I used the most updated qt library (5.6 instead of 5.2 -- the version in the Ubuntu repositories). I tried that, though, and it didn't fix it.

From adding in debug messages, I can see that the crash is occurring here: https://github.com/OpenChemistry/avogadrolibs/blob/master/avogadro/qtopengl/glwidget.cpp#L108

updateGL() is a function that comes from http://doc.qt.io/qt-5/qglwidget.html, which glwidget inherits.

Here is the backtrace from gdb (it appears the crash is in Thread 1):

Program received signal SIGSEGV, Segmentation fault.
_int_malloc (av=av@entry=0x7ffff3ac7760 <main_arena>, bytes=bytes@entry=80)
at malloc.c:3740
3740 malloc.c: No such file or directory.
(gdb) thread apply all backtrace

Thread 8 (Thread 0x7fffc69c0700 (LWP 5776)):
#0 pthread_cond_timedwait@@GLIBC_2.3.2 ()
at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1 0x00007fffef682ce5 in g_cond_wait_until ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fffef6171c1 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007fffef61774b in g_async_queue_timeout_pop ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007fffef666956 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007fffef665f05 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6 0x00007fffeff63182 in start_thread (arg=0x7fffc69c0700)
at pthread_create.c:312
#7 0x00007ffff380347d in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 6 (Thread 0x7fffc79c2700 (LWP 5774)):
#0 0x00007ffff37f612d in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007fffef640fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fffef6410ec in g_main_context_iteration ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007fffef641129 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007fffef665f05 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
---Type to continue, or q to quit---
#5 0x00007fffeff63182 in start_thread (arg=0x7fffc79c2700)
at pthread_create.c:312
#6 0x00007ffff380347d in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 5 (Thread 0x7fffd7526700 (LWP 5772)):
#0 0x00007ffff37f612d in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007fffef640fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fffef6410ec in g_main_context_iteration ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ffff50674fc in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#4 0x00007ffff5015efa in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#5 0x00007ffff4e5138c in QThread::exec() ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6 0x00007fffe3eb4cd5 in ?? ()
from /home/patrick/Qt/5.6/gcc_64/plugins/platforms/../../lib/libQt5DBus.so.5
#7 0x00007ffff4e55c89 in ?? ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#8 0x00007fffeff63182 in start_thread (arg=0x7fffd7526700)
at pthread_create.c:312
#9 0x00007ffff380347d in clone ()
---Type to continue, or q to quit---
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7fffd7f41700 (LWP 5771)):
#0 0x00007ffff37f612d in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007fffef640fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fffef64130a in g_main_loop_run ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007fffe0304336 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4 0x00007fffef665f05 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007fffeff63182 in start_thread (arg=0x7fffd7f41700)
at pthread_create.c:312
#6 0x00007ffff380347d in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7fffd8742700 (LWP 5770)):
#0 0x00007ffff37f612d in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007fffef640fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fffef6410ec in g_main_context_iteration ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007fffd874a1ad in ?? ()
from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4 0x00007fffef665f05 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007fffeff63182 in start_thread (arg=0x7fffd8742700)
---Type to continue, or q to quit---
at pthread_create.c:312
#6 0x00007ffff380347d in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7fffe2645700 (LWP 5769)):
#0 0x00007ffff37f612d in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007fffe9e45b72 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2 0x00007fffe9e4764f in xcb_wait_for_event ()
from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3 0x00007fffe376adc9 in ?? ()
from /home/patrick/Qt/5.6/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#4 0x00007ffff4e55c89 in ?? ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#5 0x00007fffeff63182 in start_thread (arg=0x7fffe2645700)
at pthread_create.c:312
#6 0x00007ffff380347d in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7ffff7faf800 (LWP 5763)):
#0 int_malloc (av=av@entry=0x7ffff3ac7760 <main_arena>, bytes=bytes@entry=80)
at malloc.c:3740
#1 0x00007ffff378c2cc in libc_calloc (n=,
---Type to continue, or q to quit---
elem_size=) at malloc.c:3219
#2 0x00007fffc5db3ae2 in ?? ()
from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#3 0x00007fffc5d64652 in ?? ()
from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#4 0x00007fffc5db3702 in ?? ()
from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#5 0x00007fffc5d7c1b0 in ?? ()
from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#6 0x00007fffc5c645aa in ?? ()
from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#7 0x00007ffff3281718 in Avogadro::Rendering::Shader::compile (this=0x3483220)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/shader.cpp:60
#8 0x00007ffff328e821 in Avogadro::Rendering::TextLabelBase::RenderImpl::compileShaders (this=0x34831d0)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/textlabelbase.cpp:238
#9 0x00007ffff328db04 in Avogadro::Rendering::TextLabelBase::RenderImpl::render (this=0x34831d0, cam=...)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/textlabelbase.cpp:183
#10 0x00007ffff328ee7f in Avogadro::Rendering::TextLabelBase::render (
---Type to continue, or q to quit---
this=0x34fb080, camera=...)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/textlabelbase.cpp:290
#11 0x00007ffff327305d in Avogadro::Rendering::GLRenderVisitor::visit (
this=0x7fffffffcc90, geometry=...)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/glrendervisitor.cpp:77
#12 0x00007ffff328c056 in Avogadro::Rendering::TextLabel2D::accept (
this=0x34fb080, visitor=...)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/textlabel2d.cpp:35
#13 0x00007ffff326992e in Avogadro::Rendering::GeometryNode::accept (
this=0x31ab540, visitor=...)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/geometrynode.cpp:41
#14 0x00007ffff326f3e5 in Avogadro::Rendering::GroupNode::accept (
this=0x2fa46f0, visitor=...)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/groupnode.cpp:40
#15 0x00007ffff326f3e5 in Avogadro::Rendering::GroupNode::accept (
this=0xac65a0, visitor=...)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/groupnode.cpp:40
---Type to continue, or q to quit---
#16 0x00007ffff326f3e5 in Avogadro::Rendering::GroupNode::accept (
this=0x9614d0, visitor=...)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/groupnode.cpp:40
#17 0x00007ffff3270a81 in Avogadro::Rendering::GLRenderer::render (
this=0x961380)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/glrenderer.cpp:109
#18 0x00007ffff7bd1544 in Avogadro::QtOpenGL::GLWidget::paintGL (this=0x961320)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/qtopengl/glwidget.cpp:247
#19 0x00007ffff6547dc4 in QGLWidget::glDraw() ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5OpenGL.so.5
#20 0x00007ffff7bd09af in Avogadro::QtOpenGL::GLWidget::updateScene (
this=0x961320)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/qtopengl/glwidget.cpp:108
#21 0x00007ffff7bd4c09 in Avogadro::QtOpenGL::GLWidget::qt_static_metacall (
o=0x961320, c=QMetaObject::InvokeMetaMethod, id=1, a=0x7fffffffcf20)
at /home/patrick/src/openchemistry-qt5-6/build/avogadrolibs/avogadro/qtopengl/moc_glwidget.cpp:120
#22 0x00007ffff5040cef in QMetaObject::activate(QObject
, int, int, void
) ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Core.so.5
---Type to continue, or q to quit---
#23 0x00007ffff6e3b7dd in Avogadro::QtGui::ToolPlugin::drawablesChanged (
this=0x89a2c0)
at /home/patrick/src/openchemistry-qt5-6/build/avogadrolibs/avogadro/qtgui/moc_toolplugin.cpp:171
#24 0x00007ffff78ae391 in Avogadro::QtPlugins::MeasureTool::mouseReleaseEvent (
this=0x89a2c0, e=0x7fffffffd470)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/qtplugins/measuretool/measuretool.cpp:106
#25 0x00007ffff7bd1809 in Avogadro::QtOpenGL::GLWidget::mouseReleaseEvent (
this=0x961320, e=0x7fffffffd470)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/qtopengl/glwidget.cpp:298
#26 0x00007ffff5e4d308 in QWidget::event(QEvent) ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#27 0x00007ffff5e0b04c in QApplicationPrivate::notify_helper(QObject, QEvent)
() from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#28 0x00007ffff5e0ff0e in QApplication::notify(QObject, QEvent_) ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#29 0x00007ffff5017e80 in QCoreApplication::notifyInternal2(QObject_, QEvent_)
() from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#30 0x00007ffff5e0ea33 in QApplicationPrivate::sendMouseEvent(QWidget_, QMouseEvent_, QWidget_, QWidget_, QWidget*, QPointer&, bool) ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
---Type to continue, or q to quit---
#31 0x00007ffff5e685da in ?? ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#32 0x00007ffff5e6a6db in ?? ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#33 0x00007ffff5e0b04c in QApplicationPrivate::notify_helper(QObject
, QEvent_)
() from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#34 0x00007ffff5e0f488 in QApplication::notify(QObject_, QEvent_) ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#35 0x00007ffff5017e80 in QCoreApplication::notifyInternal2(QObject_, QEvent_)
() from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#36 0x00007ffff55b797b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent_) ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#37 0x00007ffff55b9485 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#38 0x00007ffff559a6a3 in QWindowSystemInterface::sendWindowSystemEvents(QFlagsQEventLoop::ProcessEventsFlag) ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#39 0x00007fffe37c5720 in ?? ()
from /home/patrick/Qt/5.6/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#40 0x00007fffef640e04 in g_main_context_dispatch ()
---Type to continue, or q to quit---
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#41 0x00007fffef641048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#42 0x00007fffef6410ec in g_main_context_iteration ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#43 0x00007ffff50674e7 in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#44 0x00007ffff5015efa in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#45 0x00007ffff501dd9d in QCoreApplication::exec() ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#46 0x00000000004289d3 in main (argc=1, argv=0x7fffffffde38)
at /home/patrick/src/openchemistry-qt5-6/avogadroapp/avogadro/avogadro.cpp:104

@cryos
Copy link
Member

cryos commented May 19, 2016

I haven't seen this in my testing, I will see if I can reproduce it with a clean build. I would be concerned about the nouveau drivers though, we have seen a number of issues with them.

@psavery
Copy link
Collaborator Author

psavery commented May 19, 2016

Yeah, I do have a nouveau driver on that desktop.

My graphics card info is here: VGA compatible controller: NVIDIA Corporation GK107 [GeForce GT 740](rev a1)

Output from "sudo lshw -c video":
*-display
description: VGA compatible controller
product: GK107 [GeForce GT 740]
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=nouveau latency=0
resources: irq:86 memory:fd000000-fdffffff memory:c0000000-cfffffff memory:d0000000-d1ffffff ioport:e000(size=128) memory:fe000000-fe07ffff

"modinfo nouveau" output:
filename: /lib/modules/3.13.0-24-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko
license: GPL and additional rights
description: nVidia Riva/TNT/GeForce/Quadro/Tesla
author: Nouveau Project
srcversion: 0A7CDF1A195E7FA1E6ADE73
alias: pci:v000012D2d_sv_sd_bc03sc_i*
alias: pci:v000010DEd_sv_sd_bc03sc_i*
depends: drm,drm_kms_helper,ttm,mxm-wmi,wmi,video,i2c-algo-bit
intree: Y
vermagic: 3.13.0-24-generic SMP mod_unload modversions
signer: Magrathea: Glacier signing key
sig_key: 69:B0:D0:A7:9B:85:D9:06:21:70:6E:8D:06:60:4D:73:0B:35:9F:C0
sig_hashalgo: sha512
parm: tv_norm:Default TV norm.
Supported: PAL, PAL-M, PAL-N, PAL-Nc, NTSC-M, NTSC-J,
hd480i, hd480p, hd576i, hd576p, hd720p, hd1080i.
Default: PAL
NOTE Ignored for cards with external TV encoders. (charp)
parm: tv_disable:Disable TV-out detection (int)
parm: ignorelid:Ignore ACPI lid status (int)
parm: duallink:Allow dual-link TMDS (default: enabled) (int)
parm: nofbaccel:Disable fbcon acceleration (int)
parm: agpmode:AGP mode (0 to disable AGP) (int)
parm: vram_pushbuf:Create DMA push buffers in VRAM (int)
parm: config:option string to pass to driver core (charp)
parm: debug:debug string to pass to driver core (charp)
parm: noaccel:disable kernel/abi16 acceleration (int)
parm: modeset:enable driver (default: auto, 0 = disabled, 1 = enabled, 2 = headless) (int)
parm: runpm:disable (0), force enable (1), optimus only default (-1) (int)

@chiroptical
Copy link
Contributor

Pat,

While I agree with that statement in general, the nouveau drivers are
poorly developed now (and never worked right). I would try the vendor
drivers.

BM
On May 19, 2016 12:15 AM, "Patrick Avery" [email protected] wrote:

Yeah, I do have a nouveau driver on that desktop.

My graphics card info is here: VGA compatible controller: NVIDIA
Corporation GK107 GeForce GT 740 http://rev%20a1

Output from "sudo lshw -c video":
*-display

description: VGA compatible controller
product: GK107 [GeForce GT 740]
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=nouveau latency=0
resources: irq:86 memory:fd000000-fdffffff memory:c0000000-cfffffff
memory:d0000000-d1ffffff ioport:e000(size=128) memory:fe000000-fe07ffff

"modinfo nouveau" output:
filename:
/lib/modules/3.13.0-24-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko
license: GPL and additional rights
description: nVidia Riva/TNT/GeForce/Quadro/Tesla
author: Nouveau Project
srcversion: 0A7CDF1A195E7FA1E6ADE73
alias: pci:v000012D2d_sv_sd_bc03sc_i*
alias: pci:v000010DEd_sv_sd_bc03sc_i*
depends: drm,drm_kms_helper,ttm,mxm-wmi,wmi,video,i2c-algo-bit
intree: Y
vermagic: 3.13.0-24-generic SMP mod_unload modversions
signer: Magrathea: Glacier signing key
sig_key: 69:B0:D0:A7:9B:85:D9:06:21:70:6E:8D:06:60:4D:73:0B:35:9F:C0
sig_hashalgo: sha512
parm: tv_norm:Default TV norm.
Supported: PAL, PAL-M, PAL-N, PAL-Nc, NTSC-M, NTSC-J,
hd480i, hd480p, hd576i, hd576p, hd720p, hd1080i.
Default: PAL
NOTE Ignored for cards with external TV encoders. (charp)
parm: tv_disable:Disable TV-out detection (int)
parm: ignorelid:Ignore ACPI lid status (int)
parm: duallink:Allow dual-link TMDS (default: enabled) (int)
parm: nofbaccel:Disable fbcon acceleration (int)
parm: agpmode:AGP mode (0 to disable AGP) (int)
parm: vram_pushbuf:Create DMA push buffers in VRAM (int)
parm: config:option string to pass to driver core (charp)
parm: debug:debug string to pass to driver core (charp)
parm: noaccel:disable kernel/abi16 acceleration (int)
parm: modeset:enable driver (default: auto, 0 = disabled, 1 = enabled, 2 =
headless) (int)
parm: runpm:disable (0), force enable (1), optimus only default (-1) (int)


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#67 (comment)

@psavery
Copy link
Collaborator Author

psavery commented May 19, 2016

Unfortunately, I tried a couple of nvidia drivers, and it still crashed in the same way. Here's one of the crash threads:

Thread 1 (Thread 0x7ffff7fb1800 (LWP 26941)):
#0 int_malloc (av=0x7ffff3ac6760 <main_arena>, bytes=47256) at malloc.c:3775
#1 0x00007ffff378a7b0 in GI___libc_malloc (bytes=47256) at malloc.c:2891
#2 0x00007ffff2281c39 in ?? () from /usr/lib/nvidia-352-updates/libGL.so.1
#3 0x00007fffe9934086 in ?? ()
from /usr/lib/nvidia-352-updates/libnvidia-glcore.so.352.63
#4 0x00007fffe9a0ad03 in ?? ()
from /usr/lib/nvidia-352-updates/libnvidia-glcore.so.352.63
#5 0x00007fffe9a23dab in ?? ()
from /usr/lib/nvidia-352-updates/libnvidia-glcore.so.352.63
#6 0x00007fffe9a2614d in ?? ()
from /usr/lib/nvidia-352-updates/libnvidia-glcore.so.352.63
#7 0x00007fffe99f4d53 in ?? ()
from /usr/lib/nvidia-352-updates/libnvidia-glcore.so.352.63
#8 0x00007ffff3280f3e in Avogadro::Rendering::ShaderProgram::link (
this=0x15bb040)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/shaderprogram.cpp:207
#9 0x00007ffff328d995 in Avogadro::Rendering::TextLabelBase::RenderImpl::compil---Type to continue, or q to quit---
eShaders (this=0x15bafa0)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/textlabelbase.cpp:252
#10 0x00007ffff328cb04 in Avogadro::Rendering::TextLabelBase::RenderImpl::render (this=0x15bafa0, cam=...)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/textlabelbase.cpp:183
#11 0x00007ffff328de7f in Avogadro::Rendering::TextLabelBase::render (
this=0x16163b0, camera=...)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/textlabelbase.cpp:290
#12 0x00007ffff327205d in Avogadro::Rendering::GLRenderVisitor::visit (
this=0x7fffffffcc60, geometry=...)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/glrendervisitor.cpp:77
#13 0x00007ffff328b056 in Avogadro::Rendering::TextLabel2D::accept (
this=0x16163b0, visitor=...)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/textlabel2d.cpp:35
#14 0x00007ffff326892e in Avogadro::Rendering::GeometryNode::accept (
this=0x15ce190, visitor=...)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/geometrynode.cpp:41
---Type to continue, or q to quit---
#15 0x00007ffff326e3e5 in Avogadro::Rendering::GroupNode::accept (
this=0x1614a80, visitor=...)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/groupnode.cpp:40
#16 0x00007ffff326e3e5 in Avogadro::Rendering::GroupNode::accept (
this=0x8e56f0, visitor=...)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/groupnode.cpp:40
#17 0x00007ffff326e3e5 in Avogadro::Rendering::GroupNode::accept (
this=0x9b7320, visitor=...)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/groupnode.cpp:40
#18 0x00007ffff326fa81 in Avogadro::Rendering::GLRenderer::render (
this=0x9b71d0)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/rendering/glrenderer.cpp:109
#19 0x00007ffff7bd067a in Avogadro::QtOpenGL::GLWidget::paintGL (this=0x9b7170)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/qtopengl/glwidget.cpp:251
#20 0x00007ffff6546dc4 in QGLWidget::glDraw() ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5OpenGL.so.5
#21 0x00007ffff7bcfa60 in Avogadro::QtOpenGL::GLWidget::updateScene (
this=0x9b7170)
---Type to continue, or q to quit---
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/qtopengl/glwidget.cpp:111
#22 0x00007ffff7bd3d41 in Avogadro::QtOpenGL::GLWidget::qt_static_metacall (
o=0x9b7170, c=QMetaObject::InvokeMetaMethod, id=1, a=0x7fffffffcef0)
at /home/patrick/src/openchemistry-qt5-6/build/avogadrolibs/avogadro/qtopengl/moc_glwidget.cpp:120
#23 0x00007ffff503fcef in QMetaObject::activate(QObject
, int, int, void
) ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#24 0x00007ffff6e3a7dd in Avogadro::QtGui::ToolPlugin::drawablesChanged (
this=0xdd3830)
at /home/patrick/src/openchemistry-qt5-6/build/avogadrolibs/avogadro/qtgui/moc_toolplugin.cpp:171
#25 0x00007ffff78ad391 in Avogadro::QtPlugins::MeasureTool::mouseReleaseEvent (
this=0xdd3830, e=0x7fffffffd440)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/qtplugins/measuretool/measuretool.cpp:106
#26 0x00007ffff7bd093f in Avogadro::QtOpenGL::GLWidget::mouseReleaseEvent (
this=0x9b7170, e=0x7fffffffd440)
at /home/patrick/src/openchemistry-qt5-6/avogadrolibs/avogadro/qtopengl/glwidget.cpp:302
#27 0x00007ffff5e4c308 in QWidget::event(QEvent
) ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#28 0x00007ffff5e0a04c in QApplicationPrivate::notify_helper(QObject, QEvent)
---Type to continue, or q to quit---
() from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#29 0x00007ffff5e0ef0e in QApplication::notify(QObject, QEvent_) ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#30 0x00007ffff5016e80 in QCoreApplication::notifyInternal2(QObject_, QEvent_)
() from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#31 0x00007ffff5e0da33 in QApplicationPrivate::sendMouseEvent(QWidget_, QMouseEvent_, QWidget_, QWidget_, QWidget*, QPointer&, bool) ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#32 0x00007ffff5e675da in ?? ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#33 0x00007ffff5e696db in ?? ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#34 0x00007ffff5e0a04c in QApplicationPrivate::notify_helper(QObject
, QEvent_)
() from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#35 0x00007ffff5e0e488 in QApplication::notify(QObject_, QEvent_) ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#36 0x00007ffff5016e80 in QCoreApplication::notifyInternal2(QObject_, QEvent_)
() from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#37 0x00007ffff55b697b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent_) ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#38 0x00007ffff55b8485 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
---Type to continue, or q to quit---
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#39 0x00007ffff55996a3 in QWindowSystemInterface::sendWindowSystemEvents(QFlagsQEventLoop::ProcessEventsFlag) ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#40 0x00007fffe22d2720 in ?? ()
from /home/patrick/Qt/5.6/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#41 0x00007fffef575e04 in g_main_context_dispatch ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#42 0x00007fffef576048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#43 0x00007fffef5760ec in g_main_context_iteration ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007ffff50664e7 in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#45 0x00007ffff5014efa in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#46 0x00007ffff501cd9d in QCoreApplication::exec() ()
from /home/patrick/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#47 0x00000000004289d3 in main (argc=1, argv=0x7fffffffde08)
at /home/patrick/src/openchemistry-qt5-6/avogadroapp/avogadro/avogadro.cpp:104

@ghutchis
Copy link
Member

Out of curiosity, are these with Debug builds or not?

@cryos
Copy link
Member

cryos commented Jun 17, 2016

I tried several times to reproduce this, and was unable to. I usually use a release build, but had tried with a debug build. Crashing in shader compilation looks very suspicious. Have you seen other instances that we can reproduce on other platforms?

@psavery
Copy link
Collaborator Author

psavery commented Jun 17, 2016

This was with a debug build. I eventually upgraded to Ubuntu 16.04 on my desktop - and I make sure that I use the nvidia proprietary drivers. The issue never went away, unfortunately.

It happened for me as well on an Ubuntu 16.04 virtual machine and an Arch Linux virtual machine, but I know that virtual machine tests for this don't matter too much since they don't have direct access to the hardware (and that's probably causing an issue there)...

When we release Avogadro 2, if we are able to compile it on a different linux computer and pass around binaries that don't have this crash, then I think this wouldn't be an issue because most users will probably be using the binaries anyways.

Perhaps I can try building it on Windows sooner or later as well...

@cryos
Copy link
Member

cryos commented Jun 17, 2016

Virtual machines tend to have pretty poor OpenGL support, VMWare is among the best. I am running Arch Linux with NVIDIA binary drivers on my development machine, and Ubuntu 16.04 on my laptop with Intel embedded card.

I have tested this on Windows and the measure tool worked well there, I have moved a Windows machine into my office, and want to get it set up soon to build automatically. That is what I used to build the last Avogadro 2 Windows binaries for 0.9.0. If we can come up with a recipe to reproduce I would love to get to the bottom of it, we could still be doing something funky in GLSL that trips some compilers up for example.

@cryos
Copy link
Member

cryos commented Nov 21, 2016

I am going to close this for now, but happy to revisit this if you are still having problems. I would like to work on Linux packaging at some point to make this a little easier to diagnose, I use several Linux machines (Arch, Ubuntu 16.04) with Intel and NVIDIA GPUs that I can't reproduce this on, GL issues can be tough to track down sometimes. There could be some issues lurking in the text rendering code, I have seen some oddness on Windows but it seems to work well right now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants