Bug 230770

Summary: Segfault importing Java code (project and single class) into Umbrello [QString::operator==, JavaImport::joinTypename, JavaImport::parseStmt]
Product: [Applications] umbrello Reporter: Martin Nyhus <bugs.kde.org>
Component: generalAssignee: Umbrello Development Group <umbrello-devel>
Status: RESOLVED FIXED    
Severity: crash CC: alan.krueger, andresbajotierra, carloscunarro, debugger, felix, geroxp, kk1fff, laurent.m.david, mgenhart, NatanaelA, okellogg, pmanousis, pregenitor, ralf.habacker, teabof
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 4.9.0
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi

Description Martin Nyhus 2010-03-14 22:07:50 UTC
Application: umbrello (2.4.0)
KDE Platform Version: 4.4.00 (KDE 4.4.0)
Qt Version: 4.6.2
Operating System: Linux 2.6.32.9-67.fc12.x86_64 x86_64
Distribution: "Fedora release 12 (Constantine)"

-- Information about the crash:
Umbrello crashed after I tried importing source from a Java project (Code -> Import Project). Importing a single class (Code -> Import Class) also fails.

The crash can be reproduced every time.

 -- Backtrace:
Application: Umbrello UML Modeller (umbrello), signal: Segmentation fault
82	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[KCrash Handler]
#5  0x00000031660b0903 in QString::operator== (this=0x34515d8, other=...) at tools/qstring.cpp:2071
#6  0x0000000000509d33 in qStringComparisonHelper (this=0x7fffbad34650, typeName=<value optimized out>) at /usr/include/QtCore/qstring.h:908
#7  operator== (this=0x7fffbad34650, typeName=<value optimized out>) at /usr/include/QtCore/qstring.h:911
#8  JavaImport::joinTypename (this=0x7fffbad34650, typeName=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:80
#9  0x000000000050c1d8 in JavaImport::parseStmt (this=0x7fffbad34650) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:470
#10 0x000000000050e572 in NativeImportBase::parseFile (this=0x7fffbad34650, filename=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/nativeimportbase.cpp:416
#11 0x000000000050834f in JavaImport::parseFile (this=0x7fffbad34650, filename=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:251
#12 0x00000000005017da in ClassImport::importFiles (this=0x7fffbad34650, fileList=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/classimport.cpp:45
#13 0x00000000005086c9 in JavaImport::spawnImport (this=<value optimized out>, file=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:126
#14 0x0000000000508cb0 in JavaImport::resolveClass (this=0x7fffbad356f0, className=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:175
#15 0x000000000050ca7a in JavaImport::parseStmt (this=0x7fffbad356f0) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:503
#16 0x000000000050e572 in NativeImportBase::parseFile (this=0x7fffbad356f0, filename=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/nativeimportbase.cpp:416
#17 0x000000000050834f in JavaImport::parseFile (this=0x7fffbad356f0, filename=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:251
#18 0x00000000005017da in ClassImport::importFiles (this=0x7fffbad356f0, fileList=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/classimport.cpp:45
#19 0x00000000005086c9 in JavaImport::spawnImport (this=<value optimized out>, file=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:126
#20 0x0000000000508cb0 in JavaImport::resolveClass (this=0x7fffbad36790, className=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:175
#21 0x000000000050a879 in JavaImport::parseStmt (this=0x7fffbad36790) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:337
#22 0x000000000050e572 in NativeImportBase::parseFile (this=0x7fffbad36790, filename=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/nativeimportbase.cpp:416
#23 0x000000000050834f in JavaImport::parseFile (this=0x7fffbad36790, filename=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:251
#24 0x00000000005017da in ClassImport::importFiles (this=0x7fffbad36790, fileList=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/classimport.cpp:45
#25 0x00000000005086c9 in JavaImport::spawnImport (this=<value optimized out>, file=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:126
#26 0x0000000000508cb0 in JavaImport::resolveClass (this=0x7fffbad37830, className=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:175
#27 0x000000000050ca7a in JavaImport::parseStmt (this=0x7fffbad37830) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:503
#28 0x000000000050e572 in NativeImportBase::parseFile (this=0x7fffbad37830, filename=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/nativeimportbase.cpp:416
#29 0x000000000050834f in JavaImport::parseFile (this=0x7fffbad37830, filename=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:251
#30 0x00000000005017da in ClassImport::importFiles (this=0x7fffbad37830, fileList=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/classimport.cpp:45
#31 0x00000000005086c9 in JavaImport::spawnImport (this=<value optimized out>, file=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:126
#32 0x000000000050950d in JavaImport::resolveClass (this=0x7fffbad388d0, className=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:209
#33 0x000000000050ca7a in JavaImport::parseStmt (this=0x7fffbad388d0) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:503
#34 0x000000000050e572 in NativeImportBase::parseFile (this=0x7fffbad388d0, filename=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/nativeimportbase.cpp:416
#35 0x000000000050834f in JavaImport::parseFile (this=0x7fffbad388d0, filename=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:251
#36 0x00000000005017da in ClassImport::importFiles (this=0x7fffbad388d0, fileList=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/classimport.cpp:45
#37 0x00000000005086c9 in JavaImport::spawnImport (this=<value optimized out>, file=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:126
#38 0x0000000000508cb0 in JavaImport::resolveClass (this=0x7fffbad39970, className=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:175
#39 0x000000000050ca7a in JavaImport::parseStmt (this=0x7fffbad39970) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:503
#40 0x000000000050e572 in NativeImportBase::parseFile (this=0x7fffbad39970, filename=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/nativeimportbase.cpp:416
#41 0x000000000050834f in JavaImport::parseFile (this=0x7fffbad39970, filename=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:251
#42 0x00000000005017da in ClassImport::importFiles (this=0x7fffbad39970, fileList=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/classimport.cpp:45
#43 0x00000000005086c9 in JavaImport::spawnImport (this=<value optimized out>, file=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:126
#44 0x0000000000508cb0 in JavaImport::resolveClass (this=0x7fffbad3aa10, className=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:175
#45 0x000000000050a879 in JavaImport::parseStmt (this=0x7fffbad3aa10) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:337
#46 0x000000000050e572 in NativeImportBase::parseFile (this=0x7fffbad3aa10, filename=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/nativeimportbase.cpp:416
#47 0x000000000050834f in JavaImport::parseFile (this=0x7fffbad3aa10, filename=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:251
#48 0x00000000005017da in ClassImport::importFiles (this=0x7fffbad3aa10, fileList=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/classimport.cpp:45
#49 0x00000000005086c9 in JavaImport::spawnImport (this=<value optimized out>, file=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:126
#50 0x0000000000508cb0 in JavaImport::resolveClass (this=0x7fffbad3bab0, className=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:175
#51 0x000000000050ca7a in JavaImport::parseStmt (this=0x7fffbad3bab0) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:503
#52 0x000000000050e572 in NativeImportBase::parseFile (this=0x7fffbad3bab0, filename=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/nativeimportbase.cpp:416
#53 0x000000000050834f in JavaImport::parseFile (this=0x7fffbad3bab0, filename=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:251
#54 0x00000000005017da in ClassImport::importFiles (this=0x7fffbad3bab0, fileList=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/classimport.cpp:45
#55 0x00000000005086c9 in JavaImport::spawnImport (this=<value optimized out>, file=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:126
#56 0x000000000050950d in JavaImport::resolveClass (this=0x7fffbad3cb50, className=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:209
#57 0x000000000050b32a in JavaImport::parseStmt (this=0x7fffbad3cb50) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:352
#58 0x000000000050e572 in NativeImportBase::parseFile (this=0x7fffbad3cb50, filename=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/nativeimportbase.cpp:416
#59 0x000000000050834f in JavaImport::parseFile (this=0x7fffbad3cb50, filename=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:251
#60 0x00000000005017da in ClassImport::importFiles (this=0x7fffbad3cb50, fileList=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/classimport.cpp:45
#61 0x00000000005086c9 in JavaImport::spawnImport (this=<value optimized out>, file=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:126
#62 0x0000000000508cb0 in JavaImport::resolveClass (this=0x7fffbad3dbf0, className=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:175
#63 0x000000000050c466 in JavaImport::parseStmt (this=0x7fffbad3dbf0) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:564
#64 0x000000000050e572 in NativeImportBase::parseFile (this=0x7fffbad3dbf0, filename=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/nativeimportbase.cpp:416
#65 0x000000000050834f in JavaImport::parseFile (this=0x7fffbad3dbf0, filename=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:251
#66 0x00000000005017da in ClassImport::importFiles (this=0x7fffbad3dbf0, fileList=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/classimport.cpp:45
#67 0x00000000005086c9 in JavaImport::spawnImport (this=<value optimized out>, file=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:126
#68 0x000000000050950d in JavaImport::resolveClass (this=0x327d120, className=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:209
#69 0x000000000050ca7a in JavaImport::parseStmt (this=0x327d120) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:503
#70 0x000000000050e572 in NativeImportBase::parseFile (this=0x327d120, filename=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/nativeimportbase.cpp:416
#71 0x000000000050834f in JavaImport::parseFile (this=0x327d120, filename=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/javaimport.cpp:251
#72 0x00000000005017da in ClassImport::importFiles (this=0x327d120, fileList=...) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/codeimport/classimport.cpp:45
#73 0x0000000000c8cf15 in UMLApp::importFiles (this=0x29f3770, fileList=0x7fffbad3ecd0) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/uml.cpp:2225
#74 0x0000000000c8d073 in UMLApp::slotImportProject (this=0x29f3770) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/uml.cpp:2274
#75 0x0000000000c9c642 in UMLApp::qt_metacall (this=0x29f3770, _c=InvokeMetaMethod, _id=52, _a=0x7fffbad3ee50) at /usr/src/debug/kdesdk-4.4.0/x86_64-redhat-linux-gnu/umbrello/umbrello/uml.moc:284
#76 0x000000316616a2af in QMetaObject::activate (sender=0x2a26910, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fffbad3ee50) at kernel/qobject.cpp:3293
#77 0x00000031685a5b52 in QAction::triggered (this=<value optimized out>, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#78 0x00000031685a728b in QAction::activate (this=0x2a26910, event=<value optimized out>) at kernel/qaction.cpp:1255
#79 0x00000031689a9e45 in QMenuPrivate::activateCausedStack (this=<value optimized out>, causedStack=..., action=0x2a26910, action_e=Trigger, self=true) at widgets/qmenu.cpp:1011
#80 0x00000031689af5fa in QMenuPrivate::activateAction (this=0x2ba8360, action=0x2a26910, action_e=Trigger, self=<value optimized out>) at widgets/qmenu.cpp:1103
#81 0x00000031698cfc8e in KMenu::mouseReleaseEvent (this=0x2ba7370, e=<value optimized out>) at /usr/src/debug/kdelibs-4.4.0/kdeui/widgets/kmenu.cpp:471
#82 0x00000031685f5b3a in QWidget::event (this=0x2ba7370, event=0x7fffbad3faa0) at kernel/qwidget.cpp:7998
#83 0x00000031689b0bab in QMenu::event (this=0x2ba7370, e=0x7fffbad3faa0) at widgets/qmenu.cpp:2414
#84 0x00000031685aa9dc in QApplicationPrivate::notify_helper (this=0x2879f20, receiver=0x2ba7370, e=0x7fffbad3faa0) at kernel/qapplication.cpp:4300
#85 0x00000031685b127d in QApplication::notify (this=<value optimized out>, receiver=0x2ba7370, e=0x7fffbad3faa0) at kernel/qapplication.cpp:3865
#86 0x00000031698067a6 in KApplication::notify (this=0x7fffbad407b0, receiver=0x2ba7370, event=0x7fffbad3faa0) at /usr/src/debug/kdelibs-4.4.0/kdeui/kernel/kapplication.cpp:302
#87 0x000000316615774c in QCoreApplication::notifyInternal (this=0x7fffbad407b0, receiver=0x2ba7370, event=0x7fffbad3faa0) at kernel/qcoreapplication.cpp:704
#88 0x00000031685b046e in sendEvent (receiver=0x2ba7370, event=0x7fffbad3faa0, alienWidget=0x0, nativeWidget=0x2ba7370, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, 
    spontaneous=true) at ../../src/corelib/kernel/qcoreapplication.h:215
