#976 Segfault with geany

v1.22
open
nobody
Segfault (2)
5
2013-07-09
2013-07-07
Tellier
No

I succeded into making a segfault with geany.

I'm using geany 1.22 and GTK 2.24.17 under KDE. The problem also appears under Unity. I didn't tested it under other desktop environement but I thik it should also works.

Before all I should appologize : I'm using a french computer so the name of the different menus or buttons I will give you will probably not be exact.

You simply have to search an expression in a page. At the end of this search a pop up asking if you want to search again appears. Now you have to close the page you were reading ( by using the top rigth cross button under KDE or the menu under Unity or KDE). The pop up is still opened. Just click on "search again". And the programm should now segfault.

Related

Bugs: #976

Discussion

  • Tellier
    Tellier
    2013-07-07

    I apologize for a so long title... It was "Segfault with geany" but was cutted into "ith geany"... So sad...

     
  • Tellier
    Tellier
    2013-07-07

    Here is the backtrace... Sorry I didn't compile it with debug :)

    (gdb) bt
    0 0x000000000045e37e in document_find_text ()
    1 0x00000000004944b5 in ?? ()
    2 0x00007ffff65da620 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    3 0x00007ffff65ebf00 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    4 0x00007ffff65f2e3b in g_signal_emitv () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    5 0x00007ffff7823a31 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    6 0x00007ffff7823f21 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    7 0x00007ffff7824172 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    8 0x00007ffff782508d in gtk_bindings_activate_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    9 0x00007ffff786be83 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    10 0x00007ffff78d7929 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    11 0x00007ffff65da55e in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    12 0x00007ffff65ebaf8 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    13 0x00007ffff65f3996 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    14 0x00007ffff65f3f92 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    15 0x00007ffff79f0d9e in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    16 0x00007ffff7a057cb in gtk_window_propagate_key_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    17 0x00007ffff7a0817b in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    18 0x00007ffff78d7929 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    19 0x00007ffff65da620 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    20 0x00007ffff65ebaf8 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    21 0x00007ffff65f3996 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    22 0x00007ffff65f3f92 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
    23 0x00007ffff79f0d9e in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    24 0x00007ffff78d5d77 in gtk_propagate_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    25 0x00007ffff78d600b in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
    26 0x00007ffff754accc in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
    27 0x00007ffff6112f05 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
    28 0x00007ffff6113248 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
    29 0x00007ffff61136ba in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
    30 0x00007ffff78d4fe7 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0

     
    Last edit: Tellier 2013-07-09
  • Lex Trotman
    Lex Trotman
    2013-07-08

    Cannot repeat with Gnome or Cinnamon desktops because the dialog is modal.

    This appears therefore to be a problem where the KDE and Unity window systems are not respecting modality properly. Unfortunately can't test those.

    There is a patch at https://github.com/geany/geany/pull/152 which tries to set modality explicitly even though it should not be needed. Could you apply the change to your 1.22 to test it. Since its only one line, you probably can just edit it manually :)

     
  • Matthew Brush
    Matthew Brush
    2013-07-08

    • summary: ith geany --> Segfault with geany
     
  • Tellier
    Tellier
    2013-07-08

    Yes, it is not the case on gnome... It is impossible to close the window while the pop up is still present...

    I would test it as soon as possible :)

     
  • Tellier
    Tellier
    2013-07-08

    Well I compiled it from sources...

    On KDE, it seems to work, but it is quitte strange :

    I have no more segfault. But the behaviour is not the same in two cases: if I closed a document before, or if I didn't.

    In the first case, it is simply impossible to access to the menus or to click the top right cross while the pop up is present, so I can't close the document before closing the pop up...

    In the second case, I am abled to close the document but it doesn't triggered a segmentation fault.

     
  • Tellier
    Tellier
    2013-07-08

    But I still have the problem on unity... It is still possible to close the document, and it triggered a segfault :(

     
  • Lex Trotman
    Lex Trotman
    2013-07-08

    On 8 July 2013 17:44, Tellier benwattt@users.sf.net wrote:

    Well I compiled it from sources...

    On KDE, it seems to work, but it is quitte strange :

    I have no more segfault. But the behaviour is not the same in two cases:
    if I closed a document before, or if I didn't.

    Not sure what you mean by two cases, can you provide the exact sequence of
    operations for each case?

    In the first case, it is simply impossible to access to the menus or to
    click the top right cross while the pop up is present, so I can't close the
    document before closing the pop up...

    That is correct behaviour.

    In the second case, I am abled to close the document but it doesn't
    triggered a segmentation fault.

    What have you done differently to the above case?


    Status: open
    Labels: Segfault
    Created: Sun Jul 07, 2013 10:48 PM UTC by Tellier
    Last Updated: Mon Jul 08, 2013 05:42 AM UTC
    Owner: nobody

    I succeded into making a segfault with geany.

    I'm using geany 1.22 and GTK 2.24.17 under KDE. The problem also appears
    under Unity. I didn't tested it under other desktop environement but I thik
    it should also works.

    Before all I should appologize : I'm using a french computer so the name
    of the different menus or buttons I will give you will probably not be
    exact.

    You simply have to search an expression in a page. At the end of this
    search a pop up asking if you want to search again appears. Now you have to
    close the page you were reading ( by using the top rigth cross button under
    KDE or the menu under Unity or KDE). The pop up is still opened. Just click
    on "search again". And the programm should now segfault.


    Sent from sourceforge.net because you indicated interest in
    https://sourceforge.net/p/geany/bugs/976/

    To unsubscribe from further messages, please visit
    https://sourceforge.net/auth/subscriptions/

     

    Related

    Bugs: #976

  • Tellier
    Tellier
    2013-07-09

    I maintain what I said for KDE

    First manipulation :

    • Open several document.
    • Don't close one or search something
    • Ctrl + f => search something
    • When finished the famous pop -up appears
    • Closing the document in which you were searching something is now impossible

    Second manipulation :

    • Open at least three documents
    • Close one
    • Ctrl + f => search something
    • When finished the famous pop -up appears
    • I can close the pop up but it doesn't trigger a segmantation fault
      (you need these exact steps)

    Note : If I search something somewhere and close the search window, the behaviour is the first one...

    Moreover, it didn't solved the problem on unity. The fact that we can't use the top right cross to close the document, but that we can use the menus, let me think that the problem on unity is due to the strange behaviour of this menu system (always accessible in Unity?).

     
  • Lex Trotman
    Lex Trotman
    2013-07-09

    On 9 July 2013 17:26, Tellier benwattt@users.sf.net wrote:

    I maintain what I said for KDE

    First manipulation :

    • Open several document.
    • Don't close one or search something
    • Ctrl + f => search something
    • When finished the famous pop -up appears
    • Closing the document in which you were searching something is now
      impossible

    While the pop-up is open it should not be possible to do anything other
    than close the popup. That is the correct behaviour, so it seems the
    change works for KDE.

    Second manipulation :

    • Open at least three documents
    • Close one
    • Ctrl + f => search something
    • When finished the famous pop -up appears
    • I can close the pop up but it doesn't trigger a segmantation fault
      (you need these exact steps)

    Closing the popup should not cause a crash, so thats fine too.

    -

    Note : If I search something somewhere and close the search window, the
    behaviour is the first one...

    Moreover, it didn't solved the problem on unity. The fact that we can't
    use the top right cross to close the document, but that we can use the
    menus, let me think that the problem on unity is due to the strange
    behaviour of this menu system (always accessible in Unity?).

    I think you are correct, if Unity allows you to use the menu even if the
    popup is open, then that is a problem with unity, since it is being told by
    Geany not to allow that. Geany is written on the assumption that GUI
    operations cannot take place whilst the popup is open, since it tells the
    window manager not to allow it. It is unlikely that this will be changed.
    Also Geany is unlikely to perform the lockout itself since it would
    require Geany to duplicate the menu lockout functionality that already
    exists in GTK, just for a rogue window manager.

    You could try logging a bug report on Unity and see if they fix it.

    [...]

     
    • Matthew Brush
      Matthew Brush
      2013-07-09

      The Unity issue sounds like this bug:
      https://bugs.launchpad.net/indicator-appmenu/+bug/674605

      Which, like you said makes sense, since as far as I can tell Unity literally hijacks the main menu out of the application and places it into a whole other process (probably making it impossible for modal dialog to ever work correctly with this menu), by means of patching the GTK+ library on Ubuntu to support this.

      As for KDE, it sounds like correct behaviour if I understand your description correctly, but I have doubts about whether setting the window to be modal when it's already getting set modal anyway is fixing anything (barring some bug inside GTK+).

      Can you confirm what sources you compiled when you said "Well I compiled it from sources..."? Are you manually patching the sources from 1.22 from your distro or are using latest Git from the pull request Lex linked to? I'm just wondering if something (seemingly) unrelated that changed between versions like this (just as an example) could be the reason for no longer having a segfault, if you are going from 1.22 to 1.24/Git.