* kconfig: qconf: SIGSEGV when clicking outside edit area
@ 2020-10-29 14:50 Boris Kolpackov
2020-11-02 3:07 ` Masahiro Yamada
0 siblings, 1 reply; 3+ messages in thread
From: Boris Kolpackov @ 2020-10-29 14:50 UTC (permalink / raw)
To: linux-kbuild
After the recent qconf interface changes I've stumbled on SIGSEGV
when clicking anywhere outside an active edit area. To reproduce,
try to create a new configuration and edit a non-boot/tristate
option (int in my case) with a default value. Then, while having
the edit box active, click anywhere outside it.
The stack trace I get is as follows. This is with Qt 5.5.1. Let
me know if you need any other information.
#0 0x0000000000000018 in ?? ()
#1 0x00007f93094cfb06 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#2 0x00007f93094e97e4 in QStyledItemDelegate::setModelData(QWidget*, QAbstractItemModel*, QModelIndex const&) const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#3 0x000000000040d343 in ConfigItemDelegate::setModelData (this=0xae42f0, editor=0xbf4140, model=0x8785f0, index=...) at /home/boris/work/build2/packaging/kconfig/kconfig/kconfig-qconf/qconf.cc:295
#4 0x00007f93094613ca in QAbstractItemView::commitData(QWidget*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#5 0x00007f9309461bc0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#6 0x00007f9309f2fc0a in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7 0x00007f93094aad7f in QAbstractItemDelegate::commitData(QWidget*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8 0x00007f93094ab514 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9 0x00007f9309f01052 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f930920103c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007f9309206516 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007f9309f0126b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007f9309204039 in QApplicationPrivate::setFocusWidget(QWidget*, Qt::FocusReason) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007f930923e72d in QWidget::setFocus(Qt::FocusReason) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007f93091fd9cc in QApplicationPrivate::giveFocusAccordingToFocusPolicy(QWidget*, QEvent*, QPoint) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007f9309208431 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007f9309f0126b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007f9309205b32 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007f930925e5bb in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007f9309260b7b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007f930920105c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007f9309206516 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007f9309f0126b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007f93098254e1 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#25 0x00007f93098271a5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#26 0x00007f930980af08 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#27 0x00007f930a290200 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#28 0x00007f93071a0197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007f93071a03f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007f93071a049c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007f9309f576af in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#32 0x00007f9309efea2a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#33 0x00007f9309f06acc in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#34 0x0000000000417102 in main (ac=3, av=0x7ffe4121eb08) at /home/boris/work/build2/packaging/kconfig/kconfig/kconfig-qconf/qconf.cc:1904
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: kconfig: qconf: SIGSEGV when clicking outside edit area
2020-10-29 14:50 kconfig: qconf: SIGSEGV when clicking outside edit area Boris Kolpackov
@ 2020-11-02 3:07 ` Masahiro Yamada
2020-11-02 14:50 ` Boris Kolpackov
0 siblings, 1 reply; 3+ messages in thread
From: Masahiro Yamada @ 2020-11-02 3:07 UTC (permalink / raw)
To: Boris Kolpackov; +Cc: Linux Kbuild mailing list
On Thu, Oct 29, 2020 at 11:50 PM Boris Kolpackov
<boris@codesynthesis.com> wrote:
>
> After the recent qconf interface changes I've stumbled on SIGSEGV
> when clicking anywhere outside an active edit area. To reproduce,
> try to create a new configuration and edit a non-boot/tristate
> option (int in my case) with a default value. Then, while having
> the edit box active, click anywhere outside it.
I cannot reproduce this problem.
For example,
I visited "General setup" -> "Default hostname".
I double-clicked "(none)", then
the edit box was activated.
I clicked outside of the edit box,
and the edit box got deactivated.
I saw no problem.
> The stack trace I get is as follows. This is with Qt 5.5.1. Let
> me know if you need any other information.
My Qt version 5.12.8
>
> #0 0x0000000000000018 in ?? ()
> #1 0x00007f93094cfb06 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #2 0x00007f93094e97e4 in QStyledItemDelegate::setModelData(QWidget*, QAbstractItemModel*, QModelIndex const&) const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #3 0x000000000040d343 in ConfigItemDelegate::setModelData (this=0xae42f0, editor=0xbf4140, model=0x8785f0, index=...) at /home/boris/work/build2/packaging/kconfig/kconfig/kconfig-qconf/qconf.cc:295
> #4 0x00007f93094613ca in QAbstractItemView::commitData(QWidget*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #5 0x00007f9309461bc0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #6 0x00007f9309f2fc0a in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
> #7 0x00007f93094aad7f in QAbstractItemDelegate::commitData(QWidget*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #8 0x00007f93094ab514 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #9 0x00007f9309f01052 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
> #10 0x00007f930920103c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #11 0x00007f9309206516 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #12 0x00007f9309f0126b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
> #13 0x00007f9309204039 in QApplicationPrivate::setFocusWidget(QWidget*, Qt::FocusReason) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #14 0x00007f930923e72d in QWidget::setFocus(Qt::FocusReason) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #15 0x00007f93091fd9cc in QApplicationPrivate::giveFocusAccordingToFocusPolicy(QWidget*, QEvent*, QPoint) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #16 0x00007f9309208431 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #17 0x00007f9309f0126b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
> #18 0x00007f9309205b32 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #19 0x00007f930925e5bb in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #20 0x00007f9309260b7b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #21 0x00007f930920105c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #22 0x00007f9309206516 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
> #23 0x00007f9309f0126b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
> #24 0x00007f93098254e1 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
> #25 0x00007f93098271a5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
> #26 0x00007f930980af08 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
> #27 0x00007f930a290200 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
> #28 0x00007f93071a0197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #29 0x00007f93071a03f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #30 0x00007f93071a049c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #31 0x00007f9309f576af in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
> #32 0x00007f9309efea2a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
> #33 0x00007f9309f06acc in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
> #34 0x0000000000417102 in main (ac=3, av=0x7ffe4121eb08) at /home/boris/work/build2/packaging/kconfig/kconfig/kconfig-qconf/qconf.cc:1904
--
Best Regards
Masahiro Yamada
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: kconfig: qconf: SIGSEGV when clicking outside edit area
2020-11-02 3:07 ` Masahiro Yamada
@ 2020-11-02 14:50 ` Boris Kolpackov
0 siblings, 0 replies; 3+ messages in thread
From: Boris Kolpackov @ 2020-11-02 14:50 UTC (permalink / raw)
To: Masahiro Yamada; +Cc: Linux Kbuild mailing list
[-- Attachment #1: Type: text/plain, Size: 843 bytes --]
Masahiro Yamada <masahiroy@kernel.org> writes:
> I cannot reproduce this problem.
>
>
> For example,
>
> I visited "General setup" -> "Default hostname".
>
> I double-clicked "(none)", then the edit box was activated.
>
> I clicked outside of the edit box, and the edit box got deactivated.
> I saw no problem.
Yes, I just tried that and I cannot reproduce it this way either. No
can I reproduce it with a minimal example with just one int option.
The attached Kconfig (from a "Hello, World" example I am writing),
however, reproduces it for me reliably:
$ rm .config
$ ENABLE_FANCY=y .../qconf Kconfig
Then, in the "Fancy options" select "Name fallback" and inside double
click on "Max times to ask for name" to activate the edit box. After
that, clicking anywhere outside of this edit box causes a SIGSEGV for
me. Can you try that?
[-- Attachment #2: Kconfig --]
[-- Type: text/plain, Size: 2145 bytes --]
menu "Basic options"
config IO
bool "IO support"
default y
help
Enable stdin/stdout input/output. Note that if this option is
disabled, then you won't see any output.
comment "IO disabled, no output will be shown"
depends on !IO
config PUNCT
string "End of greeting punctuation"
default "!"
help
Character for punctuating the end of the greeting sentence.
endmenu
menuconfig FANCY
bool "Fancy options"
default y
depends on $(ENABLE_FANCY)
help
Enable more fancy configuration options.
if FANCY
# GREETING_*
#
choice
prompt "Greeting"
default GREETING_HELLO
help
String to use as a greeting.
config GREETING_HELLO
bool "\"Hello\""
select GREETING_BUILTIN
config GREETING_HI
bool "\"Hi\""
select GREETING_BUILTIN
config GREETING_HOWDY
bool "\"Howdy\""
select GREETING_BUILTIN
config GREETING_CUSTOM
bool "Custom greeting"
endchoice
config GREETING_BUILTIN
bool
comment "Using builtin greeting string"
depends on GREETING_BUILTIN
config GREETING_TEXT
string "Custom greeting" if GREETING_CUSTOM
default "Hello" if GREETING_HELLO
default "Hi" if GREETING_HI
default "Howdy" if GREETING_HOWDY
help
Custom string to use as a greeting.
# NAME_*
#
choice NAME_FALLBACK
bool "Name fallback"
optional
help
Fallback name to use if it is unspecified on the command line.
config NAME_ASK
bool "Ask for name"
depends on IO
help
Ask for the name to greet if it is unspecified on the command line.
config NAME_DEF
bool "Use default name"
help
Use the default name to greet if it is unspecified on the command
line.
endchoice
config NAME_ASK_MAX
int "Max times to ask for name"
default 5
range 1 10
depends on NAME_ASK
help
Maximum number of times to ask for the name to greet.
endif # menuconfig FANCY
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-11-02 14:51 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-29 14:50 kconfig: qconf: SIGSEGV when clicking outside edit area Boris Kolpackov
2020-11-02 3:07 ` Masahiro Yamada
2020-11-02 14:50 ` Boris Kolpackov
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.