#89 QApplicationPrivate::sendMouseEvent (receiver=0x2ba7370, event=0x7fffbad3faa0, alienWidget=0x0, nativeWidget=0x2ba7370, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, 
    spontaneous=true) at kernel/qapplication.cpp:2965
#90 0x0000003168622845 in QETWidget::translateMouseEvent (this=0x2ba7370, event=<value optimized out>) at kernel/qapplication_x11.cpp:4302
#91 0x0000003168621128 in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fffbad403c0) at kernel/qapplication_x11.cpp:3501
#92 0x0000003168649d52 in x11EventSourceDispatch (s=0x287dc50, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#93 0x0000003d24e3920e in g_main_dispatch (context=0x287c920) at gmain.c:1960
#94 IA__g_main_context_dispatch (context=0x287c920) at gmain.c:2513
#95 0x0000003d24e3cbf8 in g_main_context_iterate (context=0x287c920, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2591
#96 0x0000003d24e3cd1a in IA__g_main_context_iteration (context=0x287c920, may_block=1) at gmain.c:2654
#97 0x000000316617d063 in QEventDispatcherGlib::processEvents (this=0x2852480, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#98 0x0000003168649a1e in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#99 0x0000003166156192 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#100 0x000000316615645c in QEventLoop::exec (this=0x7fffbad406f0, flags=...) at kernel/qeventloop.cpp:201
#101 0x0000003166158749 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#102 0x0000000000c6e685 in main (argc=<value optimized out>, argv=<value optimized out>) at /usr/src/debug/kdesdk-4.4.0/umbrello/umbrello/main.cpp:111

