bugGNU Octave - Bugs: bug #52840, GUI hangs on use of uiputfile

 
 

bug #52840: GUI hangs on use of uiputfile

Submitted by:  Rik <rik5>
Submitted on:  Tue 09 Jan 2018 12:21:05 AM UTC  
 
Category:  GUI Severity:  5 - Blocker
Priority:  5 - Normal Item Group:  Regression
Status:  Fixed Assigned to:  None
Originator Name:  Open/Closed:  Closed
Release:  6.0.90 Operating System:  Mac OS

Add a New Comment (Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

( Jump to the original submission)

Sun 28 Jun 2020 06:02:35 PM UTC, comment #41: 

Andrew, thanks for testing. I am closing the report as fixed.

Torsten Lilge <ttl>
Project Member
Tue 23 Jun 2020 04:53:40 AM UTC, comment #40: 

I tried the new octave-default build, and now `uiputfile` works for me regardless of my use_native_file_dialogs setting. I'd call this fixed.

Andrew Janke <apjanke>
Mon 22 Jun 2020 06:52:30 PM UTC, comment #39: 

Changeset http://hg.savannah.gnu.org/hgweb/octave/rev/2813ac10ca1e forces the non-native file dialog on Mac, ignoring the preference set by the user.

Torsten Lilge <ttl>
Project Member
Sun 21 Jun 2020 02:13:32 AM UTC, comment #38: 

I built from stable today and tested it.

  octave-stable
octave:1> ver
----------------------------------------------------------------------
GNU Octave Version: 6.0.1 (hg id: d2fd4616829b + patches)
GNU Octave License: GNU General Public License
Operating System: Darwin 18.7.0 Darwin Kernel Version 18.7.0: Mon Apr 27 20:09:39 PDT 2020; root:xnu-4903.278.35~1/RELEASE_X86_64 x86_64
----------------------------------------------------------------------
Package Name    | Version | Installation directory
----------------+---------+-----------------------
communications  |   1.2.2 | /Users/janke/octave/communications-1.2.2
       control  |   3.2.0 | /Users/janke/octave/control-3.2.0
       doctest  |   0.7.0 | /Users/janke/octave/doctest-0.7.0
     financial  |   0.5.3 | /Users/janke/octave/financial-0.5.3
      geometry  |   4.0.0 | /Users/janke/octave/geometry-4.0.0
         image  |  2.12.0 | /Users/janke/octave/image-2.12.0
            io  |  2.4.13 | /Users/janke/octave/io-2.4.13
     jsonstuff  |   0.3.0 | /Users/janke/octave/jsonstuff-0.3.0
       matgeom  |   1.2.2 | /Users/janke/octave/matgeom-1.2.2
           nan  |   3.4.5 | /Users/janke/octave/nan-3.4.5
        signal  |   1.4.1 | /Users/janke/octave/signal-1.4.1
    statistics  |   1.4.1 | /Users/janke/octave/statistics-1.4.1
       testify  |   0.3.3 | /Users/janke/octave/testify-0.3.3
octave:2>

Same behavior: hard hang when `use_native_file_dialogs=true`; works fine when `use_native_file_dialogs=false`.

Making non-native file dialogs the default (or only) option on Mac sure sounds like the right approach to me, given the circumstances.

Andrew Janke <apjanke>
Tue 16 Jun 2020 05:42:40 PM UTC, comment #37: 

> Is it also possible to build from the current stable branch?


Currently busted due to patch application problems. Working on it.

Andrew Janke <apjanke>
Tue 16 Jun 2020 05:20:28 PM UTC, comment #36: 

Andrew, thanks for testing. Is it also possible to build from the current stable branch?

I currently see no other measure than making non-native file dialogs the default on Mac. Should we even allow non-native file dialogs?

Torsten Lilge <ttl>
Project Member
Tue 16 Jun 2020 01:53:45 PM UTC, comment #35: 

I have no idea; I'm just reporting what I see on my client machine. :)

Andrew Janke <apjanke>
Tue 16 Jun 2020 01:43:42 PM UTC, comment #34: 

In bug #58521, it was suggested to not use the native file dialogs by default on Windows.
Should we also change the default on Mac?

Markus Mützel <mmuetzel>
Project Member
Tue 16 Jun 2020 09:56:26 AM UTC, comment #33: 

Heyyyy! I just reinstalled Octave 7.0.0 from default, and with "use_native_file_dialogs=false", uiputfile() works just fine now, on my macOS 10.14.6 box.

With "use_native_file_dialogs=true", it still hangs.

  octave-default
octave:1> version
ans = 7.0.0
octave:2> ver
----------------------------------------------------------------------
GNU Octave Version: 7.0.0 (hg id: 98fbb75cd028 + patches)
GNU Octave License: GNU General Public License
Operating System: Darwin 18.7.0 Darwin Kernel Version 18.7.0: Mon Apr 27 20:09:39 PDT 2020; root:xnu-4903.278.35~1/RELEASE_X86_64 x86_64
----------------------------------------------------------------------
Package Name    | Version | Installation directory
----------------+---------+-----------------------
communications  |   1.2.2 | /Users/janke/octave/communications-1.2.2
       control  |   3.2.0 | /Users/janke/octave/control-3.2.0
       doctest  |   0.7.0 | /Users/janke/octave/doctest-0.7.0
     financial  |   0.5.3 | /Users/janke/octave/financial-0.5.3
      geometry  |   4.0.0 | /Users/janke/octave/geometry-4.0.0
         image  |  2.12.0 | /Users/janke/octave/image-2.12.0
            io  |  2.4.13 | /Users/janke/octave/io-2.4.13
     jsonstuff  |   0.3.0 | /Users/janke/octave/jsonstuff-0.3.0
       matgeom  |   1.2.2 | /Users/janke/octave/matgeom-1.2.2
           nan  |   3.4.5 | /Users/janke/octave/nan-3.4.5
        signal  |   1.4.1 | /Users/janke/octave/signal-1.4.1
    statistics  |   1.4.1 | /Users/janke/octave/statistics-1.4.1
       testify  |   0.3.3 | /Users/janke/octave/testify-0.3.3
octave:3> uiputfile
ans = 0
octave:4> x = uiputfile
x = foobar.blah
octave:5> exit

👭  ~ 
  octave-default
octave:1> x = uiputfile

Anything else I can do to help debug?

Andrew Janke <apjanke>
Sun 14 Jun 2020 09:28:32 AM UTC, comment #32: 

Yeah: I think LLVM/clang (which is the default compiler on macOS now) uses LLVM's libc++ (https://libcxx.llvm.org/), while GNU GCC's C++ compiler uses GNU libstdc++ (https://gcc.gnu.org/onlinedocs/libstdc++/), I think.

> Apparently the Apple compiler is stricter about not pulling in #include files through other #includes so Markus had to manually add


It may not be the compiler per se, but rather the arrangement of the #includes and guards in the C++ library that the compiler is pulling in.

Andrew Janke <apjanke>
Thu 11 Jun 2020 04:59:28 PM UTC, comment #31: 

OT: I wasn't aware that different compilers on different platforms pulled in different sets of default headers either until right now.
Most probably the code with std::vector that compiled without issues on Linux would have caused a similar issue on Mac...

Markus Mützel <mmuetzel>
Project Member
Thu 11 Jun 2020 03:49:32 PM UTC, comment #30: 

The compilation error should be fixed my Markus's change.  For performance I switched from std::vector to std::array, and the code built fine on Linux so I checked it in.  Apparently the Apple compiler is stricter about not pulling in #include files through other #includes so Markus had to manually add

#include <array>

Rik <rik5>
Project Administrator
Thu 11 Jun 2020 11:57:10 AM UTC, comment #29: 

The compilation error in comment #26 is hopefully fixed with this change:
https://hg.savannah.gnu.org/hgweb/octave/rev/7de12a40e87b

Markus Mützel <mmuetzel>
Project Member
Thu 11 Jun 2020 06:40:57 AM UTC, comment #28: 

Sorry, I'm super full up on day job right now. I'll give it a few days to see if it clears up on its own, and if it's still busted over the weekend I'll submit a proper report.

Andrew Janke <apjanke>
Thu 11 Jun 2020 06:36:16 AM UTC, comment #27: 

@Andrew: Please, report the build issue on Mac in a separate report. I don't want to hijack this one.

Markus Mützel <mmuetzel>
Project Member
Thu 11 Jun 2020 05:49:53 AM UTC, comment #26: 

Looks like it is. I see those files on my Mac.

I added "use_native_file_dialogs=false" to the [General] section of my ~/.config/octave/octave-gui.ini file and tried it under command-line Octave 5.2.0 (installed via Homebrew). Same behavior: calling `uiputfile()` with no arguments hangs, with no response, and no new windows or GUI stuff popping up. Had to Ctrl-Z and `kill -9` it.

I tried building Octave from default, but looks like the build is currently broken, as happens unfortunately often on Mac. No idea if this is an Octave issue or a Homebrew issue or what. macOS 10.14.6 and Xcode 11.3.1.

==> ./configure --prefix=/usr/local/Cellar/octave-default/default --enable-link-all-dependencies --enable-shared --disable-static --without-fltk --with
==> make all
Last 15 lines from /Users/janke/Library/Logs/Homebrew/octave-default/03.make:
libtool: compile:  clang++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I/usr/local/opt/freetype/include/freetype2 -I/usr/local/opt/freetype/include/freetype2 -I/usr/local/Cellar/fontconfig/2.13.1/include -I/usr/local/Cellar/qt/5.15.0/lib/QtNetwork.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtPrintSupport.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtHelp.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtWidgets.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtGui.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtSql.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtXml.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtCore.framework/Headers -I./libgui/qterminal/libqterminal -Ilibgui/src -I./libgui/src -Ilibgui/graphics -I./libgui/graphics -I./libgui/src/m-editor -Iliboctave -I./liboctave/array -Iliboctave/numeric -I./liboctave/numeric -Iliboctave/operators -I./liboctave/operators -I./liboctave/system -I./liboctave/util -Ilibinterp -I./libinterp -Ilibinterp/parse-tree -I./libinterp/parse-tree -Ilibinterp/corefcn -I./libinterp/corefcn -I./libinterp/octave-value -I./liboctave/wrappers -I/usr/local/opt/qt/include -fPIC -D_THREAD_SAFE -pthread -Wall -W -Wshadow -Woverloaded-virtual -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.2.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.2.jdk/Contents/Home/include/darwin -I/usr/local/opt/sundials/include -I/usr/local/opt/qscintilla2/include -c libgui/src/workspace-model.cc  -fno-common -DPIC -o libgui/src/.libs/libgui_src_la-workspace-model.o
libtool: compile:  clang++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I/usr/local/opt/freetype/include/freetype2 -I/usr/local/opt/freetype/include/freetype2 -I/usr/local/Cellar/fontconfig/2.13.1/include -I/usr/local/Cellar/qt/5.15.0/lib/QtNetwork.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtPrintSupport.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtHelp.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtWidgets.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtGui.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtSql.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtXml.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtCore.framework/Headers -I./libgui/qterminal/libqterminal -Ilibgui/src -I./libgui/src -Ilibgui/graphics -I./libgui/graphics -I./libgui/src/m-editor -Iliboctave -I./liboctave/array -Iliboctave/numeric -I./liboctave/numeric -Iliboctave/operators -I./liboctave/operators -I./liboctave/system -I./liboctave/util -Ilibinterp -I./libinterp -Ilibinterp/parse-tree -I./libinterp/parse-tree -Ilibinterp/corefcn -I./libinterp/corefcn -I./libinterp/octave-value -I./liboctave/wrappers -I/usr/local/opt/qt/include -fPIC -D_THREAD_SAFE -pthread -Wall -W -Wshadow -Woverloaded-virtual -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.2.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.2.jdk/Contents/Home/include/darwin -I/usr/local/opt/sundials/include -I/usr/local/opt/qscintilla2/include -c libgui/src/workspace-view.cc  -fno-common -DPIC -o libgui/src/.libs/libgui_src_la-workspace-view.o
libgui/src/resource-manager.cc:395:46: error: implicit instantiation of undefined template 'std::__1::array<std::__1::basic_string<char>, 6>'
            const std::array<std::string, 6> env_vars =
                                             ^
/Applications/Xcode-11.3.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__tuple:223:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
/bin/sh ./libtool  --tag=CXX   --mode=compile clang++ -std=gnu++11 -DHAVE_CONFIG_H -I.   -I/usr/local/opt/freetype/include/freetype2 -I/usr/local/opt/freetype/include/freetype2 -I/usr/local/Cellar/fontconfig/2.13.1/include -I/usr/local/Cellar/qt/5.15.0/lib/QtNetwork.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtPrintSupport.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtHelp.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtWidgets.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtGui.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtSql.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtXml.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtCore.framework/Headers -I./libgui/qterminal/libqterminal -Ilibgui/src -I./libgui/src -Ilibgui/graphics -I./libgui/graphics -I./libgui/src/m-editor -Iliboctave -I./liboctave/array -Iliboctave/numeric -I./liboctave/numeric -Iliboctave/operators -I./liboctave/operators -I./liboctave/system -I./liboctave/util -Ilibinterp -I./libinterp -Ilibinterp/parse-tree -I./libinterp/parse-tree -Ilibinterp/corefcn -I./libinterp/corefcn -I./libinterp/octave-value -I./liboctave/wrappers -I/usr/local/opt/qt/include -fPIC -D_THREAD_SAFE -pthread -Wall -W -Wshadow -Woverloaded-virtual -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.2.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.2.jdk/Contents/Home/include/darwin -I/usr/local/opt/sundials/include -I/usr/local/opt/qscintilla2/include -c -o libgui/src/libgui_src_la-variable-editor.lo `test -f 'libgui/src/variable-editor.cc' || echo './'`libgui/src/variable-editor.cc
1 error generated.
make[2]: *** [libgui/src/libgui_src_la-resource-manager.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
libtool: compile:  clang++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I/usr/local/opt/freetype/include/freetype2 -I/usr/local/opt/freetype/include/freetype2 -I/usr/local/Cellar/fontconfig/2.13.1/include -I/usr/local/Cellar/qt/5.15.0/lib/QtNetwork.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtPrintSupport.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtHelp.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtWidgets.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtGui.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtSql.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtXml.framework/Headers -I/usr/local/Cellar/qt/5.15.0/lib/QtCore.framework/Headers -I./libgui/qterminal/libqterminal -Ilibgui/src -I./libgui/src -Ilibgui/graphics -I./libgui/graphics -I./libgui/src/m-editor -Iliboctave -I./liboctave/array -Iliboctave/numeric -I./liboctave/numeric -Iliboctave/operators -I./liboctave/operators -I./liboctave/system -I./liboctave/util -Ilibinterp -I./libinterp -Ilibinterp/parse-tree -I./libinterp/parse-tree -Ilibinterp/corefcn -I./libinterp/corefcn -I./libinterp/octave-value -I./liboctave/wrappers -I/usr/local/opt/qt/include -fPIC -D_THREAD_SAFE -pthread -Wall -W -Wshadow -Woverloaded-virtual -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.2.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.2.jdk/Contents/Home/include/darwin -I/usr/local/opt/sundials/include -I/usr/local/opt/qscintilla2/include -c libgui/src/variable-editor.cc  -fno-common -DPIC -o libgui/src/.libs/libgui_src_la-variable-editor.o
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

If reporting this issue please do so at (not Homebrew/brew or Homebrew/core):
  https://github.com/octave-app/homebrew-octave-app/issues

Andrew Janke <apjanke>
Thu 11 Jun 2020 05:20:06 AM UTC, comment #25: 

On a Linux machine, the locations depending on the version are:

# new location:
$HOME/.config/octave/octave-gui.ini
# old location:
$HOME/.config/octave/qt-settings

I am not 100% sure, but it should be the same on Mac.

Torsten Lilge <ttl>
Project Member
Thu 11 Jun 2020 02:27:35 AM UTC, comment #24: 

> If you can not use the GUI itself for changing the preferences, add or update the following pref in the [General] section


Remind me what file this is located in, on macOS? The GUI is indeed busted on Mac in 5.x and 6.x, so I will need to edit the prefs file manually.

Andrew Janke <apjanke>
Tue 09 Jun 2020 07:07:22 PM UTC, comment #23: 

Andrew, is the native file dialog involved here? I have realized that the related GUI settings actually has an impact on the CLI behavior when calling uiputfile(). Could you test again with "Native file dialogs" disabled?

If you can not use the GUI itself for changing the preferences, add or update the following pref in the [General] section:

use_native_file_dialogs=false

Torsten Lilge <ttl>
Project Member
Wed 22 Apr 2020 10:38:22 PM UTC, comment #22: 

Changing the Summary to reflect that uiputfile() is the problem.  And updating the Release to 6.0.90 and Operating System to "Mac OS".

I only have Linux so I can't help debug, but I'll leave as a blocker for the 6.1 release for the time being.

Rik <rik5>
Project Administrator
Wed 22 Apr 2020 08:50:12 PM UTC, comment #21: 

This may still be an issue on macOS. I did a new build from the default branch today, and when I run Octave (in non-GUI mode) and call `uiputfile()`, no dialog appears, and Octave hangs.

uigetfile() works fine.

I don't know if it's caused by the same problem as before, since the Octave 5.x GUI overall doesn't work for me on macOS; it freezes on launch.

Andrew Janke <apjanke>
Wed 22 Apr 2020 05:52:57 PM UTC, comment #20: 

@Andrew: Is this still an issue for you?  The last comment was from January 12th, 2019.  I expect changes to both Octave, and the continuing upgrade of KDE and Qt libraries in distributions, may have "fixed" this bug.

Marking as "Need Info" since we require a test on a Mac platform.

Rik <rik5>
Project Administrator
Wed 25 Mar 2020 04:45:51 PM UTC, comment #19: 

Is this still an issue with a build from the current stable branch (Octave 6) on macOS?

Markus Mützel <mmuetzel>
Project Member
Thu 17 Jan 2019 05:20:21 PM UTC, comment #18: 

As the original reporter, I can say that this now works fine for me on Linux.  I have updated my OS and in the process got newer KDE libraries and I am pretty sure that is what fixed it, rather than a change in Octave.

Rik <rik5>
Project Administrator
Mon 14 Jan 2019 01:24:44 AM UTC, comment #17: 

I can build stable.

uiputfile() still hangs the GUI for me. This is on macOS 10.13.6.

Full build logs: https://gist.github.com/b496a2110695ed4574de42507afb574f

I added an `octave-stable` formula to make it convenient for other macOS users who want to try the stable branch:

brew tap octave-app/octave-app-bases
brew install -s octave-stable
/usr/local/opt/octave-stable/bin/octave

For some reason, the HG ID isn't showing in ver on this build:

octave:1> ver
----------------------------------------------------------------------
GNU Octave Version: 5.0.1 (hg id: unknown)

But examining my repo checkout directly, it looks like this is commit changeset:   26534:c8efbaf65180.

Andrew Janke <apjanke>
Sat 12 Jan 2019 07:48:06 PM UTC, comment #16: 

I'm not able to reproduce this on a current 5.0.1 build.

@Andrew: Are you able to build the stable branch for macOS?

Andreas Weber <andy1978>
Project Member
Tue 04 Dec 2018 07:20:48 PM UTC, comment #15: 

I think I can reproduce this on macOS 10.13 using Octave 4.4.0 or Octave 4.4.1, built with the Qt GUI.

uigetfile() seems to work fine.

But running uiputfile() will hang the GUI. Both of these variants of calling it will hang Octave.

uiputfile ()
uiputfile ({'.gif;.png;*.jpg', 'Supported Picture Formats'});

The longer calling form is from `rundemos()`.

Do you think this is the same bug?

(Encountered by an Octave.app user; original report at https://github.com/octave-app/octave-app/issues/10.)

Andrew Janke <apjanke>
Thu 08 Mar 2018 08:58:11 PM UTC, comment #14: 

Sure, next week is fine.  It's pretty vanilla: Linux Mint 18.1 running KDE.

KDE has shown some weird issues with regard to Dockable widgets, and with respect to Key Accelerators in menus.  But, there was also something that changed in Octave because the bisection definitely determined a single cset where the issue started.

Rik <rik5>
Project Administrator
Thu 08 Mar 2018 08:37:40 PM UTC, comment #13: 

Rik: What is your system?  I could try to duplicate it if I installed the same thing in a VM.  Or maybe we can look at this next week?

John W. Eaton <jwe>
Project Administrator
Thu 08 Mar 2018 07:46:19 PM UTC, comment #12: 

Yes, it is still an issue.  This is test code I use:

./run-octave -f
x = uigetfile ()

This is with the latest tip from today (3/8/18)

parent: 24849:96c74e33d17a tip
pcg.m: Overhaul function and BIST tests (bug #53258).

Rik <rik5>
Project Administrator
Thu 08 Mar 2018 07:02:14 PM UTC, comment #11: 

Rik: Is this problem still present for you?  I am unable to duplicate, but I'm using gnome.

John W. Eaton <jwe>
Project Administrator
Thu 11 Jan 2018 08:06:56 PM UTC, comment #10: 

@jwe: Any idea why refactoring signal handling would have created this bug for me?  Is there something in _octave_link_ which explains this?

Rik <rik5>
Project Administrator
Tue 09 Jan 2018 09:01:19 PM UTC, comment #9: 

@Torsten: Maybe you should open a new bug report about the problems in comment #6 and #7 so they don't get lost in this report.

Rik <rik5>
Project Administrator
Tue 09 Jan 2018 09:00:31 PM UTC, comment #8: 

Well this is definitely real.  I used 'hg bisect' to narrow it down to this changeset:

parent: 24520:c5c11b07598a
refactor signal handling (bug #52757)
branch: default

I'm changing the status back to Confirmed and adding jwe to the CC list.

Rik <rik5>
Project Administrator
Tue 09 Jan 2018 07:35:43 PM UTC, comment #7: 

The issue in KDE (see comment #6) with the edit-file-prompt seems to be caused by the well knwon "&" that is inserted by KDE into the button text. The clicked button text is compared to "Create", which returns false since the new button string is "&Create" or something similar (but unknown). Most probably, this will affect other dialogs, too.

I see two general approaches here:

  1. We can manually insert a "&" in the button texts when calling a dialog resulting in exactly known strings for comparing the dialog's results after a button was clicked.
  2. Any "&" is removed from the clicked button text before it is returned by the dialog.
Torsten Lilge <ttl>
Project Member
Tue 09 Jan 2018 06:13:52 AM UTC, comment #6: 

Works for me, too, on Ubuntu 16.04 Unity and KDE Oxygen.

However, as a weirdness on KDE, when new files are not created without prompting (editor settings), the file dialog is not opened at all and the file is not created.

Torsten Lilge <ttl>
Project Member
Tue 09 Jan 2018 01:28:24 AM UTC, comment #5: 

Okay, it is clearly something related to my system.  I don't know what it is trying to check but it is very real for me.  Oh well, I just won't use that functionality.  But this does work just fine with my self-compiled 4.2.1 so there has to be something going on.

Rik <rik5>
Project Administrator
Tue 09 Jan 2018 01:01:31 AM UTC, comment #4: 

Works for me on Fedora 27 / gnome
HG ID for this build is "5a10409695b7"

Do not see any delays.

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Tue 09 Jan 2018 12:38:59 AM UTC, comment #3: 

works for me on Ubuntu 16.04
hg id  d6f06eeb8917

Doug Stewart <dastew>
Tue 09 Jan 2018 12:38:23 AM UTC, comment #2: 

Turns out it eventually works but the timeout is super long.  After that another call to the function seems to work normally.

Rik <rik5>
Project Administrator
Tue 09 Jan 2018 12:23:55 AM UTC, comment #1: 

Clarification, it seems to be any of the uimenu routines such as uigetfile/uiputfile.  Something simpler like warndlg() works.

Rik <rik5>
Project Administrator
Tue 09 Jan 2018 12:21:05 AM UTC, original submission:  

This is a regression from 4.2.1 where this worked.

Start a new Octave GUI session

./run-octave -f
edit junk

A Save dialog window appears to be created, but the interior is blank and there is a beachball-like icon indicating a wait.  Eventually I just kill the process.

This happens to be with KDE and Oxygen widgets if that matters.

Rik <rik5>
Project Administrator

 

(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 mmuetzel (Posted a comment)
  • -email is unavailable- added by andy1978 (Posted a comment)
  • -email is unavailable- added by apjanke (Posted a comment)
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by rik5
  • -email is unavailable- added by ttl (Posted a comment)
  • -email is unavailable- added by dasergatskov (Posted a comment)
  • -email is unavailable- added by dastew (Posted a comment)
  • -email is unavailable- added by rik5 (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

     

     

    Follow 12 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2020-06-28 ttl StatusConfirmed => Fixed
        Open/ClosedOpen => Closed
    2020-04-22 rik5 StatusNeed Info => Confirmed
        Releasedev => 6.0.90
        Operating SystemGNU/Linux => Mac OS
        SummaryGUI hangs on use of uigetfile/uiputfile => GUI hangs on use of uiputfile
    2020-04-22 rik5 StatusConfirmed => Need Info
    2018-02-11 rik5 Severity3 - Normal => 5 - Blocker
    2018-01-09 rik5 StatusWorks For Me => Confirmed
        Carbon-Copy- => Added jwe
    2018-01-09 rik5 StatusNone => Works For Me
    2018-01-09 rik5 SummaryGUI hangs on use of edit() => GUI hangs on use of uigetfile/uiputfile

    Back to the top


    Powered by Savane 3.5