The following seems to be a fairly isolated case, but we've posted it in case it helps any other users with similar issues
A user running OpenSUSE 12.2 with KDE 4.8.5 recently reported that after a system update, Crossover refused to launch. Trying to run Crossover via terminal:
$ /opt/cxoffice/bin/cxsetup
resulted in an immediate segfault.
It was determined that wine, itself, still worked, by launching "notepad", and also an already-installed windows app, from terminal:
$ /opt/cxoffice/bin/wine notepad
$ /opt/cxoffice/bin/wine --bottle "bottle name" --cx-app launcher.exe
So the problem was between the system and Crossover's non-wine tools, which are mostly Python. The next thing to do was to run cxsetup with gdb looking at python, which can be accomplished like so:
$ gdb python
(enter)
set args /opt/cxoffice/bin/cxsetup
(enter)
run
(enter)
bt
(enter)
The result was as follows:
Program received signal SIGSEGV, Segmentation fault.
indexOfMethodRelative<0> (normalizeStringData=false, method=
0xbfffd0f4 "performDelayedChanges()", method@entry=
0x23bfb535 <Address 0x23bfb535 out of bounds>,
baseObject=<synthetic pointer>) at kernel/qmetaobject.cpp:530
530 kernel/qmetaobject.cpp: No such file or directory.
(gdb) bt
#0 indexOfMethodRelative<0> (normalizeStringData=false, method=
0xbfffd0f4 "performDelayedChanges()", method@entry=
0x23bfb535 <Address 0x23bfb535 out of bounds>,
baseObject=<synthetic pointer>) at kernel/qmetaobject.cpp:530
#1 QMetaObject::indexOfMethod (this=0x8325d18, method=method@entry=
0xbfffd0f4 "performDelayedChanges()") at kernel/qmetaobject.cpp:585
#2 0xb5299a4d in QMetaObject::invokeMethod (obj=0xbfffd564, member=
0x896f1a8 "performDelayedChanges", type=Qt::QueuedConnection, ret=...,
val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=
..., val8=..., val9=...) at kernel/qmetaobject.cpp:1166
#3 0xb52ae3c6 in invokeMethod (val9=..., val8=..., val7=..., val6=...,
val5=..., val4=..., val3=..., val2=..., val1=..., val0=..., type=
Qt::QueuedConnection, member=<optimized out>, obj=0xbfffd564)
at ../../src/corelib/kernel/qobjectdefs.h:418
#4 QTimer::singleShot (msec=0, receiver=0xbfffd564, member=
0xb6645415 "1performDelayedChanges()") at kernel/qtimer.cpp:360
#5 0xb63f2df2 in QPopupMenu::menuContentsChanged() ()
from /usr/lib/libqt-mt.so.3
#6 0xb63f2fe2 in QPopupMenu::frameChanged() () from /usr/lib/libqt-mt.so.3
#7 0xb63a9e5f in QFrame::updateFrameWidth(bool) () from /usr/lib/libqt-mt.so.3
#8 0xb63aa101 in QFrame::setFrameStyle(int) () from /usr/lib/libqt-mt.so.3
#9 0xb63f2c32 in QPopupMenu::QPopupMenu(QWidget*, char const*) ()
from /usr/lib/libqt-mt.so.3
#10 0xb6823420 in setMenuBackground(_GtkStyle*) ()
from /usr/lib/gtk-2.0/2.10.0/engines/libqtengine.so
#11 0xb6823738 in setColors ()
from /usr/lib/gtk-2.0/2.10.0/engines/libqtengine.so
#12 0xb682fbe6 in ?? () from /usr/lib/gtk-2.0/2.10.0/engines/libqtengine.so
#13 0xb786ec4a in g_cclosure_marshal_VOID__VOIDv ()
from /usr/lib/libgobject-2.0.so.0
#14 0xb786b7b7 in ?? () from /usr/lib/libgobject-2.0.so.0
#15 0xb786d131 in ?? () from /usr/lib/libgobject-2.0.so.0
#16 0xb7886289 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#17 0xb7886ce3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#18 0xb735f217 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#19 0xb736685c in gtk_style_attach () from /usr/lib/libgtk-x11-2.0.so.0
#20 0xb74251f5 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#21 0xb786ec4a in g_cclosure_marshal_VOID__VOIDv ()
from /usr/lib/libgobject-2.0.so.0
#22 0xb786b7b7 in ?? () from /usr/lib/libgobject-2.0.so.0
#23 0xb786d131 in ?? () from /usr/lib/libgobject-2.0.so.0
#24 0xb7886289 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#25 0xb7886ce3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#26 0xb7417281 in gtk_widget_realize () from /usr/lib/libgtk-x11-2.0.so.0
#27 0xb7423295 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#28 0xb786ebff in g_cclosure_marshal_VOID__VOID ()
from /usr/lib/libgobject-2.0.so.0
#29 0xb786bcfd in ?? () from /usr/lib/libgobject-2.0.so.0
#30 0xb786ce86 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#31 0xb787e30b in ?? () from /usr/lib/libgobject-2.0.so.0
#32 0xb7886b66 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#33 0xb7886ce3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#34 0xb741847a in gtk_widget_show () from /usr/lib/libgtk-x11-2.0.so.0
#35 0xb775532f in ?? ()
from /usr/lib/python2.7/site-packages/gtk-2.0/gtk/_gtk.so
#36 0xb7eded19 in PyEval_EvalFrameEx () from /usr/lib/libpython2.7.so.1.0
#37 0xb7ee54c0 in PyEval_EvalCodeEx () from /usr/lib/libpython2.7.so.1.0
#38 0xb7ecb32f in ?? () from /usr/lib/libpython2.7.so.1.0
#39 0xb7ec6fac in PyObject_Call () from /usr/lib/libpython2.7.so.1.0
#40 0xb7ec7c90 in ?? () from /usr/lib/libpython2.7.so.1.0
#41 0xb7ec6fac in PyObject_Call () from /usr/lib/libpython2.7.so.1.0
#42 0xb7ed6a7f in ?? () from /usr/lib/libpython2.7.so.1.0
#43 0xb7ed634e in ?? () from /usr/lib/libpython2.7.so.1.0
#44 0xb7ec6fac in PyObject_Call () from /usr/lib/libpython2.7.so.1.0
#45 0xb7edfd92 in PyEval_EvalFrameEx () from /usr/lib/libpython2.7.so.1.0
#46 0xb7ee1e67 in PyEval_EvalFrameEx () from /usr/lib/libpython2.7.so.1.0
#47 0xb7ee56e1 in PyEval_EvalCodeEx () from /usr/lib/libpython2.7.so.1.0
#48 0xb7f150a3 in PyEval_EvalCode () from /usr/lib/libpython2.7.so.1.0
#49 0xb7f223dc in ?? () from /usr/lib/libpython2.7.so.1.0
#50 0xb7f2285e in PyRun_FileExFlags () from /usr/lib/libpython2.7.so.1.0
#51 0xb7f231e5 in PyRun_SimpleFileExFlags () from /usr/lib/libpython2.7.so.1.0
#52 0xb7f2351a in PyRun_AnyFileExFlags () from /usr/lib/libpython2.7.so.1.0
#53 0xb7f2ccd3 in Py_Main () from /usr/lib/libpython2.7.so.1.0
#54 0x080485e7 in main ()
(gdb) q
The problem appears to be in /usr/lib/libqt-mt.so.3 or /usr/lib/gtk-2.0/2.10.0/engines/libqtengine.so.
The user experiencing this problem ended up getting Crossover to launch successfully by removing kde3-gtk-qt-engine-0.8svn20071009-7.1.2.i586 from his system, which is what provides the "/usr/lib/gtk-2.0/2.10.0/engines/libqtengine.so" library. You can determine which package provides a given library via the "rpm -qf" command:
$ rpm -qf /usr/lib/gtk-2.0/2.10.0/engines/libqtengine.so
kde3-gtk-qt-engine-0.8svn20071009-7.1.2.i586
Note that on at least one other OpenSUSE 12.2 test system with Crossover 12, the "kde3-gtk-qt-engine-0.8svn20071009-7.1.2.i586" package is present and not causing any conflict, so, again, this appears to be an isolated case, but the above troubleshooting steps may prove a useful guide for figuring out similar problems.