This bug may be a duplicate of or related to bug 223504.

Possible duplicates by query: bug 223504, bug 223393.

Reported using DrKonqi
Comment 1 Dario Andres 2010-03-16 14:24:39 UTC
*** Bug 223504 has been marked as a duplicate of this bug. ***
Comment 2 gmud 2010-04-20 12:43:56 UTC
I can confirm this behaviour with the following backtrace:

Application: Umbrello UML-Modeller (umbrello), signal: Segmentation fault
[KCrash Handler]
#6  0xb5eba8e9 in QString::operator==(QLatin1String const&) const () from /usr/lib/libQtCore.so.4
#7  0x0810024a in qStringComparisonHelper (s1=..., s2=0x8764fd0 ";") at /usr/include/qt4/QtCore/qstring.h:908
#8  0x0816b8f7 in QString::operator!= (this=0xbfaf6460) at /usr/include/qt4/QtCore/qstring.h:913
#9  JavaImport::parseStmt (this=0xbfaf6460) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/javaimport.cpp:584
#10 0x0816e5eb in NativeImportBase::parseFile (this=0xbfaf6460, filename=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/nativeimportbase.cpp:416
#11 0x081676d3 in JavaImport::parseFile (this=0xbfaf6460, filename=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/javaimport.cpp:251
#12 0x08160075 in ClassImport::importFiles (this=0xbfaf6460, fileList=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/classimport.cpp:45
#13 0x08167c0a in JavaImport::spawnImport (this=0xbfaf6a70, file=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/javaimport.cpp:126
#14 0x0816897f in JavaImport::resolveClass (this=0xbfaf6a70, className=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/javaimport.cpp:209
#15 0x0816b74a in JavaImport::parseStmt (this=0xbfaf6a70) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/javaimport.cpp:564
#16 0x0816e5eb in NativeImportBase::parseFile (this=0xbfaf6a70, filename=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/nativeimportbase.cpp:416
#17 0x081676d3 in JavaImport::parseFile (this=0xbfaf6a70, filename=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/javaimport.cpp:251
#18 0x08160075 in ClassImport::importFiles (this=0xbfaf6a70, fileList=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/classimport.cpp:45
#19 0x08167c0a in JavaImport::spawnImport (this=0xbfaf7080, file=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/javaimport.cpp:126
#20 0x0816897f in JavaImport::resolveClass (this=0xbfaf7080, className=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/javaimport.cpp:209
#21 0x0816bbdd in JavaImport::parseStmt (this=0xbfaf7080) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/javaimport.cpp:514
#22 0x0816e5eb in NativeImportBase::parseFile (this=0xbfaf7080, filename=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/nativeimportbase.cpp:416
#23 0x081676d3 in JavaImport::parseFile (this=0xbfaf7080, filename=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/javaimport.cpp:251
#24 0x08160075 in ClassImport::importFiles (this=0xbfaf7080, fileList=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/classimport.cpp:45
#25 0x08167c0a in JavaImport::spawnImport (this=0xbfaf7690, file=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/javaimport.cpp:126
#26 0x0816897f in JavaImport::resolveClass (this=0xbfaf7690, className=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/javaimport.cpp:209
#27 0x0816a890 in JavaImport::parseStmt (this=0xbfaf7690) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/javaimport.cpp:352
#28 0x0816e5eb in NativeImportBase::parseFile (this=0xbfaf7690, filename=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/nativeimportbase.cpp:416
#29 0x081676d3 in JavaImport::parseFile (this=0xbfaf7690, filename=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/javaimport.cpp:251
#30 0x08160075 in ClassImport::importFiles (this=0xbfaf7690, fileList=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/classimport.cpp:45
#31 0x08167c0a in JavaImport::spawnImport (this=0x9509078, file=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/javaimport.cpp:126
#32 0x0816897f in JavaImport::resolveClass (this=0x9509078, className=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/javaimport.cpp:209
#33 0x0816b74a in JavaImport::parseStmt (this=0x9509078) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/javaimport.cpp:564
#34 0x0816e5eb in NativeImportBase::parseFile (this=0x9509078, filename=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/nativeimportbase.cpp:416
#35 0x081676d3 in JavaImport::parseFile (this=0x9509078, filename=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/javaimport.cpp:251
#36 0x08160075 in ClassImport::importFiles (this=0x9509078, fileList=...) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/codeimport/classimport.cpp:45
#37 0x086c923d in UMLApp::importFiles (this=0x90b0550, fileList=0xbfaf7cf8) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/uml.cpp:2213
#38 0x086d7480 in UMLApp::slotImportClasses (this=0x90b0550) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/uml.cpp:2250
#39 0x086d9400 in UMLApp::qt_metacall (this=0x90b0550, _c=QMetaObject::InvokeMetaMethod, _id=162054500, _a=0xbfaf7e68) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/uml.moc:282
#40 0xb5f7ae5a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#41 0xb5f895f5 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#42 0xb61bab89 in QAction::triggered(bool) () from /usr/lib/libQtGui.so.4
#43 0xb61bcd9c in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQtGui.so.4
#44 0xb665fbfc in ?? () from /usr/lib/libQtGui.so.4
#45 0xb66660ab in ?? () from /usr/lib/libQtGui.so.4
#46 0xb66670b7 in QMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#47 0xb710eea5 in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libkdeui.so.5
#48 0xb621f718 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#49 0xb66686ac in QMenu::event(QEvent*) () from /usr/lib/libQtGui.so.4
#50 0xb61c13cc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#51 0xb61c89b7 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#52 0xb70185ba in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#53 0xb5f75beb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#54 0xb61c790f in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#55 0xb62531a7 in ?? () from /usr/lib/libQtGui.so.4
#56 0xb62521a1 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#57 0xb628100a in ?? () from /usr/lib/libQtGui.so.4
#58 0xb54abe88 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#59 0xb54af730 in ?? () from /lib/libglib-2.0.so.0
#60 0xb54af863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#61 0xb5fa1805 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#62 0xb6280b35 in ?? () from /usr/lib/libQtGui.so.4
#63 0xb5f74209 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#64 0xb5f7465a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#65 0xb5f7884f in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#66 0xb61c1467 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#67 0x086a9635 in main (argc=1, argv=0xbfaf9164) at ./devel/umbrello/kdesdk-4.3.2/umbrello/umbrello/main.cpp:111
Comment 3 gmud 2010-04-20 14:56:41 UTC
This is a patch for a workaround of the crash that I experienced. It may be a dirty patch, but for me it works:

