* Re: qconf: reproducible segfault
2007-01-03 21:00 qconf: reproducible segfault Bauke Jan Douma
@ 2007-01-03 21:35 ` Randy Dunlap
2007-01-04 0:32 ` Alessandro Suardi
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Randy Dunlap @ 2007-01-03 21:35 UTC (permalink / raw)
To: bjdouma; +Cc: linux-kernel
On Wed, 03 Jan 2007 22:00:22 +0100 Bauke Jan Douma wrote:
>
> Not a big deal (I just discovered 'make gconfig'), but I'm experiencing
> a reproducible segfault in 'make xconfig', i.e. qconf.
>
> I was wondering if anyone else can reproduce this:
Yes.
> 1. QTDIR=/usr/local/lib/qt make xconfig
> mine by default has all qconf options OFF ('Show Name', 'Show Range',
> 'Show Data', 'Show All Options', 'Show Debug Info')
>
> 2. from the kernel options, select:
> Networking / Networking options / Network packet filtering (replaces ipchains)
>
> 3. from the qconf options, now select 'Show Debug Info'
> voila -> segfault
>
>
> This is with qt-3.3.3:
>
> ldd /usr/src/linux-2.6.19.1/scripts/kconfig/qconf
> linux-gate.so.1 => (0xffffe000)
> libqt-mt.so.3 => /usr/local/lib/qt/lib/libqt-mt.so.3 (0xb76c2000)
> libdl.so.2 => /lib/libdl.so.2 (0xb76ad000)
> libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb75c9000)
> libm.so.6 => /lib/libm.so.6 (0xb75a4000)
> libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb7598000)
> libc.so.6 => /lib/libc.so.6 (0xb746f000)
> libpng.so.3 => /usr/local/lib/libpng.so.3 (0xb7449000)
> libz.so.1 => /lib/libz.so.1 (0xb7435000)
> libGL.so.1 => /usr/lib/libGL.so.1 (0xb73a9000)
> libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0xb7393000)
> libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0xb738b000)
> libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0xb7387000)
> libXcursor.so.1 => /usr/X11R6/lib/libXcursor.so.1 (0xb737e000)
> libXinerama.so.1 => /usr/X11R6/lib/libXinerama.so.1 (0xb737b000)
> libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0xb7369000)
> libfreetype.so.6 => /usr/local/lib/libfreetype.so.6 (0xb72e4000)
> libfontconfig.so.1 => /usr/local/lib/libfontconfig.so.1 (0xb72a6000)
> libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0xb7298000)
> libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb71cb000)
> libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0xb71c2000)
> libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0xb71aa000)
> libpthread.so.0 => /lib/libpthread.so.0 (0xb7192000)
> /lib/ld-linux.so.2 (0xb7f1b000)
> libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0xb690c000)
> libnvidia-tls.so.1 => /usr/lib/tls/libnvidia-tls.so.1 (0xb690a000)
> libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0xb68b8000)
> libexpat.so.0 => /usr/local/lib/libexpat.so.0 (0xb688c000)
> libiconv.so.2 => /lib/libiconv.so.2 (0xb67b1000)
>
> First I thought qconf window geometry and maybe font would make a
> telling difference here, but I can resize the window all I want and
> change fonts any which way I can, but the segfault persists.
>
> FWIW, my initial geometry is 957x843, font is usually LuciduxSans 7.
>
> Strace output didn't provide much of an apparent clue, just the
> SIGSEGV.
>
> Oh, kernel is 2.6.19.1 -- not important I'd say.
Here's thd gdb backtrace:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47045179778192 (LWP 8553)]
0x0000000000422031 in ConfigInfoView::symbolInfo ()
(gdb) bt
#0 0x0000000000422031 in ConfigInfoView::symbolInfo ()
#1 0x00000000004223bf in ConfigInfoView::setShowDebug ()
#2 0x000000000042257c in ConfigInfoView::qt_invoke ()
#3 0x00002ac98d24f79c in QObject::activate_signal ()
from /usr/lib64/libqt-mt.so.3
#4 0x00002ac98d24ff40 in QObject::activate_signal_bool ()
from /usr/lib64/libqt-mt.so.3
#5 0x00002ac98d36e7a5 in QAction::internalActivation ()
from /usr/lib64/libqt-mt.so.3
#6 0x00002ac98d54c9b3 in QAction::qt_invoke () from /usr/lib64/libqt-mt.so.3
#7 0x00002ac98d24f79c in QObject::activate_signal ()
from /usr/lib64/libqt-mt.so.3
#8 0x00002ac98d531628 in QSignal::signal () from /usr/lib64/libqt-mt.so.3
#9 0x00002ac98d2682a5 in QSignal::activate () from /usr/lib64/libqt-mt.so.3
#10 0x00002ac98d33c6e5 in QPopupMenu::mouseReleaseEvent ()
from /usr/lib64/libqt-mt.so.3
#11 0x00002ac98d282657 in QWidget::event () from /usr/lib64/libqt-mt.so.3
#12 0x00002ac98d1f8975 in QApplication::internalNotify ()
from /usr/lib64/libqt-mt.so.3
#13 0x00002ac98d1f978b in QApplication::notify () from /usr/lib64/libqt-mt.so.3
#14 0x00002ac98d1a197d in QETWidget::translateMouseEvent ()
from /usr/lib64/libqt-mt.so.3
#15 0x00002ac98d1a02a3 in QApplication::x11ProcessEvent ()
from /usr/lib64/libqt-mt.so.3
#16 0x00002ac98d1af22f in QEventLoop::processEvents ()
from /usr/lib64/libqt-mt.so.3
#17 0x00002ac98d20d691 in QEventLoop::enterLoop () from /usr/lib64/libqt-mt.so.3
#18 0x00002ac98d20d53a in QEventLoop::exec () from /usr/lib64/libqt-mt.so.3
#19 0x0000000000426053 in main ()
---
~Randy
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: qconf: reproducible segfault
2007-01-03 21:00 qconf: reproducible segfault Bauke Jan Douma
2007-01-03 21:35 ` Randy Dunlap
@ 2007-01-04 0:32 ` Alessandro Suardi
2007-01-04 9:42 ` Cyrill V. Gorcunov
2007-01-04 17:14 ` Cyrill V. Gorcunov
3 siblings, 0 replies; 7+ messages in thread
From: Alessandro Suardi @ 2007-01-04 0:32 UTC (permalink / raw)
To: bjdouma; +Cc: linux-kernel
On 1/3/07, Bauke Jan Douma <bjdouma@xs4all.nl> wrote:
>
> Not a big deal (I just discovered 'make gconfig'), but I'm experiencing
> a reproducible segfault in 'make xconfig', i.e. qconf.
>
> I was wondering if anyone else can reproduce this:
>
> 1. QTDIR=/usr/local/lib/qt make xconfig
> mine by default has all qconf options OFF ('Show Name', 'Show Range',
> 'Show Data', 'Show All Options', 'Show Debug Info')
>
> 2. from the kernel options, select:
> Networking / Networking options / Network packet filtering (replaces ipchains)
>
> 3. from the qconf options, now select 'Show Debug Info'
> voila -> segfault
>
>
> This is with qt-3.3.3:
I can't reproduce it with FC6's current qt-devel in 2.6.20-rc3-git3...
but point 2 is in my tree
Networking / Networking options / Network packet filtering framework (Netfilter)
hmm, curious - let me download 2.6.19.1 and apply it... ok, now I see
your point 2, but I still can't reproduce the problem (Show Debug Info
does indeed show, well, debug information).
[root@sandman ~]# rpm -q qt-devel
qt-devel-3.3.7-0.1.fc6
> ldd /usr/src/linux-2.6.19.1/scripts/kconfig/qconf
> linux-gate.so.1 => (0xffffe000)
> libqt-mt.so.3 => /usr/local/lib/qt/lib/libqt-mt.so.3 (0xb76c2000)
> libdl.so.2 => /lib/libdl.so.2 (0xb76ad000)
> libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb75c9000)
> libm.so.6 => /lib/libm.so.6 (0xb75a4000)
> libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb7598000)
> libc.so.6 => /lib/libc.so.6 (0xb746f000)
> libpng.so.3 => /usr/local/lib/libpng.so.3 (0xb7449000)
> libz.so.1 => /lib/libz.so.1 (0xb7435000)
> libGL.so.1 => /usr/lib/libGL.so.1 (0xb73a9000)
> libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0xb7393000)
> libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0xb738b000)
> libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0xb7387000)
> libXcursor.so.1 => /usr/X11R6/lib/libXcursor.so.1 (0xb737e000)
> libXinerama.so.1 => /usr/X11R6/lib/libXinerama.so.1 (0xb737b000)
> libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0xb7369000)
> libfreetype.so.6 => /usr/local/lib/libfreetype.so.6 (0xb72e4000)
> libfontconfig.so.1 => /usr/local/lib/libfontconfig.so.1 (0xb72a6000)
> libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0xb7298000)
> libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb71cb000)
> libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0xb71c2000)
> libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0xb71aa000)
> libpthread.so.0 => /lib/libpthread.so.0 (0xb7192000)
> /lib/ld-linux.so.2 (0xb7f1b000)
> libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0xb690c000)
> libnvidia-tls.so.1 => /usr/lib/tls/libnvidia-tls.so.1 (0xb690a000)
> libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0xb68b8000)
> libexpat.so.0 => /usr/local/lib/libexpat.so.0 (0xb688c000)
> libiconv.so.2 => /lib/libiconv.so.2 (0xb67b1000)
>
> First I thought qconf window geometry and maybe font would make a
> telling difference here, but I can resize the window all I want and
> change fonts any which way I can, but the segfault persists.
I guess you'll have to try a more recent qt-devel version :)
> FWIW, my initial geometry is 957x843, font is usually LuciduxSans 7.
>
> Strace output didn't provide much of an apparent clue, just the
> SIGSEGV.
>
> Oh, kernel is 2.6.19.1 -- not important I'd say.
>
> Thanks for your time.
Ciao,
--alessandro
"but I thought that I should let you know
the things that I don't always show
might not be worth the time it took"
(Steve Wynn, 'If My Life Was An Open Book')
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: qconf: reproducible segfault
2007-01-03 21:00 qconf: reproducible segfault Bauke Jan Douma
2007-01-03 21:35 ` Randy Dunlap
2007-01-04 0:32 ` Alessandro Suardi
@ 2007-01-04 9:42 ` Cyrill V. Gorcunov
[not found] ` <5a4c581d0701041316w83d1564rac875a1d4e0ef87a@mail.gmail.com>
2007-01-04 17:14 ` Cyrill V. Gorcunov
3 siblings, 1 reply; 7+ messages in thread
From: Cyrill V. Gorcunov @ 2007-01-04 9:42 UTC (permalink / raw)
To: alessandro.suardi; +Cc: kernel list
Hi,
there is SIGSEGV happens in qconf.cc:995
str += print_filter(sym->name);
but sym points to 0x1. To reproduce the error just do:
1) make xconfig (with Options->Show Debug Info unchecked)
2) go to Networking->Networking Options->Network packet filtering framework (Netfilter)->
Network packet filtering framework (Netfilter) and the line "<| .." must be selected
then just turn on Options->Show Debug info menu and you'll get:
make[1]: *** [xconfig] Segmentation fault
make: *** [xconfig] Error 2
gdb shows:
Program received signal SIGSEGV, Segmentation fault.
0x08069834 in ConfigInfoView::symbolInfo (this=0x85ae750) at qconf.cc:995
(gdb) bt
#0 0x08069834 in ConfigInfoView::symbolInfo (this=0x85ae750) at qconf.cc:995
#1 0x080696a9 in ConfigInfoView::setShowDebug (this=0x85ae750, b=true)
at qconf.cc:946
#2 0x080648bf in ConfigInfoView::qt_invoke (this=0x85ae750, _id=161,
_o=0xbfc56ea0) at qconf.moc:544
#3 0xb7a5b1cc in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#4 0xb7a5b800 in QObject::activate_signal_bool ()
from /usr/qt/3/lib/libqt-mt.so.3
#5 0xb7dbd44b in QAction::toggled () from /usr/qt/3/lib/libqt-mt.so.3
#6 0xb7ba0876 in QAction::setOn () from /usr/qt/3/lib/libqt-mt.so.3
#7 0xb7ba0a94 in QAction::internalActivation ()
from /usr/qt/3/lib/libqt-mt.so.3
#8 0xb7dbd544 in QAction::qt_invoke () from /usr/qt/3/lib/libqt-mt.so.3
#9 0xb7a5b1cc in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#10 0xb7d9cc7a in QSignal::signal () from /usr/qt/3/lib/libqt-mt.so.3
#11 0xb7a753bd in QSignal::activate () from /usr/qt/3/lib/libqt-mt.so.3
#12 0xb7b62c09 in QPopupMenu::mouseReleaseEvent ()
from /usr/qt/3/lib/libqt-mt.so.3
#13 0xb7a915b7 in QWidget::event () from /usr/qt/3/lib/libqt-mt.so.3
#14 0xb79fe9df in QApplication::internalNotify ()
from /usr/qt/3/lib/libqt-mt.so.3
#15 0xb79fde44 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3
#16 0xb79937c1 in QETWidget::translateMouseEvent ()
from /usr/qt/3/lib/libqt-mt.so.3
#17 0xb7991835 in QApplication::x11ProcessEvent ()
from /usr/qt/3/lib/libqt-mt.so.3
#18 0xb79a8bb4 in QEventLoop::processEvents ()
from /usr/qt/3/lib/libqt-mt.so.3
#19 0xb7a10d18 in QEventLoop::enterLoop () from /usr/qt/3/lib/libqt-mt.so.3
#20 0xb7a10bc8 in QEventLoop::exec () from /usr/qt/3/lib/libqt-mt.so.3
#21 0xb79fec31 in QApplication::exec () from /usr/qt/3/lib/libqt-mt.so.3
#22 0x08074453 in main (ac=2, av=0xbfc57ac4) at qconf.cc:1736
(gdb) p sym
$20 = (symbol *) 0x1
I'm investigating this...
--
- Cyrill
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: qconf: reproducible segfault
2007-01-03 21:00 qconf: reproducible segfault Bauke Jan Douma
` (2 preceding siblings ...)
2007-01-04 9:42 ` Cyrill V. Gorcunov
@ 2007-01-04 17:14 ` Cyrill V. Gorcunov
2007-01-04 17:15 ` Randy Dunlap
3 siblings, 1 reply; 7+ messages in thread
From: Cyrill V. Gorcunov @ 2007-01-04 17:14 UTC (permalink / raw)
To: bjdouma; +Cc: kernel list, Randy Dunlap
[-- Attachment #1: Type: text/plain, Size: 87 bytes --]
Please try patch I've enveloped. And write me does it fix your problem?
--
- Cyrill
[-- Attachment #2: patch.diff --]
[-- Type: text/x-diff, Size: 1230 bytes --]
diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc
index 0b2fcc4..0694d1d 100644
--- a/scripts/kconfig/qconf.cc
+++ b/scripts/kconfig/qconf.cc
@@ -925,6 +925,8 @@ ConfigInfoView::ConfigInfoView(QWidget* parent, const char *name)
configSettings->endGroup();
connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings()));
}
+
+ has_dbg_info = 0;
}
void ConfigInfoView::saveSettings(void)
@@ -953,10 +955,13 @@ void ConfigInfoView::setInfo(struct menu *m)
if (menu == m)
return;
menu = m;
- if (!menu)
+ if (!menu) {
+ has_dbg_info = 0;
clear();
- else
+ } else {
+ has_dbg_info = 1;
menuInfo();
+ }
}
void ConfigInfoView::setSource(const QString& name)
@@ -991,6 +996,9 @@ void ConfigInfoView::symbolInfo(void)
{
QString str;
+ if (!has_dbg_info)
+ return;
+
str += "<big>Symbol: <b>";
str += print_filter(sym->name);
str += "</b></big><br><br>value: ";
diff --git a/scripts/kconfig/qconf.h b/scripts/kconfig/qconf.h
index 6fc1c5f..a397edb 100644
--- a/scripts/kconfig/qconf.h
+++ b/scripts/kconfig/qconf.h
@@ -273,6 +273,8 @@ protected:
struct symbol *sym;
struct menu *menu;
bool _showDebug;
+
+ int has_dbg_info;
};
class ConfigSearchWindow : public QDialog {
^ permalink raw reply related [flat|nested] 7+ messages in thread