All of lore.kernel.org
 help / color / mirror / Atom feed
* 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.