Problem 1100 - Crash in Qt UI in debug/FPE mode
Summary: Crash in Qt UI in debug/FPE mode
Status: RESOLVED FIXED
Alias: None
Product: Geant4
Classification: Unclassified
Component: visualization (show other problems)
Version: 9.3
Hardware: PC Linux
: P5 minor
Assignee: garnier
URL:
Depends on:
Blocks:
 
Reported: 2010-01-20 18:07 CET by Andrea Dotti
Modified: 2012-09-05 14:25 CEST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this problem.
Description Andrea Dotti 2010-01-20 18:07:29 CET
I would like to report an issue with Qt UI with Geant4 9.3 and Qt4 on SLC5 with gcc4.1
When G4 is compiled with Floating Point Exception on: 
export G4DEBUG=1
export G4FPE_DEBUG=1

any application crashes (i.e. exampleN07) at startup when trying to create the Qt UI widgets.

I attach at the end of this mail the stack trace.
As you can see it seems that the problem is Qt related, so I am not sure it's a real issue for G4, also please note that this crash happens ONLY when G4 is compiled with FPE support, no problems if this option is turned off.
I can only add that I have the following warnings when compiling G4 (but I do not know if this is related to the problem):

src/G4OpenGLQtViewer.cc: In member function ‘void G4OpenGLQtViewer::moveScene(float, float, float, bool)’:
src/G4OpenGLQtViewer.cc:1530: warning: passing ‘G4double’ for argument 1 to ‘void G4OpenGLQtViewer::moveX(int)’
src/G4OpenGLQtViewer.cc:1531: warning: passing ‘G4double’ for argument 1 to ‘void G4OpenGLQtViewer::moveY(int)’
src/G4OpenGLQtViewer.cc:1532: warning: passing ‘G4double’ for argument 1 to ‘void G4OpenGLQtViewer::moveZ(int)’
src/G4OpenGLQtViewer.cc: In member function ‘void G4OpenGLQtViewer::rotateQtScene(float, float)’:
src/G4OpenGLQtViewer.cc:1555: warning: passing ‘float’ for argument 1 to ‘void G4OpenGLQtViewer::rotateTheta(int)’
src/G4OpenGLQtViewer.cc:1559: warning: passing ‘float’ for argument 1 to ‘void G4OpenGLQtViewer::rotatePhi(int)’
src/G4OpenGLQtViewer.cc: In member function ‘void G4OpenGLQtViewer::rotateQtCamera(float, float)’:
src/G4OpenGLQtViewer.cc:1578: warning: passing ‘float’ for argument 1 to ‘void G4OpenGLQtViewer::rotateTheta(int)’
src/G4OpenGLQtViewer.cc:1579: warning: passing ‘float’ for argument 1 to ‘void G4OpenGLQtViewer::rotatePhi(int)’


Thank you,
Andrea



(gdb) bt
#0  0x0000003522a30265 in raise () from /lib64/libc.so.6
#1  0x0000003522a31d10 in abort () from /lib64/libc.so.6
#2  0x00002b15c4c62200 in TerminationSignalHandler (sig=8)
   at /users/adotti/geant4.9.3_fpe_debug/source/global/management/include/G4FPEDetection.hh:90
