[MacPorts] #31355: kdesdk4: Umbrello not able to run

MacPorts noreply at macports.org
Fri Jan 13 21:04:39 PST 2012


#31355: kdesdk4: Umbrello not able to run
----------------------------------+-----------------------------------------
 Reporter:  mtughan@…             |       Owner:  snc@…           
     Type:  defect                |      Status:  new             
 Priority:  Normal                |   Milestone:                  
Component:  ports                 |     Version:  2.0.3           
 Keywords:                        |        Port:  kdesdk4         
----------------------------------+-----------------------------------------

Comment(by rislec@…):

 This problem still exists for version 4.7.4. Building some the debugging
 variants such as "qt4-mac @4.7.4_1+debug+quartz", "kdelibs4
 @4.7.4_1+debug", and "kdesdk4 @4.7.4_0+debug" reveals a number of other
 errors down stream of the KSharedDataCache issue, and the actual crash
 seems to come from an index range error:

 {{{
 KGlobal::locale::Warning your global KLocale is being recreated with a
 valid main component instead of a fake component, this usually means you
 tried to call i18n related functions before your main component was
 created. You should not do that since it most likely will not work
 umbrello(92342)/KSharedDataCache ensureFileAllocated: This system misses
 support for posix_fallocate() -- ensure this partition has room for at
 least 10547296 bytes.
 umbrello(92342)/KSharedDataCache: Unable to find an appropriate lock to
 guard the shared cache.  This *should* be essentially impossible. :(
 umbrello(92342)/KSharedDataCache: Unable to perform initial setup, this
 system probably does not really support process-shared pthreads or
 semaphores, even though it claims otherwise.
 umbrello(92342)/KSharedDataCache: Unable to unmap shared memory segment
 0x10ba8e000
 umbrello(92342)/kdeui (kdelibs): Attempt to use QAction "edit_undo" with
 KXMLGUIFactory!
 umbrello(92342)/kdeui (kdelibs): Attempt to use QAction "edit_redo" with
 KXMLGUIFactory!
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 umbrello(92342)/kdeui (KIconEffect) KIconEffect::apply: Illegal icon
 group:  7
 ASSERT failure in QList<T>::operator[]: "index out of range", file
 /opt/local/include/QtCore/qlist.h, line 464
 }}}

 Running the application with gdb reveals that the assertion is encountered
 in the function KTabWidget::Private::updateTab() (see the stack trace
 bellow).

 {{{
 #0  0x00007fff8e0d7ce2 in __pthread_kill ()
 #1  0x00007fff8eb567d2 in pthread_kill ()
 #2  0x00007fff8eb47a7a in abort ()
 #3  0x0000000102fcee25 in qt_message_output ()
 #4  0x0000000102fcf01e in qt_message ()
 #5  0x0000000102fcf25d in qFatal ()
 #6  0x0000000102fcf28e in qt_assert_x ()
 #7  0x000000010182765b in KTabWidget::Private::updateTab ()
 #8  0x0000000101827c3b in KTabWidget::Private::resizeTabs ()
 #9  0x000000010247fb8b in QWidget::event ()
 #10 0x000000010280905d in QTabWidget::event ()
 #11 0x000000010242fd18 in QApplicationPrivate::notify_helper ()
 #12 0x000000010242ffcb in QApplication::notify ()
 #13 0x000000010172424a in KApplication::notify ()
 #14 0x00000001030be182 in QCoreApplication::notifyInternal ()
 #15 0x00000001023d3208 in QWidgetPrivate::setGeometry_sys_helper ()
 #16 0x00000001023d5af1 in QWidgetPrivate::setGeometry_sys ()
 #17 0x0000000102481e06 in QWidget::setGeometry ()
 #18 0x000000010245fb3a in QWidgetItem::setGeometry ()
 #19 0x0000000102440f86 in QBoxLayout::setGeometry ()
 #20 0x000000010245ca21 in QLayoutPrivate::doResize ()
 #21 0x000000010245cc89 in QLayout::activate ()
 #22 0x000000010242fcfa in QApplicationPrivate::notify_helper ()
 #23 0x000000010242ffcb in QApplication::notify ()
 #24 0x000000010172424a in KApplication::notify ()
 #25 0x00000001030be182 in QCoreApplication::notifyInternal ()
 #26 0x00000001023d3208 in QWidgetPrivate::setGeometry_sys_helper ()
 #27 0x00000001023d5af1 in QWidgetPrivate::setGeometry_sys ()
 #28 0x0000000102481e06 in QWidget::setGeometry ()
 #29 0x000000010247eb2e in QWidget::qt_metacall ()
 #30 0x0000000102fc2fda in QPropertyAnimationPrivate::updateProperty ()
 #31 0x0000000102fc00bf in
 QVariantAnimationPrivate::setCurrentValueForProgress ()
 #32 0x0000000102fc05b5 in
 QVariantAnimationPrivate::recalculateCurrentInterval ()
 #33 0x0000000102fc29af in QPropertyAnimation::updateState ()
 #34 0x0000000102fbe5a0 in QAbstractAnimationPrivate::setState ()
 #35 0x0000000102834769 in QWidgetAnimator::animate ()
 #36 0x00000001027995bc in QDockAreaLayout::apply ()
 #37 0x00000001027c41a1 in QMainWindowLayout::applyState ()
 #38 0x00000001027c4896 in QMainWindowLayout::setGeometry ()
 #39 0x000000010245ca21 in QLayoutPrivate::doResize ()
 #40 0x000000010245cc89 in QLayout::activate ()
 #41 0x0000000102480b09 in QWidget::setVisible ()
 #42 0x00000001027f3fa5 in QSizeGrip::eventFilter ()
 #43 0x00000001030bbdd1 in
 QCoreApplicationPrivate::sendThroughObjectEventFilters ()
 #44 0x000000010242fd08 in QApplicationPrivate::notify_helper ()
 #45 0x000000010242ffcb in QApplication::notify ()
 #46 0x000000010172424a in KApplication::notify ()
 #47 0x00000001030be182 in QCoreApplication::notifyInternal ()
 #48 0x000000010242f4aa in qt_sendSpontaneousEvent ()
 #49 0x00000001023e396f in -[QCocoaWindowDelegate windowDidResize:] ()
 #50 0x00007fff8c948de2 in __-[NSNotificationCenter
 addObserver:selector:name:object:]_block_invoke_1 ()
 #51 0x00007fff90610e0a in _CFXNotificationPost ()
 #52 0x00007fff8c935097 in -[NSNotificationCenter
 postNotificationName:object:userInfo:] ()
 #53 0x00007fff8b7e97d9 in -[NSWindow _setFrameCommon:display:stashSize:]
 ()
 #54 0x00007fff8b7e8f17 in -[NSWindow setFrame:display:] ()
 #55 0x00000001023d5e2f in QWidgetPrivate::setGeometry_sys ()
 #56 0x0000000102481ede in QWidget::resize ()
 #57 0x0000000102484971 in QWidget::setMinimumSize ()
 #58 0x000000010245cc62 in QLayout::activate ()
 #59 0x000000010242fcfa in QApplicationPrivate::notify_helper ()
 #60 0x000000010242ffcb in QApplication::notify ()
 #61 0x000000010172424a in KApplication::notify ()
 #62 0x00000001030be182 in QCoreApplication::notifyInternal ()
 #63 0x00000001030be545 in QCoreApplicationPrivate::sendPostedEvents ()
 #64 0x00007fff905d6b51 in
 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ ()
 #65 0x00007fff905d63bd in __CFRunLoopDoSources0 ()
 #66 0x00007fff905fd1a9 in __CFRunLoopRun ()
 #67 0x00007fff905fcae6 in CFRunLoopRunSpecific ()
 #68 0x00007fff947ce3d3 in RunCurrentEventLoopInMode ()
 #69 0x00007fff947d558f in ReceiveNextEventCommon ()
 #70 0x00007fff947d54ca in BlockUntilNextEventMatchingListInMode ()
 #71 0x00007fff8b6eb3f1 in _DPSNextEvent ()
 #72 0x00007fff8b6eacf5 in -[NSApplication
 nextEventMatchingMask:untilDate:inMode:dequeue:] ()
 #73 0x00000001023edba4 in QEventDispatcherMac::processEvents ()
 #74 0x00000001030be97c in QCoreApplication::processEvents ()
 #75 0x00000001002d8446 in UMLApp::setCurrentView ()
 #76 0x00000001002e442d in UMLDoc::changeCurrentView ()
 #77 0x00000001002da7f2 in UMLApp::slotTabChanged ()
 #78 0x00000001002db515 in UMLApp::qt_metacall ()
 #79 0x00000001030d21d2 in QMetaObject::activate ()
 #80 0x0000000102808a2f in QTabWidgetPrivate::_q_showTab ()
 #81 0x0000000102808cae in QTabWidget::qt_metacall ()
 #82 0x0000000101826561 in KTabWidget::qt_metacall ()
 #83 0x00000001030d21d2 in QMetaObject::activate ()
 #84 0x0000000102804659 in QTabBar::setCurrentIndex ()
 #85 0x0000000102806e4e in QTabBar::insertTab ()
 #86 0x000000010280a277 in QTabWidget::insertTab ()
 #87 0x00000001002d82d1 in UMLApp::setCurrentView ()
 #88 0x00000001002e33fd in UMLDoc::addView ()
 #89 0x00000001002e3efe in UMLDoc::createDiagram ()
 #90 0x00000001002e6a10 in UMLDoc::newDocument ()
 #91 0x00000001002da775 in UMLApp::newDocument ()
 #92 0x00000001002a7161 in initDocument ()
 #93 0x00000001002a6cc4 in main ()
 }}}

 I am not familiar enough with macports to get all the debugging symbols
 loaded properly and see what's going on, but from reading the source I
 presume its the unchecked index access "m_tabNames[ index ]" (see code
 snippet below).

 {{{
 void KTabWidget::Private::updateTab( int index )
 {
   QString title = m_automaticResizeTabs ? m_tabNames[ index ] :
 m_parent->QTabWidget::tabText( index );
   m_parent->setTabToolTip( index, QString() );

   if ( title.length() > m_currentTabLength ) {
     QString toolTipText = title;
     // Remove '&'s, which are indicators for keyboard shortcuts in tab
 titles. "&&" is replaced by '&'.
     for ( int i = toolTipText.indexOf( '&' ); i >= 0 && i <
 toolTipText.length(); i = toolTipText.indexOf( '&', i + 1 ) )
       toolTipText.remove( i, 1 );

     if ( Qt::mightBeRichText( toolTipText ) )
       m_parent->setTabToolTip( index, Qt::escape( toolTipText ) );
     else
       m_parent->setTabToolTip( index, toolTipText );
   }

   title = KStringHandler::rsqueeze( title, m_currentTabLength
 ).leftJustified( m_minLength, ' ' );

   if ( m_parent->QTabWidget::tabText( index ) != title )
     m_parent->QTabWidget::setTabText( index, title );
 }
 }}}

 This information leads me to the following:
 1. There is a bug in kdelibs4 that prevents further execution.
 2. Since this doesn't seem to have appeared in other operating systems, is
 this a bug that might be avoided with the raster variant of qt4-mac or is
 this a matter of correctly finding umbrello's data resources like
 localizations, icons, etc?

-- 
Ticket URL: <https://trac.macports.org/ticket/31355#comment:8>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list