bug-gnu-pspp
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

PSPP-BUG: [bug #40380] Crash when opening files from directory with no w


From: Ben Pfaff
Subject: PSPP-BUG: [bug #40380] Crash when opening files from directory with no write permission
Date: Sun, 27 Oct 2013 20:36:29 +0000
User-agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130917 Firefox/17.0 Iceweasel/17.0.9

Follow-up Comment #2, bug #40380 (project pspp):

Valgrind shows that the underlying problem is that output drivers are being
entered recursively:


==30797== Invalid read of size 4
==30797==    at 0x40FC140: output_driver_destroy (driver.c:176)
==30797==    by 0x40FD83D: journal_output (journal.c:95)
==30797==    by 0x40FBD73: output_submit__ (driver.c:102)
==30797==    by 0x40FBEAC: output_submit (driver.c:139)
==30797==    by 0x4104A4A: text_item_submit (text-item.c:90)
==30797==    by 0x4051729: cmd_parse_in_state (command.c:249)
==30797==    by 0x4051D98: cmd_parse (command.c:163)
==30797==    by 0x808C7EC: execute_syntax (executor.c:135)
==30797==    by 0x809B4FA: load_file (psppire-data-window.c:361)
==30797==    by 0x80BCCB3: psppire_window_load (psppire-window.c:674)
==30797==    by 0x809C030: open_data_window (psppire-data-window.c:1374)
==30797==    by 0x809C127: on_recent_data_select (psppire-data-window.c:755)
==30797==    by 0x4C17C56: g_cclosure_marshal_VOID__VOIDv (gmarshal.c:115)
==30797==    by 0x4C16120: _g_closure_invoke_va (gclosure.c:840)
==30797==    by 0x4C2F278: g_signal_emit_valist (gsignal.c:3211)
==30797==    by 0x4C2FCD2: g_signal_emit (gsignal.c:3356)
==30797==    by 0x442C871: gtk_menu_shell_activate_item (gtkmenushell.c:1260)
==30797==    by 0x442CC38: gtk_menu_shell_button_release (gtkmenushell.c:683)
==30797==    by 0x4421010: gtk_menu_button_release (gtkmenu.c:3043)
==30797==    by 0x627800F: ???
==30797==  Address 0x5e3e06c is 4 bytes inside a block of size 20 free'd
==30797==    at 0x402850C: free (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==30797==    by 0x40FD5EB: journal_destroy (journal.c:80)
==30797==    by 0x40FC15C: output_driver_destroy (driver.c:180)
==30797==    by 0x40FD83D: journal_output (journal.c:95)
==30797==    by 0x40FD8D9: journal_submit (journal.c:128)
==30797==    by 0x40FBD73: output_submit__ (driver.c:102)
==30797==    by 0x40FE1EA: message_item_submit (message-item.c:60)
==30797==    by 0x808FC29: handle_msg (psppire.c:395)
==30797==    by 0x419B636: ship_message (message.c:283)
==30797==    by 0x419BBDD: msg_emit (message.c:326)
==30797==    by 0x419BD4B: msg_error (message.c:100)
==30797==    by 0x40FD835: journal_output (journal.c:93)
==30797==    by 0x40FBD73: output_submit__ (driver.c:102)
==30797==    by 0x40FBEAC: output_submit (driver.c:139)
==30797==    by 0x4104A4A: text_item_submit (text-item.c:90)
==30797==    by 0x4051729: cmd_parse_in_state (command.c:249)
==30797==    by 0x4051D98: cmd_parse (command.c:163)
==30797==    by 0x808C7EC: execute_syntax (executor.c:135)
==30797==    by 0x809B4FA: load_file (psppire-data-window.c:361)
==30797==    by 0x80BCCB3: psppire_window_load (psppire-window.c:674)
==30797==    by 0x809C030: open_data_window (psppire-data-window.c:1374)
==30797==    by 0x809C127: on_recent_data_select (psppire-data-window.c:755)
==30797==    by 0x4C17C56: g_cclosure_marshal_VOID__VOIDv (gmarshal.c:115)
==30797==    by 0x4C16120: _g_closure_invoke_va (gclosure.c:840)
==30797==    by 0x4C2F278: g_signal_emit_valist (gsignal.c:3211)
==30797==    by 0x4C2FCD2: g_signal_emit (gsignal.c:3356)
==30797==    by 0x442C871: gtk_menu_shell_activate_item (gtkmenushell.c:1260)
==30797==    by 0x442CC38: gtk_menu_shell_button_release (gtkmenushell.c:683)
==30797==    by 0x4421010: gtk_menu_button_release (gtkmenu.c:3043)
==30797==    by 0x627800F: ???


If I revert commit fce028c380d4 (Use the msg function to report errors
wherever possible.) then that fixes the problem, so this is a regression.  It
seems that its approach to reentrancy avoidance is incomplete.  I like that
commit's goal, so I'd prefer to fix it up rather than revert it.

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?40380>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]