#3  <signal handler called>
#4  0x0000003cd94778e9 in ?? () from /usr/lib64/qt4/lib64/libQtGui.so.4
#5  0x0000003cd947a6bf in ?? () from /usr/lib64/qt4/lib64/libQtGui.so.4
#6  0x0000003cd947b379 in ?? () from /usr/lib64/qt4/lib64/libQtGui.so.4
#7  0x0000003cd947b905 in ?? () from /usr/lib64/qt4/lib64/libQtGui.so.4
#8  0x0000003cd94746a2 in ?? () from /usr/lib64/qt4/lib64/libQtGui.so.4
#9  0x0000003cd942c51a in QPainter::drawLines ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#10 0x0000003cd95a1090 in QCleanlooksStyle::drawPrimitive ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#11 0x0000003cd954d81f in QCommonStyle::drawControl ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#12 0x0000003cd95b1bb3 in QWindowsStyle::drawControl ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#13 0x0000003cd95a3094 in QCleanlooksStyle::drawControl ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#14 0x0000003cd954d4b3 in QCommonStyle::drawControl ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#15 0x0000003cd95b1bb3 in QWindowsStyle::drawControl ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#16 0x0000003cd95a3094 in QCleanlooksStyle::drawControl ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#17 0x0000003cd96311b9 in QPushButton::paintEvent ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#18 0x0000003cd93acf6c in QWidget::event ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#19 0x0000003cd95c3406 in QAbstractButton::event ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#20 0x0000003cd962f9e9 in QPushButton::event ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#21 0x0000003cd936a95c in QApplicationPrivate::notify_helper ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#22 0x0000003cd936c9ed in QApplication::notify ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#23 0x0000003cd93b393d in ?? () from /usr/lib64/qt4/lib64/libQtGui.so.4
#24 0x0000003cd9484bfa in QWidgetPrivate::drawWidget ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#25 0x0000003cd94845bc in ?? () from /usr/lib64/qt4/lib64/libQtGui.so.4
#26 0x0000003cd948481f in QWidgetPrivate::drawWidget ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#27 0x0000003cd94845bc in ?? () from /usr/lib64/qt4/lib64/libQtGui.so.4
#28 0x0000003cd94844d8 in ?? () from /usr/lib64/qt4/lib64/libQtGui.so.4
#29 0x0000003cd94844d8 in ?? () from /usr/lib64/qt4/lib64/libQtGui.so.4
#30 0x0000003cd948481f in QWidgetPrivate::drawWidget ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#31 0x0000003cd94845bc in ?? () from /usr/lib64/qt4/lib64/libQtGui.so.4
#32 0x0000003cd948481f in QWidgetPrivate::drawWidget ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#33 0x0000003cd94845bc in ?? () from /usr/lib64/qt4/lib64/libQtGui.so.4
#34 0x0000003cd94844d8 in ?? () from /usr/lib64/qt4/lib64/libQtGui.so.4
#35 0x0000003cd948481f in QWidgetPrivate::drawWidget ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#36 0x0000003cd948521c in ?? () from /usr/lib64/qt4/lib64/libQtGui.so.4
#37 0x0000003cd94856da in ?? () from /usr/lib64/qt4/lib64/libQtGui.so.4
#38 0x0000003cd93acc06 in QWidget::event ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#39 0x0000003cd936a95c in QApplicationPrivate::notify_helper ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#40 0x0000003cd936c9ed in QApplication::notify ()
  from /usr/lib64/qt4/lib64/libQtGui.so.4
#41 0x0000003cd8ee6fa9 in QCoreApplication::sendPostedEvents ()
  from /usr/lib64/qt4/lib64/libQtCore.so.4
#42 0x0000003cd93de91d in ?? () from /usr/lib64/qt4/lib64/libQtGui.so.4
#43 0x0000003cd8ee4de8 in QEventLoop::processEvents ()
  from /usr/lib64/qt4/lib64/libQtCore.so.4
#44 0x0000003cd8ee4ef9 in QEventLoop::exec ()
  from /usr/lib64/qt4/lib64/libQtCore.so.4
#45 0x0000003cd8ee737b in QCoreApplication::exec ()
  from /usr/lib64/qt4/lib64/libQtCore.so.4
#46 0x00002b15c13066f9 in G4UIQt::SessionStart (this=0x5e24870)
   at src/G4UIQt.cc:321
#47 0x0000000000404764 in G4UIExecutive::SessionStart (this=0x5d9d3c0)
   at /users/adotti/geant4.9.3_fpe_debug/include/G4UIExecutive.icc:134
#48 0x00000000004043ba in main (argc=1, argv=0x7fffcfa5d088)
   at exampleN07.cc:102
(gdb)
Comment 1 garnier 2012-09-05 14:25:32 CEST
Fixed in 4.9.5 version.