|
Bugzilla – Full Text Bug Listing |
| Summary: | Segfault in installation partitioner dialog | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 11.0 | Reporter: | Petr Ostadal <postadal> |
| Component: | Installation | Assignee: | Thomas Göttlicher <tgoettlicher> |
| Status: | RESOLVED FIXED | QA Contact: | Jiri Srain <jsrain> |
| Severity: | Blocker | ||
| Priority: | P5 - None | CC: | aschnell, coolo, koenig, mvidner, tgoettlicher |
| Version: | Beta 3 | ||
| Target Milestone: | --- | ||
| Hardware: | x86-64 | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: | YaST2 log | ||
|
Description
Petr Ostadal
2008-05-18 19:01:36 UTC
Created attachment 216244 [details]
YaST2 log
2008-05-18 19:14:05 <0> linux(3507) [libycp] ExecutionEnvironment.cc(pushframe):105 Push frame OpenDialog (`opt (`wizardDialog), `Wizard (`back, Label::BackButton (), `abort, Label::AbortButton (), `next, Label::NextButton ())) 2008-05-18 19:14:05 <0> linux(3507) [qt-ui] YQDialog.cc(chooseParent):118 Adding dialog to mainWinDock 2008-05-18 19:14:05 <0> linux(3507) [qt-ui] YQMainWinDock.cc(add):135 Adding dialog 0x1e756c0 to mainWinDock 2008-05-18 19:14:05 <0> linux(3507) [qt-ui] YQMainWinDock.cc(resizeVisibleChild):98 Resizing child dialog 0x1e756c0 to 1024 x 768 2008-05-18 19:14:05 <0> linux(3507) [qt-ui] YQMainWinDock.cc(resizeVisibleChild):91 wizard YWizard "YQWizard "Suggested Partitioning"" at 0x7bab68 0 2008-05-18 19:14:05 <0> linux(3507) [qt-ui] YQMainWinDock.cc(resizeVisibleChild):91 wizard YWizard "untitled YQWizard" at 0x29d3048 1 2008-05-18 19:14:05 <0> linux(3507) [qt-ui] YQMainWinDock.cc(resizeVisibleChild):98 Resizing child dialog 0x1e756c0 to 810 x 768 2008-05-18 19:14:05 <3> linux(3507) [liby2] genericfrontend.cc(log_stored_debug):75 End of suppressed debugging messages 2008-05-18 19:14:05 <3> linux(3507) [liby2] genericfrontend.cc(log_backtrace):97 Back trace: Frame 0: /usr/lib64/liby2.so.2 log_backtrace() Frame 1: /usr/lib64/liby2.so.2 signal_handler(int) Frame 2: /lib64/libc.so.6 [0x7ff38f176640] Frame 3: /usr/lib64/libQtCore.so.4 QObject::objectName() const Frame 4: /usr/lib64/YaST2/plugin/libpy2qt.so.2 QY2Styler::renderParent(QWidget*) Frame 5: /usr/lib64/YaST2/plugin/libpy2qt.so.2 QY2Styler::updateRendering(QWidget*) Frame 6: /usr/lib64/YaST2/plugin/libpy2qt.so.2 QY2Styler::eventFilter(QObject*, QEvent*) Frame 7: /usr/lib64/libQtCore.so.4 QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) Frame 8: /usr/lib64/libQtGui.so.4 QApplicationPrivate::notify_helper(QObject*, QEvent*) Frame 9: /usr/lib64/libQtGui.so.4 QApplication::notify(QObject*, QEvent*) Frame 10: /usr/lib64/libQtCore.so.4 QCoreApplication::notifyInternal(QObject*, QEvent*) Frame 11: /usr/lib64/libQtGui.so.4 QWidgetPrivate::show_helper() Frame 12: /usr/lib64/libQtGui.so.4 QWidget::setVisible(bool) Frame 13: /usr/lib64/libQtGui.so.4 QWidgetPrivate::showChildren(bool) Frame 14: /usr/lib64/libQtGui.so.4 QWidgetPrivate::show_helper() Frame 15: /usr/lib64/libQtGui.so.4 QWidget::setVisible(bool) Frame 16: /usr/lib64/YaST2/plugin/libpy2qt.so.2 YQDialog::setSize(int, int) Frame 17: /usr/lib64/YaST2/plugin/libpy2qt.so.2 YQDialog::resizeEvent(QResizeEvent*) Frame 18: /usr/lib64/libQtGui.so.4 QWidget::event(QEvent*) Frame 19: /usr/lib64/libQtGui.so.4 QApplicationPrivate::notify_helper(QObject*, QEvent*) Frame 20: /usr/lib64/libQtGui.so.4 QApplication::notify(QObject*, QEvent*) Frame 21: /usr/lib64/libQtCore.so.4 QCoreApplication::notifyInternal(QObject*, QEvent*) Frame 22: /usr/lib64/libQtGui.so.4 QWidgetPrivate::setGeometry_sys(int, int, int, int, bool) Frame 23: /usr/lib64/libQtGui.so.4 QWidget::setGeometry(QRect const&) Frame 24: /usr/lib64/YaST2/plugin/libpy2qt.so.2 YQMainWinDock::resizeVisibleChild() Frame 25: /usr/lib64/YaST2/plugin/libpy2qt.so.2 YQWizard::YQWizard(YWidget*, std::string const&, std::string const&, std::string const&, YWizardMode) Frame 26: /usr/lib64/YaST2/plugin/libpy2qt.so.2 YQOptionalWidgetFactory::createWizard(YWidget*, std::string const&, std::string const&, std::string const&, YWizardMode) Frame 27: /usr/lib64/YaST2/plugin/libpy2UI.so.2 YCPDialogParser::parseWizard(YWidget*, YWidgetOpt&, YCPTerm const&, YCPList const&, int) Frame 28: /usr/lib64/YaST2/plugin/libpy2UI.so.2 YCPDialogParser::parseWidgetTreeTerm(YWidget*, YWidgetOpt&, YCPTerm const&) Frame 29: /usr/lib64/YaST2/plugin/libpy2UI.so.2 YCPDialogParser::parseWidgetTreeTerm(YWidget*, YCPTerm const&) Frame 30: /usr/lib64/YaST2/plugin/libpy2UI.so.2 YCP_UI::OpenDialog(YCPTerm const&, YCPTerm const&) Frame 31: /usr/lib64/YaST2/plugin/libpy2UI.so.2 YUINamespace::OpenDialog(YCPTerm const&, YCPTerm const&) Frame 32: /usr/lib64/YaST2/plugin/libpy2UI.so.2 YUIFunction::evaluateCall_int() Frame 33: /usr/lib64/YaST2/plugin/libpy2UI.so.2 YCPBuiltinCaller::call() Frame 34: /usr/lib64/libyui.so.3 YUI::uiThreadMainLoop() Frame 35: /usr/lib64/libyui.so.3 start_ui_thread(void*) Frame 36: /lib64/libpthread.so.0 [0x7ff390370040] I've seen this exact backtrace before (also on x86_64 IIRC). Can this be a simple memory corruption? (Arvin? Valgrind?) Or a race condition on that architecture? (Coolo? Any known Qt issues?) It doesn't seem to be a generic problem with opening (Wizard) dialogs; several others before that worked without problem. see https://bugzilla.novell.com/show_bug.cgi?id=380290 - I tried for _hours_ to reproduce it ;( See also bug #381755 - same backtrace AFAICS See also 391947, sounds similar. I fail to reproduce any of that - does someone have a half way reproducible way that he could run under valgrind? No, the bug is somewhere in yast2-qt - the question is where. Stephan, could you describe, how can I run it under valgrind? (I don't know yast2 installation). I think I have same problem in alpha plus, but I thought that I did a lot of nonstandart things;). valgrind in an inst-sys is a bit more challenging than an average valgrind run... Basically, you'll have to set up an installation server, unpack the inst-sys there, add valgrind to that inst-sys (AFAICS valgrind doesn't need anything else), change the YaST2 start scripts so it calls y2base with valgrind, and then run an installation from that setup. It is not easy but one part got recently easier: use start_shell=1 to get bash before yast starts. Type "extend ../../suse/i586/valgrind-3.3.0-39.i586.rpm" (look up the exact path for B3). *** This bug has been marked as a duplicate of bug 391947 *** Reapeared with RC1 fixed for rc3 |