--- javaimport.cpp	2009-06-03 13:54:28.000000000 +0200
+++ ../../../../../kdesdk-4.3.2/umbrello/umbrello/codeimport/javaimport.cpp	2010-04-20 14:13:29.711275970 +0200
@@ -77,8 +77,11 @@
         }
     }
     // to handle multidimensional arrays, call recursively
-    if (m_source[m_srcIndex + 1] == "[") {
-        typeNameRet = joinTypename( typeNameRet );
+
+    if (m_srcIndex<(sizeof(m_source) / sizeof(int))) {
+	if (m_source[m_srcIndex + 1] == "[") {
+		typeNameRet = joinTypename( typeNameRet );
+	}
     }
     return typeNameRet;
 }
@@ -581,8 +584,13 @@
     }
     // reset visibility to default
     m_currentAccess = m_defaultCurrentAccess;
-    if (m_source[m_srcIndex] != ";") {
-        uError() << "importJava: ignoring trailing items at " << name;
+    if (m_srcIndex<(sizeof(m_source) / sizeof(int))) {
+	if (m_source[m_srcIndex] != ";") {
+		uError() << "importJava: ignoring trailing items at " << name;
+		skipStmt();
+	} 
+    } else {
+        uError() << "index out of range: ignoring statement " << name;
         skipStmt();
     }
     return true;
Comment 4 Jari Kärkkäinen 2010-05-26 21:09:23 UTC
Created attachment 43919 [details]
New crash information added by DrKonqi

Same as original,
Umbrello crashed after I tried importing source from a Java project (Code -> Import Project).
Comment 5 Christoph Feck 2010-09-13 12:57:54 UTC
*** Bug 246981 has been marked as a duplicate of this bug. ***
Comment 6 Christoph Feck 2010-09-13 12:58:32 UTC
*** Bug 245933 has been marked as a duplicate of this bug. ***
Comment 7 Christoph Feck 2010-09-13 12:59:07 UTC
*** Bug 237138 has been marked as a duplicate of this bug. ***
Comment 8 Dario Andres 2010-11-24 19:38:33 UTC
[Comment from a bug triager]
From bug 257768:
-- Information about the crash:
Every time when I import android source code /framework/base/core/java/android,
it crashes after ask me is Parcelable a namespace of a class. No matter which
answer I gave, it crashes every time.
Comment 9 Dario Andres 2010-11-24 19:38:41 UTC
*** Bug 257768 has been marked as a duplicate of this bug. ***
Comment 10 Dario Andres 2010-12-02 22:33:28 UTC
*** Bug 258500 has been marked as a duplicate of this bug. ***
Comment 11 kdekda 2012-02-05 20:31:48 UTC
Created attachment 68539 [details]
New crash information added by DrKonqi

umbrello (2.7.4) on KDE Platform 4.7.4 (4.7.4) using Qt 4.7.4

- What I was doing when the application crashed:

Every time when I import android source code /framework/base/core/java/android,
it crashes after ask me is Java a namespace of a class. No matter which
answer I gave, it crashes every time.

-- Backtrace (Reduced):
#8  QList (l=<optimized out>, this=<optimized out>) at /usr/include/QtCore/qlist.h:118
#9  QListIterator (container=<optimized out>, this=<optimized out>) at /usr/include/QtCore/qlist.h:883
#10 UMLPackage::findObject (this=0x1f4, name=...) at /chakra/desktop-testing/kdesdk/src/kdesdk-4.7.4/umbrello/umbrello/package.cpp:238
#11 0x08377e4d in UMLDoc::isUnique (this=0x8fe9150, name=..., package=0x1f4) at /chakra/desktop-testing/kdesdk/src/kdesdk-4.7.4/umbrello/umbrello/umldoc.cpp:973
#12 0x08339fac in Model_Utils::uniqObjectName (type=500, parentPkg=0x942c148, prefix=) at /chakra/desktop-testing/kdesdk/src/kdesdk-4.7.4/umbrello/umbrello/model_utils.cpp:438
Comment 12 Oliver Kellogg 2012-02-13 18:32:02 UTC
What exactly are we talking about here?
I see lots of marked-as-duplicates and backtraces but not one single Java code attachment to reproduce this with.
Comment 13 Oliver Kellogg 2012-02-13 20:58:35 UTC
SVN commit 1279959 by okellogg:

(In reply to comment #12)
> [...]
> I see lots of marked-as-duplicates and backtraces but not one single Java
> code attachment to reproduce this with.

Okay, I looked at the marked-as-duplicates such as
      https://bugs.kde.org/show_bug.cgi?id=245933#c2
and it seems we are talking about Java variable-length parameters (three
dots following the type name.) Here is the fix for that.

Import_Utils::createUMLObject(): If typeName.contains("...") then we are
dealing with a Java variable-length parameter. Handle this case specially:
- Set type to UMLObject::ot_Datatype
- Set parentPkg to umldoc->datatypeFolder()
- Set isAdorned false (to preserve ot_Datatype and prevent second creation)



 M  +6 -1      import_utils.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1279959
Comment 14 Jekyll Wu 2012-07-06 00:05:52 UTC
*** Bug 266978 has been marked as a duplicate of this bug. ***
Comment 15 Oliver Kellogg 2012-07-18 19:25:49 UTC
*** Bug 223760 has been marked as a duplicate of this bug. ***
Comment 16 Jekyll Wu 2013-03-04 16:40:37 UTC
*** Bug 308249 has been marked as a duplicate of this bug. ***
Comment 17 Ralf Habacker 2013-11-06 17:15:06 UTC
apply fixed bug from 4.9.0 changelog