bugGNU Octave - Bugs: bug #31931, figure (1, "visible",...

 
 

bug #31931: figure (1, "visible", "off") -> Bus error

Submitted by:  Ben Abbott <bpabbott>
Submitted on:  Sun 19 Dec 2010 08:28:43 PM UTC  
 
Category:  Plotting with OpenGL Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Incorrect Result
Status:  Fixed Assigned to:  None
Originator Name:  Ben Abbott Open/Closed:  Closed
Release:  dev 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)

Tue 19 Aug 2014 08:33:32 AM UTC, comment #59: 

This hack was removed from default branch with changeset 8c648c3a2c8f (http://hg.savannah.gnu.org/hgweb/octave/rev/8c648c3a2c8f)

Andreas Weber <andy1978>
Project Member
Tue 19 Aug 2014 03:46:45 AM UTC, comment #58: 

Andreas Weber has recently done a lot of work on the FLTK toolkit and the figure object--menubar, positioning, refresh, the works.

Rik <rik5>
Project Administrator
Tue 19 Aug 2014 12:01:01 AM UTC, comment #57: 

Yes, the hack can be removed.

Btw, what was done to fix this?

Ben Abbott <bpabbott>
Project Member
Mon 18 Aug 2014 10:25:11 PM UTC, comment #56: 

Cool.  It seems like we can go ahead and remove the temporary hack in figure.m, correct?

Rik <rik5>
Project Administrator
Mon 18 Aug 2014 10:14:39 PM UTC, comment #55: 

With

$ hg id
9609f345823e+ tip @

and

$ hg diff
diff --git a/scripts/plot/util/figure.m b/scripts/plot/util/figure.m
--- a/scripts/plot/util/figure.m
+++ b/scripts/plot/util/figure.m
@@ -83,16 +83,7 @@
   endif

   if (init_new_figure)
-    if (ismac () && strcmp (graphics_toolkit (), "fltk"))
-      ## FIXME: Hack for fltk-aqua to work around bug #31931
-      f = __go_figure__ (f);
-      drawnow ();
-      if (! isempty (varargin))
-        set (f, varargin{:});
-      endif
-    else
-      f = __go_figure__ (f, varargin{:});
-    endif
+    f = __go_figure__ (f, varargin{:});
     __add_default_menu__ (f);
   elseif (nargs > 0)
     set (f, varargin{:});

The following commands now work for me.

graphics_toolkit ("fltk");
figure (1, "visible", "off")
set (gcf, "visible", "on")

Ben Abbott <bpabbott>
Project Member
Tue 10 Jan 2012 03:49:46 AM UTC, comment #54: 

Works for me under Linux.  I'm closing the report now.

Rik <rik5>
Project Administrator
Tue 10 Jan 2012 01:30:30 AM UTC, comment #53: 

Ok. Done.

http://hg.savannah.gnu.org/hgweb/octave/rev/9e6ec5f55827

Please pull and confirm it doesn't break anything for you.

If it works, I think it is ok to close this.

Ben Abbott <bpabbott>
Project Member
Tue 10 Jan 2012 01:03:19 AM UTC, comment #52: 

Why don't you go ahead and commit the hack.  I'll lower the bug priority right now.

Rik <rik5>
Project Administrator
Mon 09 Jan 2012 09:54:33 PM UTC, comment #51: 

I didn't get the if-block correct in my last reply.

With the diff below

diff --git a/scripts/plot/figure.m b/scripts/plot/figure.m
--- a/scripts/plot/figure.m
+++ b/scripts/plot/figure.m
@@ -63,7 +63,16 @@

   if (rem (nargs, 2) == 0)
     if (isnan (f) || init_new_figure)
-      f = __go_figure__ (f, varargin{:});
+      if (ismac () && strcmp (graphics_toolkit, "fltk"))
+        ## FIXME: Hack for aqua-fltk to work around bug #31931
+        f = __go_figure__ (f);
+        drawnow ();
+        if (! isempty (varargin))
+          set (f, varargin{:});
+        endif
+      else
+        f = __go_figure__ (f, varargin{:});
+      endif
     elseif (nargs > 0)
       set (f, varargin{:});
     endif

The code below works as expected.

graphics_toolkit ("fltk");
figure (1, "visible", "off")
set (gcf, "visible", "on")

Ben Abbott <bpabbott>
Project Member
Mon 09 Jan 2012 09:48:30 PM UTC, comment #50: 

Rik, maybe "if (ismac () && strcmp (get (f, "__graphics_toolkit__"), "fltk"))" ?

In any event, we're sticking to gnuplot as the default backend, so I have no objection to lowering the priority.

Ben Abbott <bpabbott>
Project Member
Mon 09 Jan 2012 07:50:21 PM UTC, comment #49: 

Ben, what about the attached patch which applies your hack of using drawnow, but only when on a Mac platform?  Otherwise, can we drop the priority for this bug so that it is not a blocker for the 3.6.0 release?

(file #24774)

Rik <rik5>
Project Administrator
Tue 13 Dec 2011 11:01:22 PM UTC, comment #48: 

AFAIK, this is only a problem for fltk-aqua, so it only effects MacOS X.

Ben Abbott <bpabbott>
Project Member
Tue 13 Dec 2011 08:26:04 PM UTC, comment #47: 

Same commands run as script also work for me.

Michael Godfrey <godfrey>
Project Member
Tue 13 Dec 2011 08:20:39 PM UTC, comment #46: 

Using build from 11 Dec.  the commands below
run without problem on Linux Fedora 14.

Is this a windows-only problem?

Michael Godfrey <godfrey>
Project Member
Tue 13 Dec 2011 08:19:50 PM UTC, comment #45: 

If I type those command, I get no crash. If they are part of a script, then I get a crash.

The change below prevents the crash, but I don't think this is a proper solution.

diff --git a/scripts/plot/figure.m b/scripts/plot/figure.m
--- a/scripts/plot/figure.m
+++ b/scripts/plot/figure.m
@@ -63,7 +63,11 @@

   if (rem (nargs, 2) == 0)
     if (isnan (f) || init_new_figure)
-      f = __go_figure__ (f, varargin{:});
+      f = __go_figure__ (f);
+      drawnow ();
+      if (! isempty (varargin))
+        set (f, varargin{:});
+      endif
     elseif (nargs > 0)
       set (f, varargin{:});
     endif

Ben Abbott <bpabbott>
Project Member
Tue 13 Dec 2011 08:05:29 PM UTC, comment #44: 

Without any of the patches installed, does the following cause a segfault?

close all;
graphics_toolkit fltk;
hf = figure (1);
set (hf, "visible", "off");
set (hf, "visible", "on");

Rik <rik5>
Project Administrator
Tue 13 Dec 2011 07:49:43 PM UTC, comment #43: 

Rik

There are some syntax typos in the changeset. The diff below applies for me and run without a parser error.

Unfortunately, I still get the crash.

diff --git a/scripts/plot/figure.m b/scripts/plot/figure.m
--- a/scripts/plot/figure.m
+++ b/scripts/plot/figure.m
@@ -63,7 +63,22 @@

   if (rem (nargs, 2) == 0)
     if (isnan (f) || init_new_figure)
-      f = __go_figure__ (f, varargin{:});
+      if (ismac ())
+        ## FIXME: Kludge for bug #31931 on Mac where 'visible', 'off'
+        ##        causes segmentation fault
+        vidx = find (strcmpi (varargin, "visible"));
+        if (! isempty (vidx) && strcmp (varargin(vidx+1), "off"))
+          varargin(vidx:vidx+1) = [];
+          f = __go_figure__ (f, varargin{:});
+          set (f, "visible", "off");
+        else
+          f = __go_figure__ (f, varargin{:});
+        endif
+        f = __go_figure__ (f, varargin{:});
+      else
+        ## Non-Mac platforms
+        f = __go_figure__ (f, varargin{:});
+      endif
     elseif (nargs > 0)
       set (f, varargin{:});
     endif

Ben Abbott <bpabbott>
Project Member
Tue 13 Dec 2011 06:38:57 PM UTC, comment #42: 

Ben,

Can you try the attached changset bug31931.cset?  It is not a long-term fix, but hopefully is enough to allow the 3.6.0 release to proceed.

The hack is to check for 'visible', 'off' as options to figure() on Mac platforms.  If it finds that option pair it deletes them from the initial call to _go_figure_ and then sets 'visible', 'off' on the figure handle that is returned.  This probably will cause some flicker.

(file #24584)

Rik <rik5>
Project Administrator
Mon 12 Dec 2011 09:42:35 PM UTC, comment #41: 

Unfortunately, this one is still present.

>> graphics_toolkit ("fltk");
>> figure (1, "visible", "off")
>> set (gcf, "visible", "on")
panic: Segmentation fault: 11 -- stopping myself...
attempting to save variables to `octave-core'...
save to `octave-core' complete

The backtrace is

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000578
0x00007fff889ab781 in glMatrixMode ()
(gdb) bt
#0  0x00007fff889ab781 in glMatrixMode ()
#1  0x0000000105f55e7c in OpenGL_fltk::resize (this=0x106eac230, xx=<value temporarily unavailable, due to optimizations>, yy=<value temporarily unavailable, due to optimizations>, ww=560, hh=440) at DLD-FUNCTIONS/__init_fltk__.cc:165
#2  0x00000001027c7192 in Fl_Group::resize ()
#3  0x00000001027acf6e in Fl_Window::resize ()
#4  0x0000000105f5e0ae in plot_window::draw (this=0x106e853b0) at DLD-FUNCTIONS/__init_fltk__.cc:1176
#5  0x00000001027a7435 in -[FLView drawRect:] ()
#6  0x00007fff8ab1cfdf in -[NSView _drawRect:clip:] ()
#7  0x00007fff8ab4a8c4 in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] ()
#8  0x00007fff8ab4acf0 in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] ()
#9  0x00007fff8ab1a5ba in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#10 0x00007fff8ab19ab3 in -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#11 0x00007fff8ab14ec9 in -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] ()
#12 0x00007fff8ab0d93e in -[NSView displayIfNeeded] ()
#13 0x00007fff8ac2cd76 in -[NSThemeFrame handleSetFrameCommonRedisplay] ()
#14 0x00007fff8abcf8cc in -[NSWindow _setFrameCommon:display:stashSize:] ()
#15 0x00007fff8abcef17 in -[NSWindow setFrame:display:] ()
#16 0x00000001027acee8 in Fl_Window::resize ()
#17 0x0000000105f5e0ae in plot_window::draw (this=0x106e853b0) at DLD-FUNCTIONS/__init_fltk__.cc:1176
#18 0x00000001027a7435 in -[FLView drawRect:] ()
#19 0x00007fff8ab1cfdf in -[NSView _drawRect:clip:] ()
#20 0x00007fff8ab4a8c4 in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] ()
#21 0x00007fff8ab4acf0 in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] ()
#22 0x00007fff8ab1a5ba in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#23 0x00007fff8ab19ab3 in -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#24 0x00007fff8ab14ec9 in -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] ()
#25 0x00007fff8ab0d93e in -[NSView displayIfNeeded] ()
#26 0x00007fff8abcd17d in -[NSWindow _reallyDoOrderWindow:relativeTo:findKey:forCounter:force:isModal:] ()
#27 0x00007fff8abccb7a in -[NSWindow _doOrderWindow:relativeTo:findKey:forCounter:force:isModal:] ()
#28 0x00007fff8abcc802 in -[NSWindow orderWindow:relativeTo:] ()
#29 0x00007fff8abcc0a3 in -[NSWindow makeKeyAndOrderFront:] ()
#30 0x00000001027ae10f in Fl_X::make ()
#31 0x0000000105f5ac2a in figure_manager::toggle_window_visibility (idx_str=<value temporarily unavailable, due to optimizations>, is_visible=true) at DLD-FUNCTIONS/__init_fltk__.cc:1633
#32 0x0000000105f659f4 in fltk_graphics_toolkit::update (this=0x109800230, go=<value temporarily unavailable, due to optimizations>, id=16) at DLD-FUNCTIONS/__init_fltk__.cc:1870
#33 0x00000001001d2d46 in base_graphics_object::update (this=<value temporarily unavailable, due to optimizations>, go=@0x7fff5fbfcaf0, id=<value temporarily unavailable, due to optimizations>) at graphics.h:2217
#34 0x00000001001797d4 in base_property::set (this=0x10a001248, v=<value temporarily unavailable, due to optimizations>, do_run=true, do_notify_toolkit=<value temporarily unavailable, due to optimizations>) at graphics.h:3359
#35 0x00000001001fc766 in base_properties::set_visible (this=0x10a000a10, val=<value temporarily unavailable, due to optimizations>) at graphics.h:2866
#36 0x0000000100182dd2 in base_properties::set (this=0x10a000a10, pname=@0x7fff5fbfd030, val=@0x7fff5fbfd200) at graphics-props.cc:83
#37 0x0000000100195300 in figure::properties::set (this=0x10a000a10, pname_arg=<value temporarily unavailable, due to optimizations>, val=@0x7fff5fbfd200) at graphics-props.cc:839
#38 0x0000000100200c4f in figure::set (this=0x10a000a00, name=<value temporarily unavailable, due to optimizations>, value=@0x7fff5fbfd200) at graphics.h:4738
#39 0x00000001000c8ce4 in graphics_object::set_value_or_default (this=0x7fff5fbfd5e0, name=@0x7fff5fbfd220, val=@0x7fff5fbfd200) at graphics.cc:2097
#40 0x00000001000c90b0 in graphics_object::set (this=0x7fff5fbfd5e0, args=@0x7fff5fbfd320) at graphics.cc:1956
#41 0x0000000100174b32 in Fset (args=@0x106edac60, nargout=0) at graphics.cc:8092
#42 0x000000010040a2ac in octave_builtin::do_multi_index_op (this=0x10474c860, nargout=0, args=@0x106edac60, lvalue_list=0x7fff5fbfd650) at ov-builtin.cc:131
#43 0x0000000100409109 in octave_builtin::subsref (this=0x10474c860, type=@0x7fff5fbfdbf0, idx=@0x7fff5fbfdba0, nargout=0, lvalue_list=0x0) at ov-builtin.cc:64
#44 0x0000000100409f04 in octave_builtin::subsref (this=<value temporarily unavailable, due to optimizations>, type=<value temporarily unavailable, due to optimizations>, idx=<value temporarily unavailable, due to optimizations>, nargout=<value temporarily unavailable, due to optimizations>) at ov-builtin.cc:47
#45 0x00000001004f9d9e in octave_value::subsref (this=<value temporarily unavailable, due to optimizations>, type=<value temporarily unavailable, due to optimizations>, idx=<value temporarily unavailable, due to optimizations>, nargout=<value temporarily unavailable, due to optimizations>) at ov.cc:1203
#46 0x00000001004f9e35 in octave_value::subsref (this=<value temporarily unavailable, due to optimizations>, type=<value temporarily unavailable, due to optimizations>, idx=<value temporarily unavailable, due to optimizations>, nargout=<value temporarily unavailable, due to optimizations>, lvalue_list=<value temporarily unavailable, due to optimizations>) at ov.cc:1214
#47 0x00000001005b3de4 in tree_index_expression::rvalue (this=<value temporarily unavailable, due to optimizations>, nargout=0, lvalue_list=0x0) at pt-idx.cc:414
#48 0x00000001005b5523 in tree_index_expression::rvalue (this=<value temporarily unavailable, due to optimizations>, nargout=<value temporarily unavailable, due to optimizations>) at pt-idx.cc:284
#49 0x00000001005ad1b9 in tree_index_expression::rvalue1 (this=0x106eda960, nargout=0) at pt-idx.cc:425
#50 0x0000000100597acb in tree_evaluator::visit_statement (this=<value temporarily unavailable, due to optimizations>, stmt=<value temporarily unavailable, due to optimizations>) at pt-eval.cc:739
#51 0x0000000100596cd3 in tree_evaluator::visit_statement_list (this=0x100c79660, lst=@0x106edad90) at pt-eval.cc:775
#52 0x00000001003970de in main_loop () at toplev.cc:595
#53 0x0000000100324dcf in octave_main (argc=<value temporarily unavailable, due to optimizations>, argv=<value temporarily unavailable, due to optimizations>, embedded=0) at octave.cc:938
#54 0x0000000100000f44 in start ()

Ben Abbott <bpabbott>
Project Member
Mon 12 Dec 2011 08:39:35 PM UTC, comment #40: 

Ben, have JWE's recent memory patches fixed this bug too?  This bug is currently rated as important which means it is probably a blocker for the 3.6.0 release unless we decide to waive this requirement.

Rik <rik5>
Project Administrator
Thu 24 Nov 2011 06:22:29 AM UTC, comment #39: 

I do not see this problem with current devel
system on Fedora 14 or Fedora16.

Michael

Michael Godfrey <godfrey>
Project Member
Wed 23 Nov 2011 01:27:55 PM UTC, comment #38: 

The problem has improved. I tried ...

graphics_toolkit fltk
figure (1, 'visible', 'off')
figure (1, 'visible', 'on')

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000578
0x00007fff994bb781 in glMatrixMode ()
(gdb) bt
#0  0x00007fff994bb781 in glMatrixMode ()
#1  0x000000011270424c in OpenGL_fltk::resize ()
#2  0x000000010b9dc192 in Fl_Group::resize ()
#3  0x000000010b9c1f6e in Fl_Window::resize ()
#4  0x000000011270c43e in plot_window::draw ()
#5  0x000000010b9bc435 in -[FLView drawRect:] ()
#6  0x00007fff8f687fdf in -[NSView _drawRect:clip:] ()
#7  0x00007fff8f6b58c4 in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] ()
#8  0x00007fff8f6b5cf0 in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] ()
#9  0x00007fff8f6855ba in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#10 0x00007fff8f684ab3 in -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#11 0x00007fff8f67fec9 in -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] ()
#12 0x00007fff8f67893e in -[NSView displayIfNeeded] ()
#13 0x00007fff8f797d76 in -[NSThemeFrame handleSetFrameCommonRedisplay] ()
#14 0x00007fff8f73a8cc in -[NSWindow _setFrameCommon:display:stashSize:] ()
#15 0x00007fff8f739f17 in -[NSWindow setFrame:display:] ()
#16 0x000000010b9c1ee8 in Fl_Window::resize ()
#17 0x000000011270c43e in plot_window::draw ()
#18 0x000000010b9bc435 in -[FLView drawRect:] ()
#19 0x00007fff8f687fdf in -[NSView _drawRect:clip:] ()
#20 0x00007fff8f6b58c4 in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] ()
#21 0x00007fff8f6b5cf0 in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] ()
#22 0x00007fff8f6855ba in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#23 0x00007fff8f684ab3 in -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#24 0x00007fff8f67fec9 in -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] ()
#25 0x00007fff8f67893e in -[NSView displayIfNeeded] ()
#26 0x00007fff8f73817d in -[NSWindow _reallyDoOrderWindow:relativeTo:findKey:forCounter:force:isModal:] ()
#27 0x00007fff8f737b7a in -[NSWindow _doOrderWindow:relativeTo:findKey:forCounter:force:isModal:] ()
#28 0x00007fff8f737802 in -[NSWindow orderWindow:relativeTo:] ()
#29 0x00007fff8f7370a3 in -[NSWindow makeKeyAndOrderFront:] ()
#30 0x000000010b9c310f in Fl_X::make ()
#31 0x0000000112708e8a in figure_manager::toggle_window_visibility ()
#32 0x0000000112713df4 in fltk_graphics_toolkit::update ()
#33 0x00000001001da8c6 in base_graphics_object::update ()
#34 0x0000000100181a44 in base_property::set ()
#35 0x00000001002031c6 in base_properties::set_visible ()
#36 0x0000000100189194 in base_properties::set ()
#37 0x000000010019dd10 in figure::properties::set ()
#38 0x000000010020b94f in figure::set ()
#39 0x00000001000d2b94 in graphics_object::set_value_or_default ()
#40 0x00000001000d2f60 in graphics_object::set ()
#41 0x000000010017be30 in Fset ()
#42 0x00000001004246d3 in octave_builtin::do_multi_index_op ()
#43 0x0000000100423379 in octave_builtin::subsref ()
#44 0x0000000100424314 in octave_builtin::subsref ()
#45 0x0000000100521afe in octave_value::subsref ()
#46 0x0000000100521b95 in octave_value::subsref ()
#47 0x00000001005d8c94 in tree_index_expression::rvalue ()
#48 0x00000001005da933 in tree_index_expression::rvalue ()
#49 0x00000001005d157a in tree_index_expression::rvalue1 ()
#50 0x00000001005c0f5b in tree_evaluator::visit_statement ()
#51 0x00000001005ba2e3 in tree_evaluator::visit_statement_list ()
#52 0x00000001005c0e82 in tree_evaluator::visit_statement ()
#53 0x00000001005ba2e3 in tree_evaluator::visit_statement_list ()
#54 0x00000001005c0e82 in tree_evaluator::visit_statement ()
#55 0x00000001005ba2e3 in tree_evaluator::visit_statement_list ()
#56 0x000000010050aa03 in octave_user_function::do_multi_index_op ()
#57 0x000000010050b132 in octave_user_function::subsref ()
#58 0x000000010050b814 in octave_user_function::subsref ()
#59 0x0000000100521afe in octave_value::subsref ()
#60 0x0000000100521b95 in octave_value::subsref ()
#61 0x00000001005d8c94 in tree_index_expression::rvalue ()
#62 0x00000001005da933 in tree_index_expression::rvalue ()
#63 0x00000001005d157a in tree_index_expression::rvalue1 ()
#64 0x00000001005c0f5b in tree_evaluator::visit_statement ()
#65 0x00000001005ba2e3 in tree_evaluator::visit_statement_list ()
#66 0x00000001003aee05 in main_loop ()
#67 0x000000010033785f in octave_main ()
#68 0x0000000100000f44 in start ()

Ben Abbott <bpabbott>
Project Member
Wed 23 Nov 2011 03:19:59 AM UTC, comment #37: 

Bump.

Is this problem still present?

John W. Eaton <jwe>
Project Administrator
Fri 05 Aug 2011 05:27:22 AM UTC, comment #36: 

Ben,
Another idea. What graphic card and which OpenGl driver (version) do you use. Is there anythings specific with your setup?
Kai (not logged in)

Anonymous
Thu 04 Aug 2011 08:16:35 PM UTC, comment #35: 

Unfortunately, I still see the crash.

>> graphics_toolkit fltk
Reading symbols for shared libraries . done
>> figure (1, "menubar", "figure")

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x98a4a159 in glViewport ()
(gdb) bt
#0  0x98a4a159 in glViewport ()
#1  0x034adf2c in OpenGL_fltk::setup_viewport () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:146
#2  0x034adf2c in OpenGL_fltk::resize (this=0x33c4ac0, xx=0, yy=20, ww=640, hh=440) at DLD-FUNCTIONS/__init_fltk__.cc:129
#3  0x034c4dd9 in fltk_uimenu::show () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:800
#4  0x034c4dd9 in plot_window::show_menubar () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:801
#5  0x034c4dd9 in plot_window::update_menubar () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:786
#6  0x034c4dd9 in plot_window::plot_window (this=0x3388570, xx=0, yy=0, ww=640, hh=480, xfp=@0x3a7b808) at DLD-FUNCTIONS/__init_fltk__.cc:744
#7  0x034c53c2 in plot_window [inlined] () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:745
#8  0x034c53c2 in figure_manager::do_new_window (this=0x33bc310, fp=@0x3a7b808) at DLD-FUNCTIONS/__init_fltk__.cc:1582
#9  0x034acb54 in figure_manager::new_window () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:1460
#10 0x034acb54 in __fltk_redraw__ () at DLD-FUNCTIONS/__init_fltk__.cc:1778
#11 0x034c568f in fltk_graphics_toolkit::redraw_figure (this=0x33896d0, go=@0xbfffa3b4) at DLD-FUNCTIONS/__init_fltk__.cc:1876
#12 0x001f81e3 in graphics_toolkit::redraw_figure () at /Users/bpabbott/Development/mercurial/default/src/graphics.h:7749
#13 0x001f81e3 in Fdrawnow (args=@0xbfffa648) at graphics.cc:7749
#14 0x004b3c3c in octave_builtin::do_multi_index_op (this=0x3863f60, nargout=0, args=@0xbfffa648, lvalue_list=0x0) at ov-builtin.cc:131
#15 0x004b4037 in octave_builtin::do_multi_index_op (this=0x3863f60, nargout=0, args=@0xbfffa648) at ov-builtin.cc:99
#16 0x00085b94 in octave_value::do_multi_index_op (this=0xbfffa588, nargout=0, idx=@0xbfffa648) at ov.cc:1266
#17 0x00060d75 in feval (name=@0xbfffa668, args=@0xbfffa648, nargout=0) at oct-parse.yy:4132
#18 0x0003e58a in interactive_input (s=@0xbfffa6cc, force_readline=false) at input.cc:237
#19 0x0003f016 in std::string::operator= () at /usr/include/c++/4.2.1/bits/basic_string.h:280
#20 0x0003f016 in octave_gets [inlined] () at /Users/bpabbott/Development/mercurial/default/src/input.cc:280
#21 get_user_input [inlined] () at /Users/bpabbott/Development/mercurial/default/src/input.cc:351
#22 0x0003f016 in octave_read (buf=0x3a75000 "", max_size=8192) at input.cc:373
#23 0x000402c3 in yy_get_next_buffer () at lex.cc:3112
#24 0x00051501 in octave_lex () at lex.cc:2954
#25 0x00067235 in octave_parse () at oct-parse.cc:2408
#26 0x00435461 in main_loop () at toplev.cc:567
#27 0x003cb339 in octave_main (argc=6, argv=0xbfffb3c4, embedded=0) at octave.cc:935
#28 0x00001f80 in main (argc=6, argv=0xbfffb3c4) at main.c:35

Perhaps another MacOS user who does not use Fink for dependencies might be recruited to take a look (i.e. maybe its just me / Fink?).

Ben Abbott <bpabbott>
Project Member
Thu 04 Aug 2011 07:12:47 PM UTC, comment #34: 

Hmm,
thanks for trying. I am running out of ideas. Can you again check the attached changeset. I have changed the command order in OpenGL_fltk::setup_viewport slightly. Maybe that is the problem here.

Kai

(file #23740)

Kai Habel <kahacjde>
Project Member
Wed 03 Aug 2011 09:43:19 PM UTC, comment #33: 

With the new changeset I see a crash when setting the menu bar.

>> graphics_toolkit fltk
Reading symbols for shared libraries . done
>> figure (1, "menubar", "figure")

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x98a4a25e in glMatrixMode ()
(gdb) bt
#0  0x98a4a25e in glMatrixMode ()
#1  0x034adf1c in OpenGL_fltk::setup_viewport () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:146
#2  0x034adf1c in OpenGL_fltk::resize (this=0x33c4b30, xx=0, yy=20, ww=640, hh=440) at DLD-FUNCTIONS/__init_fltk__.cc:129
#3  0x034c4dd9 in fltk_uimenu::show () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:800
#4  0x034c4dd9 in plot_window::show_menubar () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:801
#5  0x034c4dd9 in plot_window::update_menubar () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:786
#6  0x034c4dd9 in plot_window::plot_window (this=0x33885e0, xx=0, yy=0, ww=640, hh=480, xfp=@0x3a7ba08) at DLD-FUNCTIONS/__init_fltk__.cc:744
#7  0x034c53c2 in plot_window [inlined] () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:745
#8  0x034c53c2 in figure_manager::do_new_window (this=0x33bc380, fp=@0x3a7ba08) at DLD-FUNCTIONS/__init_fltk__.cc:1582
#9  0x034acb54 in figure_manager::new_window () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:1460
#10 0x034acb54 in __fltk_redraw__ () at DLD-FUNCTIONS/__init_fltk__.cc:1778
#11 0x034c568f in fltk_graphics_toolkit::redraw_figure (this=0x3389730, go=@0xbfffa3b8) at DLD-FUNCTIONS/__init_fltk__.cc:1876
#12 0x001fa9e8 in graphics_toolkit::redraw_figure () at /Users/bpabbott/Development/mercurial/default/src/graphics.h:7729
#13 0x001fa9e8 in Fdrawnow (args=@0xbfffa648) at graphics.cc:7729
#14 0x004a35fc in octave_builtin::do_multi_index_op (this=0x3863f40, nargout=0, args=@0xbfffa648, lvalue_list=0x0) at ov-builtin.cc:131
#15 0x004a39f7 in octave_builtin::do_multi_index_op (this=0x3863f40, nargout=0, args=@0xbfffa648) at ov-builtin.cc:99
#16 0x0007f1b8 in octave_value::do_multi_index_op (this=0xbfffa588, nargout=0, idx=@0xbfffa648) at ov.cc:1266
#17 0x0005dd25 in feval (name=@0xbfffa668, args=@0xbfffa648, nargout=0) at oct-parse.yy:4132
#18 0x0003b535 in interactive_input (s=@0xbfffa6cc, force_readline=false) at input.cc:237
#19 0x0003bfc1 in std::string::operator= () at /usr/include/c++/4.2.1/bits/basic_string.h:280
#20 0x0003bfc1 in octave_gets [inlined] () at /Users/bpabbott/Development/mercurial/default/src/input.cc:280
#21 get_user_input [inlined] () at /Users/bpabbott/Development/mercurial/default/src/input.cc:351
#22 0x0003bfc1 in octave_read (buf=0x3a75400 "", max_size=8192) at input.cc:373
#23 0x0003d26f in yy_get_next_buffer () at lex.cc:3112
#24 0x0004e4b9 in octave_lex () at lex.cc:2954
#25 0x000641e3 in octave_parse () at oct-parse.cc:2408
#26 0x00424dc3 in main_loop () at toplev.cc:567
#27 0x003bacb1 in octave_main (argc=6, argv=0xbfffb3c4, embedded=0) at octave.cc:935
#28 0x00001f80 in main (argc=6, argv=0xbfffb3c4) at main.c:35
(gdb)

I encountered a compile error with the changeset

DLD-FUNCTIONS/__init_fltk__.cc: In constructor 'plot_window::plot_window(int, int, int, int, figure::properties&)':
DLD-FUNCTIONS/__init_fltk__.cc:730: error: expected `;' before ':' token
make[3]: *** [DLD-FUNCTIONS/DLD_FUNCTIONS___init_fltk___la-__init_fltk__.lo] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

After replacing the colon at the end of line 730 with a semicolon it compiled.

I did not notice your request to try "figure(1,"menubar","figure")" for the prior changeset. Trying it now I see ...

>> graphics_toolkit fltk
Reading symbols for shared libraries . done
>> figure (1, "menubar", "figure")

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x98a4a25e in glMatrixMode ()
(gdb) bt
#0  0x98a4a25e in glMatrixMode ()
#1  0x034ae3a0 in OpenGL_fltk::setup_viewport () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:146
#2  0x034ae3a0 in OpenGL_fltk::resize (this=0x33c4b20, xx=0, yy=20, ww=640, hh=440) at DLD-FUNCTIONS/__init_fltk__.cc:129
#3  0x034be30d in fltk_uimenu::show () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:793
#4  0x034be30d in plot_window::show_menubar () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:794
#5  0x034be30d in plot_window::plot_window (this=0x33885d0, xx=0, yy=0, ww=640, hh=480, xfp=@0x3a7ba08) at DLD-FUNCTIONS/__init_fltk__.cc:745
#6  0x034c208c in plot_window [inlined] () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:748
#7  0x034c208c in figure_manager::do_new_window (this=0x33bc370, fp=@0x3a7ba08) at DLD-FUNCTIONS/__init_fltk__.cc:1580
#8  0x034acfab in figure_manager::new_window () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:1458
#9  0x034acfab in __fltk_redraw__ () at DLD-FUNCTIONS/__init_fltk__.cc:1775
#10 0x034c2359 in fltk_graphics_toolkit::redraw_figure (this=0x3389730, go=@0xbfffa3b8) at DLD-FUNCTIONS/__init_fltk__.cc:1873
#11 0x001fa9e8 in graphics_toolkit::redraw_figure () at /Users/bpabbott/Development/mercurial/default/src/graphics.h:7729
#12 0x001fa9e8 in Fdrawnow (args=@0xbfffa648) at graphics.cc:7729
#13 0x004a35fc in octave_builtin::do_multi_index_op (this=0x3863f40, nargout=0, args=@0xbfffa648, lvalue_list=0x0) at ov-builtin.cc:131
#14 0x004a39f7 in octave_builtin::do_multi_index_op (this=0x3863f40, nargout=0, args=@0xbfffa648) at ov-builtin.cc:99
#15 0x0007f1b8 in octave_value::do_multi_index_op (this=0xbfffa588, nargout=0, idx=@0xbfffa648) at ov.cc:1266
#16 0x0005dd25 in feval (name=@0xbfffa668, args=@0xbfffa648, nargout=0) at oct-parse.yy:4132
#17 0x0003b535 in interactive_input (s=@0xbfffa6cc, force_readline=false) at input.cc:237
#18 0x0003bfc1 in std::string::operator= () at /usr/include/c++/4.2.1/bits/basic_string.h:280
#19 0x0003bfc1 in octave_gets [inlined] () at /Users/bpabbott/Development/mercurial/default/src/input.cc:280
#20 get_user_input [inlined] () at /Users/bpabbott/Development/mercurial/default/src/input.cc:351
#21 0x0003bfc1 in octave_read (buf=0x3a75400 "", max_size=8192) at input.cc:373
#22 0x0003d26f in yy_get_next_buffer () at lex.cc:3112
#23 0x0004e4b9 in octave_lex () at lex.cc:2954
#24 0x000641e3 in octave_parse () at oct-parse.cc:2408
#25 0x00424dc3 in main_loop () at toplev.cc:567
#26 0x003bacb1 in octave_main (argc=6, argv=0xbfffb3c4, embedded=0) at octave.cc:935
#27 0x00001f80 in main (argc=6, argv=0xbfffb3c4) at main.c:35

Ben Abbott <bpabbott>
Project Member
Wed 03 Aug 2011 07:29:44 PM UTC, comment #32: 

Ben, can you check this changeset as well?

Kai

(file #23737)

Kai Habel <kahacjde>
Project Member
Tue 02 Aug 2011 06:01:35 AM UTC, comment #31: 

Ben,
Does
figure(1,“visible“,“off“,“menubar“,“none“)
 also crash?
And if you add
figure(1,“menubar“,“figure“)
Does it crash now?
Kai (not logged in)

Anonymous
Mon 01 Aug 2011 08:55:30 PM UTC, comment #30: 

With the patch I still encounter the crash. The backtrace is below.

>> graphics_toolkit fltk ;  figure (1, "visible", "off")
Reading symbols for shared libraries . done
>>
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x98a4a25e in glMatrixMode ()
(gdb) bt
#0  0x98a4a25e in glMatrixMode ()
#1  0x034ae3a0 in OpenGL_fltk::setup_viewport () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:146
#2  0x034ae3a0 in OpenGL_fltk::resize (this=0x33c4810, xx=0, yy=20, ww=640, hh=440) at DLD-FUNCTIONS/__init_fltk__.cc:129
#3  0x034be30d in fltk_uimenu::show () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:793
#4  0x034be30d in plot_window::show_menubar () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:794
#5  0x034be30d in plot_window::plot_window (this=0x3389590, xx=0, yy=0, ww=640, hh=480, xfp=@0x3a7c008) at DLD-FUNCTIONS/__init_fltk__.cc:745
#6  0x034c208c in plot_window [inlined] () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:748
#7  0x034c208c in figure_manager::do_new_window (this=0x33bc060, fp=@0x3a7c008) at DLD-FUNCTIONS/__init_fltk__.cc:1580
#8  0x034acfab in figure_manager::new_window () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:1458
#9  0x034acfab in __fltk_redraw__ () at DLD-FUNCTIONS/__init_fltk__.cc:1775
#10 0x034ad098 in F__fltk_redraw__ () at DLD-FUNCTIONS/__init_fltk__.cc:1936
#11 0x004a35fc in octave_builtin::do_multi_index_op (this=0x386b3e0, nargout=0, args=@0xbfffa2c0, lvalue_list=0x0) at ov-builtin.cc:131
#12 0x004a39f7 in octave_builtin::do_multi_index_op (this=0x386b3e0, nargout=0, args=@0xbfffa2c0) at ov-builtin.cc:99
#13 0x0007f1b8 in octave_value::do_multi_index_op (this=0xbfffa228, nargout=0, idx=@0xbfffa2c0) at ov.cc:1266
#14 0x0005dd25 in feval (name=@0xbfffa32c, args=@0xbfffa2c0, nargout=0) at oct-parse.yy:4132
#15 0x002a9844 in input_event_hook () at input.cc:1265
#16 0x01953815 in command_editor::event_handler () at cmd-edit.cc:894
#17 0x02ce75ec in rl_read_key ()
#18 0x02ccf9f8 in readline_internal_char ()
#19 0x02ccfbc4 in readline_internal_charloop ()
#20 0x02ccfbec in readline_internal ()
#21 0x02ccf6ac in readline ()
#22 0x01954b10 in gnu_readline::do_readline (this=0x3056180, prompt=@0xbfffa6cc, eof=@0xbfffa58f) at cmd-edit.cc:252
#23 0x019547e3 in command_editor::readline (prompt=@0xbfffa6cc, eof=@0xbfffa58f) at cmd-edit.cc:919
#24 0x0003a03d in gnu_readline (s=@0xbfffa6cc, force_readline=false) at input.cc:204
#25 0x0003bd9c in interactive_input (s=@0xbfffa6cc, force_readline=<value temporarily unavailable, due to optimizations>) at input.cc:250
#26 0x0003bfc1 in std::string::operator= () at /usr/include/c++/4.2.1/bits/basic_string.h:280
#27 0x0003bfc1 in octave_gets [inlined] () at /Users/bpabbott/Development/mercurial/default/src/input.cc:280
#28 get_user_input [inlined] () at /Users/bpabbott/Development/mercurial/default/src/input.cc:351
#29 0x0003bfc1 in octave_read (buf=0x3a65c00 "", max_size=8192) at input.cc:373
#30 0x0003d26f in yy_get_next_buffer () at lex.cc:3112
#31 0x0004e4b9 in octave_lex () at lex.cc:2954
#32 0x000641e3 in octave_parse () at oct-parse.cc:2408
#33 0x00424dc3 in main_loop () at toplev.cc:567
#34 0x003bacb1 in octave_main (argc=6, argv=0xbfffb3c4, embedded=0) at octave.cc:935
#35 0x00001f80 in main (argc=6, argv=0xbfffb3c4) at main.c:35

Ben Abbott <bpabbott>
Project Member
Mon 01 Aug 2011 07:02:30 PM UTC, comment #29: 

Ben, can you please test the attached changeset (hide.canvas). Now the canvas is hidden, when we try to resize it. Maybe this is the reason for the Mac problems.

Kai

(file #23726)

Kai Habel <kahacjde>
Project Member
Sun 31 Jul 2011 06:57:00 PM UTC, comment #28: 

On Jul 31, 2011, at 2:52 PM, Kai Habel wrote:

>>
>> Ben,
>>
>> am I right that you get the crash when you just do:
>>
>> graphics_toolkit fltk ; figure (1, "visible", "off")
>>
>> Kai
>>


Yes. That is correct.

Ben

Ben Abbott <bpabbott>
Project Member
Sun 31 Jul 2011 06:46:03 PM UTC, comment #27: 

Unfortunately, I still see the core dump. My tip is ...

$ hg tip
changeset:   12903:35ea8b9b2a8e
tag:         tip
user:        Kai Habel <kai.habel@gmx.de>
date:        Sun Jul 31 20:15:09 2011 +0200
summary:     _init_fltk_.cc: show canvas only, when figure is visible (bug #33321)

The backtrace is below.

>> graphics_toolkit fltk ; figure (1, "visible", "off")
Reading symbols for shared libraries . done
>>
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x98a4a25e in glMatrixMode ()
(gdb) bt
#0  0x98a4a25e in glMatrixMode ()
#1  0x034af6a0 in OpenGL_fltk::setup_viewport () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:146
#2  0x034af6a0 in OpenGL_fltk::resize (this=0x30727b0, xx=0, yy=20, ww=640, hh=440) at DLD-FUNCTIONS/__init_fltk__.cc:129
#3  0x034be849 in fltk_uimenu::show () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:787
#4  0x034be849 in plot_window::show_menubar () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:788
#5  0x034be849 in plot_window::plot_window (this=0x337b390, xx=0, yy=0, ww=640, hh=480, xfp=@0x3a7a208) at DLD-FUNCTIONS/__init_fltk__.cc:751
#6  0x034bee2a in plot_window [inlined] () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:754
#7  0x034bee2a in figure_manager::do_new_window (this=0x33b5760, fp=@0x3a7a208) at DLD-FUNCTIONS/__init_fltk__.cc:1574
#8  0x034ad20e in figure_manager::new_window () at /Users/bpabbott/Development/mercurial/default/src/DLD-FUNCTIONS/__init_fltk__.cc:1452
#9  0x034ad20e in __fltk_redraw__ () at DLD-FUNCTIONS/__init_fltk__.cc:1769
#10 0x034ad2fb in F__fltk_redraw__ () at DLD-FUNCTIONS/__init_fltk__.cc:1930
#11 0x004a35fc in octave_builtin::do_multi_index_op (this=0x386b3e0, nargout=0, args=@0xbfffa2e0, lvalue_list=0x0) at ov-builtin.cc:131
#12 0x004a39f7 in octave_builtin::do_multi_index_op (this=0x386b3e0, nargout=0, args=@0xbfffa2e0) at ov-builtin.cc:99
#13 0x0007f1b8 in octave_value::do_multi_index_op (this=0xbfffa248, nargout=0, idx=@0xbfffa2e0) at ov.cc:1266
#14 0x0005dd25 in feval (name=@0xbfffa34c, args=@0xbfffa2e0, nargout=0) at oct-parse.yy:4132
#15 0x002a9844 in input_event_hook () at input.cc:1265
#16 0x01953815 in command_editor::event_handler () at cmd-edit.cc:894
#17 0x02ce75ec in rl_read_key ()
#18 0x02ccf9f8 in readline_internal_char ()
#19 0x02ccfbc4 in readline_internal_charloop ()
#20 0x02ccfbec in readline_internal ()
#21 0x02ccf6ac in readline ()
#22 0x01954b10 in gnu_readline::do_readline (this=0x3056170, prompt=@0xbfffa6ec, eof=@0xbfffa5af) at cmd-edit.cc:252
#23 0x019547e3 in command_editor::readline (prompt=@0xbfffa6ec, eof=@0xbfffa5af) at cmd-edit.cc:919
#24 0x0003a03d in gnu_readline (s=@0xbfffa6ec, force_readline=false) at input.cc:204
#25 0x0003bd9c in interactive_input (s=@0xbfffa6ec, force_readline=<value temporarily unavailable, due to optimizations>) at input.cc:250
#26 0x0003bfc1 in std::string::operator= () at /usr/include/c++/4.2.1/bits/basic_string.h:280
#27 0x0003bfc1 in octave_gets [inlined] () at /Users/bpabbott/Development/mercurial/default/src/input.cc:280
#28 get_user_input [inlined] () at /Users/bpabbott/Development/mercurial/default/src/input.cc:351
#29 0x0003bfc1 in octave_read (buf=0x3a75200 "", max_size=8192) at input.cc:373
#30 0x0003d26f in yy_get_next_buffer () at lex.cc:3112
#31 0x0004e4b9 in octave_lex () at lex.cc:2954
#32 0x000641e3 in octave_parse () at oct-parse.cc:2408
#33 0x00424dc3 in main_loop () at toplev.cc:567
#34 0x003bacb1 in octave_main (argc=6, argv=0xbfffb3dc, embedded=0) at octave.cc:935
#35 0x00001f80 in main (argc=6, argv=0xbfffb3dc) at main.c:35

Ben Abbott <bpabbott>
Project Member
Sun 31 Jul 2011 06:25:26 PM UTC, comment #26: 

I have applied another fix to the default branch (#33321). It solves recent crashes on linux and mingw (32bit) for me. Does this small fix solve the problem for MacOS as well?

Kai

Kai Habel <kahacjde>
Project Member
Tue 29 Mar 2011 11:09:56 PM UTC, comment #25: 

I still get a core dump.

Ben Abbott <bpabbott>
Project Member
Tue 29 Mar 2011 10:24:57 PM UTC, comment #24: 

Ben,

Is this bug report still open?  It seems like some of the patches may have been applied.

--Rik

Rik <rik5>
Project Administrator
Mon 07 Feb 2011 07:01:17 PM UTC, comment #23: 

With both patches below applied

diffs-canvas-make-current.txt
diffs-5-update.diff

On MacOS, I'm able to run Soren's dump_demos script.

I still encounter a gs crash for the slice.m demo when using the FLTK backend, and encounter a crash for the hold.5 demo #5 for the gnuplot backend. These have always been problems for me.

Without these patches and using FLTK, I see crashes for demo [1] of rose, [2, 3] of scatter, [1, 2, 3] of scatter3, and [1] of slice.

If there are no concerns, I'd like to see these applied.

Ben Abbott <bpabbott>
Project Member
Mon 07 Feb 2011 02:58:25 PM UTC, comment #22: 

With the diffs-5.txt patch applied, MacOS does not crash. I needed to modify the patch since fltk_backend.cc no longer exists and _init_fltk_.cc has been modified a bit since the patch was generated.

I've attached the modified version (diffs-5-update.diff). Since the ChangeLog entry didn't apply it is missing. The rest should be ok.

Ben Abbott <bpabbott>
Project Member
Mon 07 Feb 2011 02:34:19 PM UTC, comment #21: 

Running Ubuntu 10.05 with the tip, I get a crash for ...

graphics_toolkit fltk
figure

With diffs-canvas-make-current.txt applied I do not.

Unfortunately, on MacOS ...

octave:1> graphics_toolkit ("fltk"); figure (1, "visible", "off")
octave:2> panic: Bus error -- stopping myself...
attempting to save variables to `octave-core'...
save to `octave-core' complete

Should I also apply diffs-5.txt?

Ben Abbott <bpabbott>
Project Member
Mon 07 Feb 2011 08:33:43 AM UTC, comment #20: 

I don't know the code well enough to have say if your patch is correct or not. It seems like some OpenGL implementations don't care if a GL context is available, while others crash if one is not. At least my version of FLTK seems to only create a context when we call 'Fl_Window::show ()', which means that the current code is bound to crash when working with invisible figures.

I came up with the attached patch which fixes things for me. It is quite similar to the ones suggested by JWE. However, as I said I don't know the code well enough to make an informed decision here :-(

Søren

(file #22617)

Søren Hauberg <hauberg>
Mon 07 Feb 2011 08:05:04 AM UTC, comment #19: 

Sorry, I forgot to attach the patch.

Also, any comment from anyone about my previous patch?  Is that needed?  It has not been checked in yet.

(file #22616)

John W. Eaton <jwe>
Project Administrator
Mon 07 Feb 2011 08:00:59 AM UTC, comment #18: 

Does the attached patch help?

I don't see the crash with

graphics_toolkit fltk
figure

alone, but I do see a crash with the figure window invisible.

With the patch, I am able to do

graphics_toolkit fltk
figure (1, 'visible', 'off')
sombrero
print -depsc foo.ps

without a crash, but of course the file foo.ps is empty because we can apparently only print things that are shown on the screen.  I think that will eventually have to be fixed by generating PostScript (or other) output directly from the figure properties instead of trying to generate output from an OpenGL window.

But anyway, that is a separate issue.

So, should I apply the patch for 3.4?

I have no idea whether it makes sense to make the canvas current before hiding it, but apparently that avoids trouble for you, right?

John W. Eaton <jwe>
Project Administrator
Sun 06 Feb 2011 08:31:29 PM UTC, comment #17: 

I've spend a little time on investigating this issue as it really makes FLTK unstable for me. With the current code I see a crash when I do

  graphics_toolkit fltk
  figure

The crash happens in the call to 'canvas->resize' in 'plot_window::show_menubar'. The issue is that en OpenGL context has not been created at this time, which causes the line

  glMatrixMode (GL_PROJECTION);

in 'OpenGL_fltk::setup_viewport' to crash Octave. Thus, the real question is: why has an OpenGL context not been created?

Well, in the 'plot_window' constructor we have the following code

  if (fp.get_currentaxes ().ok())
    show_canvas ();
  else
    hide_canvas ();

As I have just called 'figure' from the Octave prompt, there is no plot content and hence no axes. This means that 'show_canvas' is not called. This is important as 'show_canvas' calls 'canvas->make_current ()' which creates the current OpenGL context.

I tried adding

  canvas->make_current ();

before the above-mentioned conditional expression in the 'plot_window' constructor and I no longer see the crash and things work for me. I realise that this is most-likely not the correct solution, but hopefully it provides a hint of what the right solution might be.

I hope this is helpful :-)

Søren

Søren Hauberg <hauberg>
Thu 20 Jan 2011 10:34:14 PM UTC, comment #16: 

I am seeing similar behaviour (as noted in bug #32165). For me the crash happens in line 136 in fltk_backend.cc

  glMatrixMode (GL_PROJECTION);

A bit of Google'ing tells me that this usually happens if the frame buffer is not initialised. I tried seeing if I could call glCheckFrameBufferStatus to determine this, but I never managed to persuade the compiler that such a function exists :-(

Is it possible that when we don't have a plot to show, we don't have a frame buffer either?

Søren

Søren Hauberg <hauberg>
Thu 20 Jan 2011 09:58:23 AM UTC, comment #15: 

I can confirm John's comment #13. I have he same behavior. I will have look.

Kai

Kai Habel <kahacjde>
Project Member
Fri 14 Jan 2011 12:54:23 PM UTC, comment #14: 

I don't know enough to fix this either.

I've changed the status.

Ben Abbott <bpabbott>
Project Member
Fri 14 Jan 2011 07:06:23 AM UTC, comment #13: 

I still can't duplicate the crash, but it is not working correctly either.

With my diffs-5.txt patch, I get a window after doing the

figure (1, 'visible', 'on')

but no plot appears.  I could use some help from someone who knows more about OpenGL and fltk.

Should we keep the blocker status for this report?  It does work correctly for the gnuplot backend.  It would be great if it worked for the fltk backend, but I'm not sure that is critical for the release.

John W. Eaton <jwe>
Project Administrator
Tue 21 Dec 2010 01:12:06 PM UTC, comment #12: 

Yes, that fixed the crash I was seeing. However, a crash now occurs when "visible" is set to "on.

octave:1> backend ("fltk"); figure (1, "visible", "off")
Reading symbols for shared libraries . done
octave:2> surf(peaks)
octave:3> figure(1, "visible", "on")
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x97a1025e in glMatrixMode ()
(gdb) bt
#0  0x97a1025e in glMatrixMode ()
#1  0x04455ddc in OpenGL_fltk::setup_viewport () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:136
#2  0x04455ddc in OpenGL_fltk::resize (this=0x4175790, xx=0, yy=0, ww=560, hh=440) at DLD-FUNCTIONS/fltk_backend.cc:120
#3  0x0284c8b7 in Fl_Group::resize ()
#4  0x02838725 in Fl_Window::resize ()
#5  0x0445feb3 in Matrix [inlined] () at /Users/bpabbott/Development/mercurial/local_clone/liboctave/dMatrix.h:1127
#6  0x0445feb3 in plot_window::resize (this=0x4175ee0, xx=440, yy=280, ww=560, hh=460) at DLD-FUNCTIONS/fltk_backend.cc:1129
#7  0x028393d7 in carbonWindowHandler ()
#8  0x92b2af2f in DispatchEventToHandlers ()
#9  0x92b2a1f6 in SendEventToEventTargetInternal ()
#10 0x92b2a055 in SendEventToEventTargetWithOptions ()
#11 0x92b4c91a in SendBoundsChangeEvent ()
#12 0x92b4c67a in MoveResizeWindowInternal ()
#13 0x92b4bf9c in WindowData::SetBounds ()
#14 0x92b4bdd4 in SetWindowBounds ()
#15 0x02838698 in Fl_Window::resize ()
#16 0x04465df6 in plot_window::draw (this=0x4175ee0) at DLD-FUNCTIONS/fltk_backend.cc:1141
#17 0x02835d0e in Fl_X::flush ()
#18 0x02835deb in handleUpdateEvent ()
#19 0x02839327 in carbonWindowHandler ()
#20 0x92b2af2f in DispatchEventToHandlers ()
#21 0x92b2a1f6 in SendEventToEventTargetInternal ()
#22 0x92b4c9bb in SendEventToEventTarget ()
#23 0x92b5d27d in SendEvent ()
#24 0x92b5d108 in PaintWindow ()
#25 0x92b4ff78 in WindowData::PrepareForVisibility ()
#26 0x92b4f4d8 in _ShowHideWindows ()
#27 0x92bb21fb in ShowWindow ()
#28 0x02838e43 in Fl_X::make ()
#29 0x0446c6d4 in figure_manager::do_toggle_window_visibility () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:1571
#30 0x0446c6d4 in figure_manager::toggle_window_visibility () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:1446
#31 0x0446c6d4 in figure_manager::toggle_window_visibility () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:1451
#32 0x0446c6d4 in fltk_backend::update (this=0x40f71f0, go=@0xbfff9acc, id=16) at DLD-FUNCTIONS/fltk_backend.cc:1814
#33 0x001dc075 in graphics_backend::update () at /Users/bpabbott/Development/mercurial/local_clone/src/graphics.h:804
#34 0x001dc075 in base_property::set (this=0x3936e9c, v=@0xbfff9dc0, do_run=true) at graphics.cc:804
#35 0x001e5365 in base_properties::set_visible () at /Users/bpabbott/Development/mercurial/local_clone/src/graphics.h:2390
#36 0x001e5365 in base_properties::set (this=0x3936a08, pname=@0xbfff9c98, val=@0xbfff9dc0) at graphics.h:83
#37 0x001ed71c in figure::properties::set (this=0x3936a08, pname_arg=@0xbfff9dcc, val=@0xbfff9dc0) at graphics-props.cc:830
#38 0x0029fce6 in figure::set (this=0x3936a00, name=@0xbfff9dcc, value=@0xbfff9dc0) at graphics.h:4207
#39 0x001c321c in graphics_object::set_value_or_default (this=0xbfff9fac, name=@0xbfff9dcc, val=@0xbfff9dc0) at graphics.cc:1813
#40 0x001c372e in graphics_object::set (this=0xbfff9fac, args=@0xbfff9e70) at graphics.cc:1672
#41 0x00211ffa in Fset (args=@0x40e8e48, nargout=0) at graphics.cc:6071
#42 0x004b52b6 in octave_builtin::do_multi_index_op (this=0x3849ac0, nargout=0, args=@0x40e8e48, lvalue_list=0x0) at ov-builtin.cc:129
#43 0x004b40e4 in octave_builtin::subsref (this=0x3849ac0, type=@0xbfffa494, idx=@0xbfffa450, nargout=0, lvalue_list=0x0) at ov-builtin.cc:64
#44 0x004b49dc in octave_builtin::subsref (this=0x3849ac0, type=@0xbfffa494, idx=@0xbfffa450, nargout=0) at ov-builtin.cc:47
#45 0x005db3e8 in octave_value::subsref (this=0xbfffa470, type=@0xbfffa494, idx=@0xbfffa450, nargout=0) at ov.cc:1202
#46 0x005db45d in octave_value::subsref (this=0xbfffa470, type=@0xbfffa494, idx=@0xbfffa450, nargout=0, lvalue_list=0x0) at ov.cc:1213
#47 0x006b8391 in tree_index_expression::rvalue (this=0x40faf40, nargout=0, lvalue_list=0x0) at pt-idx.cc:408
#48 0x006b8658 in tree_index_expression::rvalue (this=0x40faf40, nargout=0) at pt-idx.cc:278
#49 0x006b6eaa in tree_index_expression::rvalue1 (this=0x40faf40, nargout=0) at pt-idx.cc:419
#50 0x006ab3c3 in tree_evaluator::visit_statement (this=0xe6b5e0, stmt=@0x40fb020) at pt-eval.cc:737
#51 0x006de387 in tree_statement::accept (this=0x40fb020, tw=@0xe6b5e0) at pt-stmt.cc:152
#52 0x006a81a1 in tree_evaluator::visit_statement_list (this=0xe6b5e0, lst=@0x40fb050) at pt-eval.cc:773
#53 0x000850dd in tree_statement_list::accept (this=0x40fb050, tw=@0xe6b5e0) at pt-stmt.cc:216
#54 0x006ab613 in tree_evaluator::visit_if_command_list (this=0xe6b5e0, lst=@0x40fa6d0) at pt-eval.cc:574
#55 0x006dd06c in tree_if_command_list::accept (this=0x40fa6d0, tw=@0xe6b5e0) at pt-select.cc:84
#56 0x006ab677 in tree_evaluator::visit_if_command (this=0xe6b5e0, cmd=@0x40fac80) at pt-eval.cc:552
#57 0x006dd086 in tree_if_command::accept (this=0x40fac80, tw=@0xe6b5e0) at pt-select.cc:109
#58 0x006ab313 in tree_evaluator::visit_statement (this=0xe6b5e0, stmt=@0x40fb0d0) at pt-eval.cc:707
#59 0x006de387 in tree_statement::accept (this=0x40fb0d0, tw=@0xe6b5e0) at pt-stmt.cc:152
#60 0x006a81a1 in tree_evaluator::visit_statement_list (this=0xe6b5e0, lst=@0x40fb0e0) at pt-eval.cc:773
#61 0x000850dd in tree_statement_list::accept (this=0x40fb0e0, tw=@0xe6b5e0) at pt-stmt.cc:216
#62 0x006ab613 in tree_evaluator::visit_if_command_list (this=0xe6b5e0, lst=@0x40fb470) at pt-eval.cc:574
#63 0x006dd06c in tree_if_command_list::accept (this=0x40fb470, tw=@0xe6b5e0) at pt-select.cc:84
#64 0x006ab677 in tree_evaluator::visit_if_command (this=0xe6b5e0, cmd=@0x40fb4a0) at pt-eval.cc:552
#65 0x006dd086 in tree_if_command::accept (this=0x40fb4a0, tw=@0xe6b5e0) at pt-select.cc:109
#66 0x006ab313 in tree_evaluator::visit_statement (this=0xe6b5e0, stmt=@0x40fb4c0) at pt-eval.cc:707
#67 0x006de387 in tree_statement::accept (this=0x40fb4c0, tw=@0xe6b5e0) at pt-stmt.cc:152
#68 0x006a81a1 in tree_evaluator::visit_statement_list (this=0xe6b5e0, lst=@0x40f38d0) at pt-eval.cc:773
#69 0x000850dd in tree_statement_list::accept (this=0x40f38d0, tw=@0xe6b5e0) at pt-stmt.cc:216
#70 0x005cbfdc in octave_user_function::do_multi_index_op (this=0x384c5fc, nargout=0, args=@0x40e8de8, lvalue_list=0x0) at ov-usr-fcn.cc:450
#71 0x005c5889 in octave_user_function::subsref (this=0x384c5fc, type=@0xbfffae64, idx=@0xbfffae20, nargout=0, lvalue_list=0x0) at ov-usr-fcn.cc:303
#72 0x005c66e0 in octave_user_function::subsref (this=0x384c5fc, type=@0xbfffae64, idx=@0xbfffae20, nargout=0) at ov-usr-fcn.cc:286
#73 0x005db3e8 in octave_value::subsref (this=0xbfffae40, type=@0xbfffae64, idx=@0xbfffae20, nargout=0) at ov.cc:1202
#74 0x005db45d in octave_value::subsref (this=0xbfffae40, type=@0xbfffae64, idx=@0xbfffae20, nargout=0, lvalue_list=0x0) at ov.cc:1213
#75 0x006b8391 in tree_index_expression::rvalue (this=0x40e8540, nargout=0, lvalue_list=0x0) at pt-idx.cc:408
#76 0x006b8658 in tree_index_expression::rvalue (this=0x40e8540, nargout=0) at pt-idx.cc:278
#77 0x006b6eaa in tree_index_expression::rvalue1 (this=0x40e8540, nargout=0) at pt-idx.cc:419
#78 0x006ab3c3 in tree_evaluator::visit_statement (this=0xe6b5e0, stmt=@0x40e8670) at pt-eval.cc:737
#79 0x006de387 in tree_statement::accept (this=0x40e8670, tw=@0xe6b5e0) at pt-stmt.cc:152
#80 0x006a81a1 in tree_evaluator::visit_statement_list (this=0xe6b5e0, lst=@0x40e8640) at pt-eval.cc:773
#81 0x000850dd in tree_statement_list::accept (this=0x40e8640, tw=@0xe6b5e0) at pt-stmt.cc:216
#82 0x00434d48 in main_loop () at toplev.cc:574
#83 0x003cbf7a in octave_main (argc=6, argv=0xbfffb1d0, embedded=0) at octave.cc:933
#84 0x00001f82 in main (argc=6, argv=0xbfffb1d0) at main.c:35

Ben Abbott <bpabbott>
Project Member
Tue 21 Dec 2010 02:55:10 AM UTC, comment #11: 

OK, one more attempt (diffs-5.txt).

(file #22252)

John W. Eaton <jwe>
Project Administrator
Mon 20 Dec 2010 10:47:06 PM UTC, comment #10: 

I still encounter the EXC_BAD_ACCESS.

octave:1> backend ("fltk"); figure (1, "visible", "off")
Reading symbols for shared libraries . done
octave:2>
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x97a1025e in glMatrixMode ()
(gdb) bt
#0  0x97a1025e in glMatrixMode ()
#1  0x04554bd4 in OpenGL_fltk::setup_viewport () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:136
#2  0x04554bd4 in OpenGL_fltk::resize (this=0x40b0800, xx=0, yy=0, ww=640, hh=460) at DLD-FUNCTIONS/fltk_backend.cc:120
#3  0x04564881 in fltk_uimenu::hide () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:787
#4  0x04564881 in plot_window::hide_menubar () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:788
#5  0x04564881 in plot_window::plot_window (this=0x424cf90, xx=0, yy=0, ww=640, hh=480, xfp=@0x38c6a08) at DLD-FUNCTIONS/fltk_backend.cc:739
#6  0x04564e40 in plot_window [inlined] () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:740
#7  0x04564e40 in figure_manager::do_new_window (this=0x4244220, fp=@0x38c6a08) at DLD-FUNCTIONS/fltk_backend.cc:1550
#8  0x0454fabb in figure_manager::new_window () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:1428
#9  0x0454fabb in __fltk_redraw__ () at DLD-FUNCTIONS/fltk_backend.cc:1744
#10 0x0454fb8a in F__fltk_redraw__ () at DLD-FUNCTIONS/fltk_backend.cc:1883
#11 0x004b52b6 in octave_builtin::do_multi_index_op (this=0x38289e0, nargout=0, args=@0xbfffa0c0, lvalue_list=0x0) at ov-builtin.cc:129
#12 0x004b568f in octave_builtin::do_multi_index_op (this=0x38289e0, nargout=0, args=@0xbfffa0c0) at ov-builtin.cc:99
#13 0x00080406 in octave_value::do_multi_index_op (this=0xbfffa018, nargout=0, idx=@0xbfffa0c0) at ov.cc:1267
#14 0x000618cf in feval (name=@0xbfffa12c, args=@0xbfffa0c0, nargout=0) at oct-parse.yy:4136
#15 0x002b7af1 in input_event_hook () at input.cc:1266
#16 0x01947c2f in command_editor::event_handler () at cmd-edit.cc:889
#17 0x02c015ec in rl_read_key ()
#18 0x02be99f8 in readline_internal_char ()
#19 0x02be9bc4 in readline_internal_charloop ()
#20 0x02be9bec in readline_internal ()
#21 0x02be96ac in readline ()
#22 0x0194e2c6 in octave_rl_readline (prompt=0x422fccc "octave:2> ") at oct-rl-edit.c:167
#23 0x01948d6a in gnu_readline::do_readline (this=0x41010f0, prompt=@0xbfffa4ec, eof=@0xbfffa3af) at cmd-edit.cc:253
#24 0x01948c65 in command_editor::readline (prompt=@0xbfffa4ec, eof=@0xbfffa3af) at cmd-edit.cc:914
#25 0x0003bb99 in gnu_readline (s=@0xbfffa4ec, force_readline=false) at input.cc:205
#26 0x0003da2b in interactive_input (s=@0xbfffa4ec, force_readline=<value temporarily unavailable, due to optimizations>) at input.cc:251
#27 0x0003dc50 in std::string::operator= () at /usr/include/c++/4.2.1/bits/basic_string.h:281
#28 0x0003dc50 in octave_gets [inlined] () at /Users/bpabbott/Development/mercurial/local_clone/src/input.cc:281
#29 get_user_input [inlined] () at /Users/bpabbott/Development/mercurial/local_clone/src/input.cc:352
#30 0x0003dc50 in octave_read (buf=0x494dc00 "", max_size=8192) at input.cc:374
#31 0x0003eeff in yy_get_next_buffer () at lex.cc:3098
#32 0x0004ff09 in octave_lex () at lex.cc:2940
#33 0x00065c4c in octave_parse () at oct-parse.cc:2395
#34 0x00434d1b in main_loop () at toplev.cc:568
#35 0x003cbf7a in octave_main (argc=6, argv=0xbfffb1d0, embedded=0) at octave.cc:933
#36 0x00001f82 in main (argc=6, argv=0xbfffb1d0) at main.c:35
(gdb)

Ben Abbott <bpabbott>
Project Member
Mon 20 Dec 2010 08:34:22 PM UTC, comment #9: 

OK, I think I was misreading the backtrace.  I've attached another attempt (diffs-4.txt).

(file #22248)

John W. Eaton <jwe>
Project Administrator
Mon 20 Dec 2010 07:36:11 PM UTC, comment #8: 

Same result as the last one.

octave:1> backend ("fltk"); figure (1, "visible", "off")
Reading symbols for shared libraries . done
octave:2>
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x97a1025e in glMatrixMode ()
(gdb) bt
#0  0x97a1025e in glMatrixMode ()
#1  0x04554b52 in OpenGL_fltk::setup_viewport () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:136
#2  0x04554b52 in OpenGL_fltk::resize (this=0x2ecb170, xx=0, yy=20, ww=640, hh=440) at DLD-FUNCTIONS/fltk_backend.cc:120
#3  0x0456367b in fltk_uimenu::show () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:765
#4  0x0456367b in plot_window::show_menubar () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:766
#5  0x0456367b in plot_window::plot_window (this=0x2ecb0b0, xx=0, yy=0, ww=640, hh=480, xfp=@0x4951408) at DLD-FUNCTIONS/fltk_backend.cc:728
#6  0x04563c8a in plot_window [inlined] () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:731
#7  0x04563c8a in figure_manager::do_new_window () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:1541
#8  0x04563c8a in figure_manager::new_window (fp=@0x4951408) at DLD-FUNCTIONS/fltk_backend.cc:1419
#9  0x04550338 in __fltk_redraw__ () at DLD-FUNCTIONS/fltk_backend.cc:1735
#10 0x04550425 in F__fltk_redraw__ () at DLD-FUNCTIONS/fltk_backend.cc:1874
#11 0x004b52b6 in octave_builtin::do_multi_index_op (this=0x48401e0, nargout=0, args=@0xbfffa0c0, lvalue_list=0x0) at ov-builtin.cc:129
#12 0x004b568f in octave_builtin::do_multi_index_op (this=0x48401e0, nargout=0, args=@0xbfffa0c0) at ov-builtin.cc:99
#13 0x00080406 in octave_value::do_multi_index_op (this=0xbfffa018, nargout=0, idx=@0xbfffa0c0) at ov.cc:1267
#14 0x000618cf in feval (name=@0xbfffa12c, args=@0xbfffa0c0, nargout=0) at oct-parse.yy:4136
#15 0x002b7af1 in input_event_hook () at input.cc:1266
#16 0x01947c2f in command_editor::event_handler () at cmd-edit.cc:889
#17 0x02c015ec in rl_read_key ()
#18 0x02be99f8 in readline_internal_char ()
#19 0x02be9bc4 in readline_internal_charloop ()
#20 0x02be9bec in readline_internal ()
#21 0x02be96ac in readline ()
#22 0x0194e2c6 in octave_rl_readline (prompt=0x2e6f71c "octave:2> ") at oct-rl-edit.c:167
#23 0x01948d6a in gnu_readline::do_readline (this=0x4235d10, prompt=@0xbfffa4ec, eof=@0xbfffa3af) at cmd-edit.cc:253
#24 0x01948c65 in command_editor::readline (prompt=@0xbfffa4ec, eof=@0xbfffa3af) at cmd-edit.cc:914
#25 0x0003bb99 in gnu_readline (s=@0xbfffa4ec, force_readline=false) at input.cc:205
#26 0x0003da2b in interactive_input (s=@0xbfffa4ec, force_readline=<value temporarily unavailable, due to optimizations>) at input.cc:251
#27 0x0003dc50 in std::string::operator= () at /usr/include/c++/4.2.1/bits/basic_string.h:281
#28 0x0003dc50 in octave_gets [inlined] () at /Users/bpabbott/Development/mercurial/local_clone/src/input.cc:281
#29 get_user_input [inlined] () at /Users/bpabbott/Development/mercurial/local_clone/src/input.cc:352
#30 0x0003dc50 in octave_read (buf=0x505de00 "", max_size=8192) at input.cc:374
#31 0x0003eeff in yy_get_next_buffer () at lex.cc:3098
#32 0x0004ff09 in octave_lex () at lex.cc:2940
#33 0x00065c4c in octave_parse () at oct-parse.cc:2395
#34 0x00434d1b in main_loop () at toplev.cc:568
#35 0x003cbf7a in octave_main (argc=6, argv=0xbfffb1d0, embedded=0) at octave.cc:933
#36 0x00001f82 in main (argc=6, argv=0xbfffb1d0) at main.c:35

Ben Abbott <bpabbott>
Project Member
Mon 20 Dec 2010 06:49:43 PM UTC, comment #7: 

Your crash looks different.  I'm attaching a new attempt at a fix (diffs-3.txt).  You should remove my first patch and apply this one instead.  Does it avoid the problem for you?  If not, please post another backtrace.

John W. Eaton <jwe>
Project Administrator
Mon 20 Dec 2010 04:31:53 PM UTC, comment #6: 

Unfortunately, I still see the crash on MacOS. I'm using the aqua version of FLTK. Might that be related?

octave:1>  backend ("fltk"); figure (1, "visible", "off")
Reading symbols for shared libraries . done
octave:2>
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x97a1025e in glMatrixMode ()
(gdb) bt
#0  0x97a1025e in glMatrixMode ()
#1  0x04654bd2 in OpenGL_fltk::setup_viewport () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:136
#2  0x04654bd2 in OpenGL_fltk::resize (this=0x2ebc060, xx=0, yy=20, ww=640, hh=440) at DLD-FUNCTIONS/fltk_backend.cc:120
#3  0x0466be11 in fltk_uimenu::show () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:765
#4  0x0466be11 in plot_window::show_menubar () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:766
#5  0x0466be11 in plot_window::plot_window (this=0x2ebc550, xx=0, yy=0, ww=640, hh=480, xfp=@0x3821808) at DLD-FUNCTIONS/fltk_backend.cc:728
#6  0x0466c446 in plot_window [inlined] () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:731
#7  0x0466c446 in figure_manager::do_new_window () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:1541
#8  0x0466c446 in figure_manager::new_window (fp=@0x3821808) at DLD-FUNCTIONS/fltk_backend.cc:1419
#9  0x04652c4c in __fltk_redraw__ () at DLD-FUNCTIONS/fltk_backend.cc:1735
#10 0x04652d1b in F__fltk_redraw__ () at DLD-FUNCTIONS/fltk_backend.cc:1874
#11 0x004b52b6 in octave_builtin::do_multi_index_op (this=0x48475e0, nargout=0, args=@0xbfffa0c0, lvalue_list=0x0) at ov-builtin.cc:129
#12 0x004b568f in octave_builtin::do_multi_index_op (this=0x48475e0, nargout=0, args=@0xbfffa0c0) at ov-builtin.cc:99
#13 0x00080406 in octave_value::do_multi_index_op (this=0xbfffa018, nargout=0, idx=@0xbfffa0c0) at ov.cc:1267
#14 0x000618cf in feval (name=@0xbfffa12c, args=@0xbfffa0c0, nargout=0) at oct-parse.yy:4136
#15 0x002b7af1 in input_event_hook () at input.cc:1266
#16 0x01947c2f in command_editor::event_handler () at cmd-edit.cc:889
#17 0x02c015ec in rl_read_key ()
#18 0x02be99f8 in readline_internal_char ()
#19 0x02be9bc4 in readline_internal_charloop ()
#20 0x02be9bec in readline_internal ()
#21 0x02be96ac in readline ()
#22 0x0194e2c6 in octave_rl_readline (prompt=0x2e4cc5c "octave:2> ") at oct-rl-edit.c:167
#23 0x01948d6a in gnu_readline::do_readline (this=0x4137320, prompt=@0xbfffa4ec, eof=@0xbfffa3af) at cmd-edit.cc:253
#24 0x01948c65 in command_editor::readline (prompt=@0xbfffa4ec, eof=@0xbfffa3af) at cmd-edit.cc:914
#25 0x0003bb99 in gnu_readline (s=@0xbfffa4ec, force_readline=false) at input.cc:205
#26 0x0003da2b in interactive_input (s=@0xbfffa4ec, force_readline=<value temporarily unavailable, due to optimizations>) at input.cc:251
#27 0x0003dc50 in std::string::operator= () at /usr/include/c++/4.2.1/bits/basic_string.h:281
#28 0x0003dc50 in octave_gets [inlined] () at /Users/bpabbott/Development/mercurial/local_clone/src/input.cc:281
#29 get_user_input [inlined] () at /Users/bpabbott/Development/mercurial/local_clone/src/input.cc:352
#30 0x0003dc50 in octave_read (buf=0x306ea00 "", max_size=8192) at input.cc:374
#31 0x0003eeff in yy_get_next_buffer () at lex.cc:3098
#32 0x0004ff09 in octave_lex () at lex.cc:2940
#33 0x00065c4c in octave_parse () at oct-parse.cc:2395
#34 0x00434d1b in main_loop () at toplev.cc:568
#35 0x003cbf7a in octave_main (argc=6, argv=0xbfffb1d0, embedded=0) at octave.cc:933
#36 0x00001f82 in main (argc=6, argv=0xbfffb1d0) at main.c:35

Ben Abbott <bpabbott>
Project Member
Mon 20 Dec 2010 08:44:15 AM UTC, comment #5: 

I see now that my patch was not correct to assume that the grahics_handle passed to do_update_canvas was a figure object.

I've attached an updated patch, diffs-2.txt that I think is better, but there still seem to be some problems.  For example, I now see the following odd behavior and I don't know how to fix it:

backend ("fltk")
figure (1, "visible", "off")
sombrero
figure (1, "visible", "on")   # no sombrero...
peaks                         # no peaks either...

Even if the current implementation loses plots that are generated when visibility is off, I would expect plotting to resume working once visibility is turned on.

If visibility is initially on, toggling works:

backend ("fltk")
figure (1)
sombrero
set (1, "visible", "off")   # figure window disappears
set (1, "visible", "on")    # figure reappears with sombrero
set (1, "visible", "off")   # figure disappears
peaks
set (1, "visible", "on")    # figure reappears with peaks plot

What is special about having the visible property off when the figure is created?

(file #22243)

John W. Eaton <jwe>
Project Administrator
Mon 20 Dec 2010 03:06:10 AM UTC, comment #4: 

I'm not sure whether it is the best solution, but the attached changeset avoids the crash for me.

(file #22241)

John W. Eaton <jwe>
Project Administrator
Sun 19 Dec 2010 11:15:26 PM UTC, comment #3: 

Using hg bisect, I found that the problem was introduced at the following changeset:

+verbatim-
# HG changeset patch
# User Kai Habel <kai.habel@gmx.de>
# Date 1287998803 -7200
# Node ID f0e9befd6a1c90e858838470736e0e283aef4364
# Parent  92a7c136ab350f2362b3a78ed24e802706072afb
add uimenu graphic object to fltk backend
-verbatim-

John W. Eaton <jwe>
Project Administrator
Sun 19 Dec 2010 09:33:02 PM UTC, comment #2: 

I'm not seeing the crash immediately after the call to figure, but if I do see a segfault if I do

octave:1> backend ("fltk"); figure (1, "visible", "off")
octave:2> sombrero

The beginning of the backtrace is:

(gdb) where
#0  0x00007ffff3d744c1 in fl_set_gl_context(Fl_Window*, __GLXcontextRec*) ()
   from /usr/lib/libfltk_gl.so.1.1
#1  0x00007ffff3d74bc8 in Fl_Gl_Window::make_current() ()
   from /usr/lib/libfltk_gl.so.1.1
#2  0x00007fffeaeac3f3 in figure_manager::do_update_canvas (this=0x7e5c80,
    go=<value optimized out>, id=2004)
    at /home/jwe/src/octave/src/DLD-FUNCTIONS/fltk_backend.cc:1639
#3  figure_manager::update_canvas (this=0x7e5c80, go=<value optimized out>,
    id=2004) at /home/jwe/src/octave/src/DLD-FUNCTIONS/fltk_backend.cc:1491
#4  fltk_backend::update (this=0x7e5c80, go=<value optimized out>, id=2004)
    at /home/jwe/src/octave/src/DLD-FUNCTIONS/fltk_backend.cc:1811
#5  0x00007ffff7249d7b in graphics_backend::update (this=0x7fffffff7fa0,
    go=..., id=2004) at ./graphics.h:1912
#6  0x00007ffff7142451 in base_property::set (this=0xd06538, v=...,
    do_run=true) at /home/jwe/src/octave/src/graphics.cc:776
#7  0x00007ffff7248067 in handle_property::operator= (this=0xd06538, h=...)
    at ./graphics.h:1325
#8  0x00007ffff7219f6e in figure::properties::set_currentaxes (this=0xd05950,
    v=...) at /home/jwe/src/octave/src/graphics.cc:2706
#9  0x00007ffff716c9b0 in figure::properties::set (this=0xd05950,
    pname_arg=..., val=...) at ./graphics-props.cc:742
#10 0x00007ffff72535fd in figure::set (this=0xd05940, name=..., value=...)
    at ./graphics.h:4205
---Type <return> to continue, or q <return> to quit---
#11 0x00007ffff714ae6f in graphics_object::set_value_or_default (
    this=0x7fffffff85d0, name=..., val=...)
    at /home/jwe/src/octave/src/graphics.cc:1788
#12 0x00007ffff714a6ac in graphics_object::set (this=0x7fffffff85d0, args=...)
    at /home/jwe/src/octave/src/graphics.cc:1644
#13 0x00007ffff723c038 in Fset (args=..., nargout=0)
    at /home/jwe/src/octave/src/graphics.cc:6043
#14 0x00007ffff743c465 in octave_builtin::do_multi_index_op (this=0x6a7290,
    nargout=0, args=..., lvalue_list=0x0)
    at /home/jwe/src/octave/src/ov-builtin.cc:129
#15 0x00007ffff743c139 in octave_builtin::subsref (this=0x6a7290, type=...,
    idx=..., nargout=0, lvalue_list=0x0)
    at /home/jwe/src/octave/src/ov-builtin.cc:64
#16 0x00007ffff743c025 in octave_builtin::subsref (this=0x6a7290, type=...,
    idx=..., nargout=0) at /home/jwe/src/octave/src/ov-builtin.cc:47
#17 0x00007ffff74dec6a in octave_value::subsref (this=0x7fffffff8c60,
    type=..., idx=..., nargout=0) at /home/jwe/src/octave/src/ov.cc:1202
#18 0x00007ffff74decf8 in octave_value::subsref (this=0x7fffffff8c60,
    type=..., idx=..., nargout=0, lvalue_list=0x0)
    at /home/jwe/src/octave/src/ov.cc:1213
#19 0x00007ffff756fa6e in tree_index_expression::rvalue (this=0xe0d6b0,
    nargout=0, lvalue_list=0x0) at /home/jwe/src/octave/src/pt-idx.cc:408
#20 0x00007ffff756f024 in tree_index_expression::rvalue (this=0xe0d6b0,
---Type <return> to continue, or q <return> to quit---
    nargout=0) at /home/jwe/src/octave/src/pt-idx.cc:278
#21 0x00007ffff756fc0e in tree_index_expression::rvalue1 (this=0xe0d6b0,
    nargout=0) at /home/jwe/src/octave/src/pt-idx.cc:419
#22 0x00007ffff7569259 in tree_evaluator::visit_statement (
    this=0x7ffff7dddd38, stmt=...) at /home/jwe/src/octave/src/pt-eval.cc:737
#23 0x00007ffff75876f0 in tree_statement::accept (this=0xe0d480, tw=...)
    at /home/jwe/src/octave/src/pt-stmt.cc:152
#24 0x00007ffff7569446 in tree_evaluator::visit_statement_list (
    this=0x7ffff7dddd38, lst=...) at /home/jwe/src/octave/src/pt-eval.cc:773
#25 0x00007ffff7587aa2 in tree_statement_list::accept (this=0xe036d0, tw=...)
    at /home/jwe/src/octave/src/pt-stmt.cc:216
#26 0x00007ffff7568cd2 in tree_evaluator::visit_if_command_list (
    this=0x7ffff7dddd38, lst=...) at /home/jwe/src/octave/src/pt-eval.cc:574
#27 0x00007ffff7585d68 in tree_if_command_list::accept (this=0xe0d1a0, tw=...)
    at /home/jwe/src/octave/src/pt-select.cc:84
#28 0x00007ffff7568bba in tree_evaluator::visit_if_command (
    this=0x7ffff7dddd38, cmd=...) at /home/jwe/src/octave/src/pt-eval.cc:552
#29 0x00007ffff75860ee in tree_if_command::accept (this=0xe11500, tw=...)
    at /home/jwe/src/octave/src/pt-select.cc:109

John W. Eaton <jwe>
Project Administrator
Sun 19 Dec 2010 09:15:40 PM UTC, comment #1: 

works on Fedora 14 x86_64:
octave:1> backend ("fltk"); figure (1, "visible", "off")
octave:2> ans
ans =

{
  [1,1] = AutoScaling
  [1,2] = ComplexEqn
  [1,3] = FinDiffType
  [1,4] = FunValCheck
  [1,5] = GradObj
  [1,6] = Jacobian
  [1,7] = MaxFunEvals
  [1,8] = MaxIter
  [1,9] = OutputFcn
  [1,10] = TolFun
  [1,11] = TolX
  [1,12] = TypicalX
  [1,13] = Updating
}
[qss:octave] hg tip
changeset:   11392:757efa1d7e2a
tag:         tip
user:        Rik <octave@nomad.inbox5.com>
date:        Sat Dec 18 14:37:11 2010 -0800
files:       doc/ChangeLog doc/interpreter/container.txi doc/interpreter/func.txi doc/interpreter/linalg.txi doc/interpreter/numbers.txi doc/interpreter/signal.txi doc/interpreter/sparse.txi doc/interpreter/stats.txi doc/interpreter/system.txi
description:
Remove deprecated functions from manual.

Michael

Michael Godfrey <godfrey>
Project Member
Sun 19 Dec 2010 08:28:43 PM UTC, original submission:  

octave:1> backend ("fltk"); figure (1, "visible", "off")
octave:2> panic: Bus error -- stopping myself...

From gdb, and the backtrace is

octave:1> backend ("fltk"); figure (1, "visible", "off")
Reading symbols for shared libraries . done
octave:2>
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x97a1025e in glMatrixMode ()
(gdb) bt
#0  0x97a1025e in glMatrixMode ()
#1  0x04554bbe in OpenGL_fltk::setup_viewport () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:136
#2  0x04554bbe in OpenGL_fltk::resize (this=0x2eadc10, xx=0, yy=20, ww=640, hh=440) at DLD-FUNCTIONS/fltk_backend.cc:120
#3  0x0456be11 in fltk_uimenu::show () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:765
#4  0x0456be11 in plot_window::show_menubar () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:766
#5  0x0456be11 in plot_window::plot_window (this=0x2e8b6d0, xx=0, yy=0, ww=640, hh=480, xfp=@0x496f608) at DLD-FUNCTIONS/fltk_backend.cc:728
#6  0x0456c446 in plot_window [inlined] () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:731
#7  0x0456c446 in figure_manager::do_new_window () at /Users/bpabbott/Development/mercurial/local_clone/src/DLD-FUNCTIONS/fltk_backend.cc:1541
#8  0x0456c446 in figure_manager::new_window (fp=@0x496f608) at DLD-FUNCTIONS/fltk_backend.cc:1419
#9  0x04552c38 in __fltk_redraw__ () at DLD-FUNCTIONS/fltk_backend.cc:1735
#10 0x04552d07 in F__fltk_redraw__ () at DLD-FUNCTIONS/fltk_backend.cc:1874
#11 0x004b5656 in octave_builtin::do_multi_index_op (this=0x48465e0, nargout=0, args=@0xbfffa0c0, lvalue_list=0x0) at ov-builtin.cc:129
#12 0x004b5a2f in octave_builtin::do_multi_index_op (this=0x48465e0, nargout=0, args=@0xbfffa0c0) at ov-builtin.cc:99
#13 0x000808ca in octave_value::do_multi_index_op (this=0xbfffa018, nargout=0, idx=@0xbfffa0c0) at ov.cc:1267
#14 0x00062a4f in feval (name=@0xbfffa12c, args=@0xbfffa0c0, nargout=0) at oct-parse.yy:4136
#15 0x002b7ce7 in input_event_hook () at input.cc:1266
#16 0x01947c37 in command_editor::event_handler () at cmd-edit.cc:889
#17 0x02c015ec in rl_read_key ()
#18 0x02be99f8 in readline_internal_char ()
#19 0x02be9bc4 in readline_internal_charloop ()
#20 0x02be9bec in readline_internal ()
#21 0x02be96ac in readline ()
#22 0x0194e2ce in octave_rl_readline (prompt=0x2e8f40c "octave:2> ") at oct-rl-edit.c:167
#23 0x01948d72 in gnu_readline::do_readline (this=0x42000b0, prompt=@0xbfffa4ec, eof=@0xbfffa3af) at cmd-edit.cc:253
#24 0x01948c6d in command_editor::readline (prompt=@0xbfffa4ec, eof=@0xbfffa3af) at cmd-edit.cc:914
#25 0x0003bcab in gnu_readline (s=@0xbfffa4ec, force_readline=false) at input.cc:205
#26 0x0003db3d in interactive_input (s=@0xbfffa4ec, force_readline=<value temporarily unavailable, due to optimizations>) at input.cc:251
#27 0x0003dd62 in std::string::operator= () at /usr/include/c++/4.2.1/bits/basic_string.h:281
#28 0x0003dd62 in octave_gets [inlined] () at /Users/bpabbott/Development/mercurial/local_clone/src/input.cc:281
#29 get_user_input [inlined] () at /Users/bpabbott/Development/mercurial/local_clone/src/input.cc:352
#30 0x0003dd62 in octave_read (buf=0x306c400 "", max_size=8192) at input.cc:374
#31 0x0003f00f in yy_get_next_buffer () at lex.cc:3098
#32 0x00050019 in octave_lex () at lex.cc:2940
#33 0x00066dcc in octave_parse () at oct-parse.cc:2395
#34 0x0043506b in main_loop () at toplev.cc:568
#35 0x003cc2da in octave_main (argc=6, argv=0xbfffb1d0, embedded=0) at octave.cc:933
#36 0x00001f82 in main (argc=6, argv=0xbfffb1d0) at main.c:35

Ben Abbott <bpabbott>
Project Member

 

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

Attach Files:
   
   
Comment:
   

Attached Files
file #24774:  figure_31931.patch added by rik5 (747B - text/x-patch)
file #24584:  bug31931.cset added by rik5 (3KiB - application/octet-stream)
file #23740:  changeset.menubar.fix2 added by kahacjde (3KiB - application/octet-stream)
file #23737:  changeset.menubar.fix added by kahacjde (2KiB - application/octet-stream)
file #23726:  changeset.macos.fix added by kahacjde (1KiB - application/octet-stream - hide.canvas)
file #22617:  fltk_context_crash.patch added by hauberg (2KiB - text/x-patch)
file #22252:  diffs-5.txt added by jwe (4KiB - text/plain)
file #22248:  diffs-4.txt added by jwe (4KiB - text/plain)
file #22246:  diffs-3.txt added by jwe (2KiB - text/plain)
file #22243:  diffs-2.txt added by jwe (2KiB - text/plain)
file #22241:  diffs.txt added by jwe (1KiB - text/plain)

 

Depends on the following items: None found

Digest:
   bug dependencies.

 

Carbon-Copy List
  • -email is unavailable- added by andy1978 (Posted a comment)
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by hauberg (Posted a comment)
  • -email is unavailable- added by kahacjde (Posted a comment)
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by godfrey (Posted a comment)
  • -email is unavailable- added by bpabbott (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 19 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2012-01-10 rik5 StatusReady For Test => Fixed
        Open/ClosedOpen => Closed
    2012-01-10 bpabbott StatusNone => Ready For Test
    2012-01-10 rik5 Severity4 - Important => 3 - Normal
    2012-01-09 rik5 Attached File- => Added figure_31931.patch, #24774
    2011-12-13 rik5 Attached File- => Added bug31931.cset, #24584
    2011-08-04 kahacjde Attached File- => Added changeset.menubar.fix2, #23740
    2011-08-03 rik5 Carbon-CopyRemoved 72865 => -
    2011-08-03 kahacjde Attached File- => Added changeset.menubar.fix, #23737
    2011-08-01 kahacjde Attached File- => Added changeset.macos.fix, #23726
    2011-05-16 rik5 Dependencies- => bugs #33321 is dependent
    2011-02-07 hauberg Attached File- => Added fltk_context_crash.patch, #22617
    2011-02-07 jwe Attached File- => Added diffs-canvas-make-current.txt, #22616
    2011-01-14 bpabbott Severity5 - Blocker => 4 - Important
    2010-12-21 jwe Attached File- => Added diffs-5.txt, #22252
    2010-12-20 jwe Attached File- => Added diffs-4.txt, #22248
    2010-12-20 jwe Attached File- => Added diffs-3.txt, #22246
    2010-12-20 jwe Attached File- => Added diffs-2.txt, #22243
    2010-12-20 jwe Attached File- => Added diffs.txt, #22241

    Back to the top


    Powered by Savane 3.6