I am doing development on Avogadro (molecular modeling software) and am
having a hell of a time. Avogadro uses a threaded OpenGL Widget meaning
the main thread spawns a new thread for just doing the rendering stuff,
ie pushes all the GL calls to the graphics card. However, I am pretty
sure it's not a locking problem with Avogadro, I think that it's
something that XCB is doing just from the backtrace. I did attempt to
do a 'thread apply all bt' but it doesn't return anything so however QT4
is doing threads, it IS spawning a new process but GDB doesn't detect it
so i'm not sure the deal there. However, 'strace' does detect the new
thread so I am going to paste the GDB output and i'm attaching the
strace output from both threads. I've enabled debugging in both X11,
QT4 and XCB. Using Gento, Qt-4.3.1, libxcb-1.0, libX11-1.1.3
dcurtis@baracus ~/svn/avogadro/build $ gdb avogadro/src/avogadro
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu"...
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) run
Starting program: /home/dcurtis/svn/avogadro/build/avogadro/src/avogadro
This is Avogadro, SVN revision 649M
Qt: gdb: -nograb added to command-line options.
Use the -dograb option to enforce grabbing.
("/home/dcurtis/svn/avogadro/build/avogadro/src/avogadro")
Found Engine: "Axes" - "Renders x, y and z axes"
Found Engine: "Dynamic Ball and Stick" - "Renders primitives using Balls
(atoms) and Sticks (bonds). Includes demonstration of dynamic rendering based
on distance from camera"
Found Engine: "Debug Info" - "Renders debug information"
Found Engine: "Label" - "Renders primitive labels"
Found Engine: "Ribbon" - "Renders residues as ribbons"
Found Engine: "VdW Sphere" - "Renders atoms as Van der Waals spheres"
Found Engine: "Stick" - "Renders as Cylinders"
Found Engine: "Wireframe" - "Wireframe rendering"
"autorotatetool.moc"
"bondcentrictool.moc"
"clickmeasuretool.moc"
"cmake_install.cmake"
"drawtool.moc"
"libautorotatetool.so"
Found Tool: "AutoRotate" - "Auto Rotation Tool"
"libbondcentrictool.so"
Found Tool: "BondCentric" - "Bond Centric Manipulation Tool"
"libclickmeasuretool.so"
Found Tool: "ClickMeasure" - "Click to Measure Tool"
"libdrawtool.so"
Found Tool: "Draw" - "Draws Things"
"libmanipulatetool.so"
Found Tool: "Manipulate" - "Manipulation Tool"
"libnavigatetool.so"
Found Tool: "Navigate" - "Navigation Tool"
"libselectrotatetool.so"
Found Tool: "Select/Rotate" - "Selection and Rotation Tool"
"Makefile"
"manipulatetool.moc"
"navigatetool.moc"
"periodictabledialog.moc"
"qrc_autorotatetool.cxx"
"qrc_bondcentrictool.cxx"
"qrc_clickmeasuretool.cxx"
"qrc_drawtool.cxx"
"qrc_manipulatetool.cxx"
"qrc_navigatetool.cxx"
"qrc_selectrotatetool.cxx"
"selectrotatetool.moc"
"ui_periodictabledialog.h"
SearchPath: "/home/dcurtis/svn/avogadro/build/avogadro/src/extensions"
Found Extension: "GAMESS" - "GAMESS Input Deck Generator"
Object::connect: Parentheses expected, slot
Avogadro::GamessExtension::dockWidgetDestroyed
ForceFieldDialog::ForceFieldDialog()
Found Extension: "Ghemical" - "Ghemical Plugin"
Found Extension: "H2Methyl" - "H2Methyl Plugin"
Found Extension: "Hydrogens" - "Hydrogens Plugin"
Found Extension: "SMARTS" - "SMARTS Plugin"
Found Extension: "UnitCell" - "Unit Cell Parameters Plugin"
createObjects()
QObject::connect: Cannot queue arguments of type 'QTextCursor'
(Make sure 'QTextCursor' is registered using qRegisterMetaType().)
Program received signal SIGINT, Interrupt.
0x00002b81c94db8b6 in pthread_cond_wait () from /lib64/libpthread.so.0
(gdb) bt
#0 0x00002b81c94db8b6 in pthread_cond_wait () from /lib64/libpthread.so.0
#1 0x00002b81caceb05d in ?? () from /usr/lib/libxcb.so.1
#2 0x00002b81caceb19f in xcb_flush () from /usr/lib/libxcb.so.1
#3 0x00002b81c8d58d97 in _XSend () from /usr/lib/libX11.so.6
#4 0x00002b81c8d58ea0 in _XEventsQueued () from /usr/lib/libX11.so.6
#5 0x00002b81c8d42d4e in XEventsQueued () from /usr/lib/libX11.so.6
#6 0x00002b81c738d2de in ?? () from /usr/lib64/qt4/libQtGui.so.4
#7 0x00002b81c910c968 in QEventLoop::processEvents () from
/usr/lib64/qt4/libQtCore.so.4
#8 0x00002b81c910ca7d in QEventLoop::exec () from /usr/lib64/qt4/libQtCore.so.4
#9 0x00002b81c910e8ae in QCoreApplication::exec () from
/usr/lib64/qt4/libQtCore.so.4
#10 0x000000000042e9a0 in main (argc=1, argv=0x7fffe3ef2918) at
/home/dcurtis/svn/avogadro/avogadro/src/main.cpp:88
(gdb) thread apply all bt
(gdb) fg
Continuing.
Program terminated with signal SIGKILL, Killed.
The program no longer exists.
(gdb) quit
avogadro.4605
Description: Text document
avogadro.4606
Description: Text document
_______________________________________________
Xcb mailing list
Xcb-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@xxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/xcb
|