bugGNU Octave - Bugs: bug #42596, OpenGL toolkits for the GUI on...

 
 

bug #42596: OpenGL toolkits for the GUI on MacOS X

Submitted by:  Ben Abbott <bpabbott>
Submitted on:  Sun 22 Jun 2014 03:28:43 PM UTC  
 
Category: Plotting with OpenGLSeverity: 5 - Blocker
Priority: 5 - NormalItem Group: Regression
Status: NoneAssigned to: None
Originator Name: Ben AbbottOpen/Closed: Open
Release: devOperating System: Mac OS

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

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

 

(Jump to the original submission Jump to the original submission)

Mon 08 Dec 2014 10:56:10 PM UTC, comment #9:

Yes, I didn't upgrade to Yosemite partly because of the unappealing messages on maintainers list :-).

Pantxo Diribarne <pantxo>
Project Member
Mon 08 Dec 2014 10:19:39 PM UTC, comment #8:

I'm running Yosemite and am unable to build the default branch without encountering problems.

Ben Abbott <bpabbott>
Project Member
Mon 08 Dec 2014 10:14:39 PM UTC, comment #7:

I am at 19386:f054112912df on default.
Can you confirm that saving a new file crashes Octave on default or is this specific to my build?

Pantxo

Pantxo Diribarne <pantxo>
Project Member
Mon 08 Dec 2014 08:25:44 PM UTC, comment #6:

Pantxo,

Are you building the default or stable branch?

Ben

Ben Abbott <bpabbott>
Project Member
Mon 08 Dec 2014 07:12:00 PM UTC, comment #5:

Hi,
Using os X 10.9 Mavericks with fink for dependencies.
AFAICS, the crash happens when a dynamic_cast is performed on a Qt object. E.g. if I replace dynamic_cast by static_cast in Figure.cc (Figure::eventNotifyAfter) I can run plot demos with the Qt toolkit and the gui.

That is no solution though. I see similar crashes for example if I create a new file (using the integrated editor) and try to save it: I obtain the attached crash log which shows that it is still in dynamic_cast operation that the crash happens.

I am wondering if the bug is related to mixed libc++/libstdc++ as in this thread [1].

As Qt4 is compiled with clang in fink, it is linked with system libc++ while octave is compiled using g++ (4.9 in my case) which links to its own libstdc++. I have no clue on how to proceed, but this may be worth investigating.

[1] http://qt-project.org/forums/viewthread/17150

Pantxo Diribarne <pantxo>
Project Member
Mon 23 Jun 2014 12:45:45 PM UTC, comment #4:

No. The bug in this instance is that no OpenGL toolkits work for the GUI on MacOS X.

I'll change the summary to make it more clear.

From the gui, when the commands below are run, the gui exists with the error "octave exited with signal 1".

Ben Abbott <bpabbott>
Project Member
Mon 23 Jun 2014 12:26:34 PM UTC, comment #3:

Then isn't this a duplicate of bug 40242? The "--no-gui" option leads to a Qt application as main thread: octave interpreter is run in a child thread and it is expected that fltk won't work.

Pantxo Diribarne <pantxo>
Project Member
Mon 23 Jun 2014 11:31:25 AM UTC, comment #2:

ah-ha. I wasn't keeping up with the command line options and was using --no-gui instead of -cli.

Using "-cli" I also have a functional FLTK toolkit.

I'm changing the title, but leaving the severity (the OpenGL toolkits do not work with the gui)

Ben Abbott <bpabbott>
Project Member
Mon 23 Jun 2014 08:21:15 AM UTC, comment #1:

Hi,

Even though I have to patch the sources a bit (otherwise I obtain build failures) my mac build still has functional fltk in cli mode.

Here is my config.:

  • os x 10.9.3
  • fink is used for most dependencies (see octave_build.sh)
  • GraphicsMagick is self compiled (compile flags are commented in the build script)
  • I have to patch _init_fltk_.cc (blindly commented offending code, see x11_mac.patch) in order to be able to build octave, due to duplicate definitions when including x11 headers

Then "./run-octave -cli" leads me to have a functional command line octave with fltk working (at least "demo patch" works fine).
As for Qt toolkit, I never had it work on mac since it was introduced in octave source tree.

(file #31597, file #31598)

Pantxo Diribarne <pantxo>
Project Member
Sun 22 Jun 2014 03:28:43 PM UTC, original submission:

The last default branch revision for which the cli had a functional FLTK toolkit was 55e376fd8636. Meaning "hg revert -a -r 55e376fd8636" followed by bootstraping, configure, and make produces a functional fltk toolkit on MacOS 10.9.

The next changeset to the default branch was a periodic merge of gui-release to default. However, I don't see anything suspicious in that changeset.

http://hg.savannah.gnu.org/hgweb/octave/rev/8473198fd005

In any even, the problem maybe related to the bug #40242 (no GUI interaction outside the main thread on MacOS X).

https://savannah.gnu.org/bugs/?40242

When running the gui, both the qt and fltk toolkits crash when plotting. The programs exists with "octave exited with signal 11" reported to the terminal.

The crash logs for both fltk and qt are attached.

I'm marking this as a blocker because I think it qualifies.

Ben Abbott <bpabbott>
Project Member

 

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

Attach File(s):
   
   
Comment:
   

Attached Files
file #31597:  octave_build.sh added by pantxo (2kB - application/x-sh)
file #31598:  x11_mac.patch added by pantxo (2kB - text/x-diff)
file #31594:  fltk-crash.log added by bpabbott (58kB - application/octet-stream - GUI crash logs for both the qt and fltk toolkits)
file #31595:  qt-crash.log added by bpabbott (54kB - application/octet-stream - GUI crash logs for both the qt and fltk toolkits)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by pantxo (Updated the item)
  • -unavailable- added by bpabbott (Submitted the item)
  •  

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

    Only project members can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 6 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon 23 Jun 2014 12:45:45 PM UTCbpabbottSummaryOpenGL toolkits cause seg-faults for the GUI on MacOS X=>OpenGL toolkits for the GUI on MacOS X
    Mon 23 Jun 2014 11:31:25 AM UTCbpabbottSummaryOpenGL toolkits cause seg-faults on MacOS X=>OpenGL toolkits cause seg-faults for the GUI on MacOS X
    Mon 23 Jun 2014 08:21:15 AM UTCpantxoAttached File-=>Added octave_build.sh, #31597
      Attached File-=>Added x11_mac.patch, #31598
    Sun 22 Jun 2014 03:28:43 PM UTCbpabbottAttached File-=>Added fltk-crash.log, #31594
      Attached File-=>Added qt-crash.log, #31595

    Back to the top


    Powered by Savane 3.1-cleanup