octave-maintainers
[Top][All Lists]
Advanced

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

Re: base_graphics_backend


From: Michael Goffioul
Subject: Re: base_graphics_backend
Date: Wed, 10 Sep 2008 10:00:37 +0200

There's something strange in this backtrace: when delete_children()
is called from axes::properties::set_defaults(), normally the title
and labels contains invalid handles, such that the call to free()
(from delete_children()) should not trigger any object_destroyed()
in the backend. It seems that between "title = graphics_handle ()"
and "delete_children ()" (in axes::properties::set_defaults), the handle
for the title is recreated. Ryan, could you track this down?

Michael.


On Wed, Sep 10, 2008 at 6:56 AM, Ryan Rusaw <address@hidden> wrote:
>>> Yes. When an axes object is first created, its "title" and
>>> "[xyz]label" properties are empty. Accessing them will trigger
>>> the creation of a text object (whose handle is then stored in
>>> the corresponding property). However, if I read your log correctly,
>>> it seems the text objects are deleted before the line and hggroup
>>> objects are created. I'm wondering why this happens. Could you
>>> also break execution when the first text object is destroyed and
>>> produce a backtrace?
>>
>> Sure thing.
>>
>
> #0  octave_eclipse_backend::object_destroyed (this=0x81bf838,
> address@hidden) at octave_eclipse_backend.cc:609
> #1  0xb74c2a1e in gh_manager::do_free (this=0x8355360, address@hidden)
> at ./graphics.h:1528
> #2  0xb74c2caa in axes::properties::delete_children (this=0x84dda08)
> at ./graphics.h:8565
> #3  0xb74e2c47 in axes::properties::set_defaults (this=0x84dda08,
> address@hidden, address@hidden)
>    at ../../src/graphics.cc:2270
> #4  0xb753463b in axes::set_defaults (this=0x84dda00,
> address@hidden) at ./graphics.h:5288
> #5  0xb74fbb07 in F__go_axes_init__ (address@hidden) at ./graphics.h:2209
> #6  0xb780f8ec in octave_builtin::do_multi_index_op (this=0x807af70,
> nargout=0, address@hidden)
>    at ../../src/ov-builtin.cc:107
> #7  0xb78100b6 in octave_builtin::subsref (this=0x807af70,
> address@hidden, address@hidden, nargout=0)
>    at ../../src/ov-builtin.cc:55
> #8  0xb77b0ce8 in octave_value::subsref (this=0xbfabac54,
> address@hidden, address@hidden, nargout=0)
>    at ../../src/ov.cc:1038
> #9  0xb79615f1 in tree_index_expression::rvalue (this=0x84fca30,
> nargout=0) at ../../src/pt-idx.cc:375
> #10 0xb798664b in tree_statement::eval (this=0x84fc468, silent=false,
> nargout=0, in_function_or_script_body=false)
>    at ../../src/pt-stmt.cc:125
> #11 0xb7986db3 in tree_statement_list::eval (this=0x84fc758,
> silent=104, nargout=0) at ../../src/pt-stmt.cc:186
> #12 0xb798549b in tree_switch_case::eval (this=0x84fcc58,
> address@hidden) at ../../src/pt-select.cc:222
> #13 0xb79855d4 in tree_switch_case_list::eval (this=0x84fc340,
> address@hidden) at ../../src/pt-select.cc:254
> #14 0xb7985635 in tree_switch_command::eval (this=0x84fd5a0) at
> ../../src/pt-select.cc:299
> #15 0xb7986484 in tree_statement::eval (this=0x84fd338, silent=false,
> nargout=0, in_function_or_script_body=false)
>    at ../../src/pt-stmt.cc:100
> #16 0xb7986db3 in tree_statement_list::eval (this=0x84dd960,
> silent=104, nargout=0) at ../../src/pt-stmt.cc:186
> #17 0xb79840fb in tree_if_clause::eval (this=0x84fd678) at
> ../../src/pt-select.cc:54
> #18 0xb798422d in tree_if_command_list::eval (this=0x84fd688) at
> ../../src/pt-select.cc:86
> #19 0xb7984264 in tree_if_command::eval (this=0x84fdd48) at
> ../../src/pt-select.cc:126
> #20 0xb7986484 in tree_statement::eval (this=0x84fd4f0, silent=false,
> nargout=0, in_function_or_script_body=true)
>    at ../../src/pt-stmt.cc:100
> #21 0xb7986db3 in tree_statement_list::eval (this=0x84fdd68,
> silent=104, nargout=0) at ../../src/pt-stmt.cc:186
> #22 0xb7819b71 in octave_user_function::do_multi_index_op
> (this=0x8113044, nargout=0, address@hidden)
>    at ../../src/ov-usr-fcn.cc:438
> #23 0xb7818af1 in octave_user_function::subsref (this=0x8113044,
> address@hidden, address@hidden, nargout=0)
>    at ../../src/ov-usr-fcn.cc:311
> #24 0xb77b0ce8 in octave_value::subsref (this=0xbfabb4c4,
> address@hidden, address@hidden, nargout=0)
>    at ../../src/ov.cc:1038
> #25 0xb79615f1 in tree_index_expression::rvalue (this=0x84a1e40,
> nargout=0) at ../../src/pt-idx.cc:375
> #26 0xb798664b in tree_statement::eval (this=0x84b3530, silent=false,
> nargout=0, in_function_or_script_body=false)
>    at ../../src/pt-stmt.cc:125
> #27 0xb7986db3 in tree_statement_list::eval (this=0x84a1b78,
> silent=104, nargout=0) at ../../src/pt-stmt.cc:186
> #28 0xb7952f6d in tree_unwind_protect_command::eval (this=0x84b41c0)
> at ../../src/pt-except.cc:250
> #29 0xb7986484 in tree_statement::eval (this=0x84b4670, silent=false,
> nargout=0, in_function_or_script_body=true)
>    at ../../src/pt-stmt.cc:100
> #30 0xb7986db3 in tree_statement_list::eval (this=0x84b11b0,
> silent=104, nargout=0) at ../../src/pt-stmt.cc:186
> #31 0xb7819b71 in octave_user_function::do_multi_index_op
> (this=0x8112ae4, nargout=0, address@hidden)
>    at ../../src/ov-usr-fcn.cc:438
> #32 0xb7818af1 in octave_user_function::subsref (this=0x8112ae4,
> address@hidden, address@hidden, nargout=0)
>    at ../../src/ov-usr-fcn.cc:311
> #33 0xb77b0ce8 in octave_value::subsref (this=0xbfabbbf4,
> address@hidden, address@hidden, nargout=0)
>    at ../../src/ov.cc:1038
> #34 0xb79615f1 in tree_index_expression::rvalue (this=0x84aeed0,
> nargout=0) at ../../src/pt-idx.cc:375
> #35 0xb798664b in tree_statement::eval (this=0x84717a8, silent=false,
> nargout=0, in_function_or_script_body=false)
>    at ../../src/pt-stmt.cc:125
> #36 0xb7986db3 in tree_statement_list::eval (this=0x84a1f60,
> silent=104, nargout=0) at ../../src/pt-stmt.cc:186
> #37 0xb76e5dd5 in main_loop () at ../../src/toplev.cc:557
> #38 0xb766b276 in octave_main (argc=1, argv=0xbfabbfa4, embedded=0) at
> ../../src/octave.cc:852
> #39 0x0804878a in main (argc=1, argv=0x832b4c8) at ../../src/main.c:35
>
>
>> Ryan
>>
>


reply via email to

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