bugPSPP - Bugs: bug #58349, Goto Variable via menu crashes...

 
 

bug #58349: Goto Variable via menu crashes psppire

Submitter:  Friedrich Beckmann <beckmanf>
Submitted:  Mon 11 May 2020 07:58:20 AM UTC
   
 
Category:  Sheet Severity:  5 - Average
Status:  Invalid Assigned to:  None
Open/Closed:  Closed Release:  None
Effort:  0.00
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Sun 07 Jun 2020 08:45:23 PM UTC, comment #9: 

This doesn't necessarily mean that it is a bug in Wayland, nor that it isn't a bug in pspp.

It could be a pspp bug which, for some reason only manifests itself under Wayland.

So if any more information comes to light, then please re-open this item.

Thanks.

John Darrington <jmd>
Group administrator
Sun 07 Jun 2020 07:13:44 PM UTC, comment #8: 

John, you are the man! I switched to Gnome with Xorg and the problem is gone. So I guess the problem is related to wayland.

Friedrich Beckmann <beckmanf>
Group Member
Sun 07 Jun 2020 03:06:29 PM UTC, comment #7: 

One difference I immediately see, is that you are using Wayland, so perhaps it is a Wayland problem. (I'm using X11)

I also see that you are getting some G-Criticals, (which I am not).

Can you try to find the cause of the G-Criticals and/or G-Warnings?


One way to do this is to place  a breakpoint on g_log


John Darrington <jmd>
Group administrator
Sun 07 Jun 2020 02:57:31 PM UTC, comment #6: 

Here is a stack from the debugger:


Gdk-Message: 16:54:03.300: Unable to load sizing from the cursor theme

(psppire:86482): GLib-GObject-WARNING **: 16:54:09.798: instance with invalid (NULL) class pointer

(psppire:86482): GLib-GObject-CRITICAL **: 16:54:09.798: g_signal_emit_by_name: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(psppire:86482): GLib-GObject-CRITICAL **: 16:54:09.798: g_object_get: assertion 'G_IS_OBJECT (object)' failed
free(): invalid pointer

Thread 1 "psppire" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50        ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff686d55b in __GI_abort () at abort.c:79
#2  0x00007ffff68c6038 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff69d2f3e "%s\n")
    at ../sysdeps/posix/libc_fatal.c:181
#3  0x00007ffff68cd3da in malloc_printerr (str=str@entry=0x7ffff69d10e0 "free(): invalid pointer")
    at malloc.c:5339
#4  0x00007ffff68cedcc in _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:4173
#5  0x00007ffff0888fc1 in  () at /usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-wayland.so
#6  0x00007ffff5b44ccd in  () at /lib/x86_64-linux-gnu/libffi.so.7
#7  0x00007ffff5b4425a in  () at /lib/x86_64-linux-gnu/libffi.so.7
#8  0x00007ffff5e241c0 in  () at /lib/x86_64-linux-gnu/libwayland-client.so.0
#9  0x00007ffff5e20ad8 in  () at /lib/x86_64-linux-gnu/libwayland-client.so.0
#10 0x00007ffff5e2208c in wl_display_dispatch_queue_pending () at /lib/x86_64-linux-gnu/libwayland-client.so.0
#11 0x00007ffff73a8b64 in  () at /lib/x86_64-linux-gnu/libgdk-3.so.0
#12 0x00007ffff7346c50 in gdk_display_get_event () at /lib/x86_64-linux-gnu/libgdk-3.so.0
#13 0x00007ffff73a8862 in  () at /lib/x86_64-linux-gnu/libgdk-3.so.0
#14 0x00007ffff6fb460d in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007ffff6fb4890 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007ffff6fb491f in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007ffff721405d in g_application_run () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#18 0x00005555555805c5 in main (argc=1, argv=0x7fffffffe218) at ../pspp/src/ui/gui/main.c:404
(gdb)


Friedrich Beckmann <beckmanf>
Group Member
Sun 07 Jun 2020 01:48:37 PM UTC, comment #5: 

Even after following your instructions to the letter (but with different software versions) I cannot reproduce the problem.

Perhaps you can try to get a stack trace. Then maybe I can take an educated guess at what the cause might be.

John Darrington <jmd>
Group administrator
Sun 07 Jun 2020 11:28:28 AM UTC, comment #4: 

comment #3:

> I cannot reproduce this problem.


It is important to create the variables by typing a,b,c in the variable name column. The bug is not there if you introduce the variables by clicking on the add variable icon. I see the bug on 1.2.0-5 on debian unstable with gtk3 3.24.20-1 and on masters version

Friedrich Beckmann <beckmanf>
Group Member
Sat 06 Jun 2020 01:00:54 PM UTC, comment #3: 

I cannot reproduce this problem.

John Darrington <jmd>
Group administrator
Mon 01 Jun 2020 05:50:39 AM UTC, comment #2: 

Some more test on this. If you open the output view window by executing some simple syntax in the syntax window, then this inhibits the crash in the "Goto Variables" dialog window.

  1. New->Syntax
  2. Type 'echo "Hello"'
  3. Execute->All. This opens the output view window


If you now open the "Goto Variable" dialog and do the steps as described below, then psppire does not crash.

Friedrich Beckmann <beckmanf>
Group Member
Sun 31 May 2020 11:25:11 PM UTC, comment #1: 

Hi John,

i worked a bit on debugging this but without success so far. I figured out that it is related to the variable content display inside the dialog which contains an output viewer. If I disable the execute syntax, then there is no crash. If I keep the syntax but I avoid adding the display widget as a result of the syntax execution by returning directly after the start of the function psppire_output_view_put here:

http://git.savannah.gnu.org/cgit/pspp.git/tree/src/ui/gui/psppire-output-view.c?id=e870838d34e5e0133997434d27035054c605fb4f#n308

then there is also no crash.

Friedrich Beckmann <beckmanf>
Group Member
Mon 11 May 2020 07:58:20 AM UTC, original submission:  

With the git versions at

pspp: b92aaf901395c7257de (current master 11.5.2020)
ssw: ccfd68ff302bab44d43160 (current master - not fix-var-delete branch 11.5.20)
or
ssw: 26958acc364bdd2a8a7b25 (fix-var-delete patch)

On Debian bullseye you can crash psppire. To reproduce

1. Open psppire
2. In the variable view select column 1, row 1 (name field) and type a <RETURN>, b <RETURN>, c <RETURN> to create three variables a,b,c
3. Choose menu: (Edit -> Goto Variable)
4. Choose variable b from the dialog and push "Goto" button.

=> psppire crashes with "free(): invalid pointer"


Friedrich Beckmann <beckmanf>
Group Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by jmd (Posted a comment)
  • -email is unavailable- added by beckmanf (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2020-06-07 beckmanf StatusCannot Reproduce Invalid
        Open/ClosedOpen Closed
    2020-06-06 jmd StatusNone Cannot Reproduce

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code