On 03/19/2015 09:53 AM, Jim Dishaw wrote:
> Would you run the example in the debugger and set a breakpoint in plP_text 
> and send me a hexdump of the contents of *string?  A backtrace would also be 
> handy. 

We're choking on the cyrillic text in x33c.

Here's an example:

Breakpoint 1, plP_text (base=base@entry=0, just=just@entry=0.5,
    xform=xform@entry=0x7fffffff9440, x=x@entry=297, y=y@entry=1349,
refx=refx@entry=297,
    refy=1198, string=0x555555f94d40 "@b\375UUU")
    at /scratch/orion/redhat/plplot-5.10.0/plplot-5.10.0-git/src/plcore.c:1142
1142    {
1: string = 0x555555f94d40 "@b\375UUU"


If I walk up to the swig wrapper function, the string is already messed up.

(gdb) up 5
#5  0x00007fffe2e82862 in _wrap_plcolorbar (args=..., nargout=<optimized out>)
    at
/scratch/orion/redhat/plplot-5.10.0/plplot-5.10.0-git/fedora/bindings/octave/plplot_octaveOCTAVE_wrap.cxx:14814
14814
my_plcolorbar(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15,arg16,(int
const *)arg17,(char const **)arg18,arg19,(char const **)arg20,(double const
*)arg21,(int const *)arg22,(int const *)arg23,(double const *)arg24);
(gdb) print *arg18
$14 = 0x555555f94d40 "@b\375UUU"

I can't debug the octave data structures though, just too much c++.

(gdb) bt
#0  plP_text (base=base@entry=0, just=just@entry=0.5,
xform=xform@entry=0x7fffffff9440,
    x=x@entry=297, y=y@entry=1349, refx=refx@entry=297, refy=1198,
    string=0x555555f94d40 "@b\375UUU")
    at /scratch/orion/redhat/plplot-5.10.0/plplot-5.10.0-git/src/plcore.c:1142
#1  0x00007fffe2bc44b2 in c_plmtex (side=side@entry=0x7fffffff94c0 "l",
disp=disp@entry=1.2,
    pos=<optimized out>, just=0.5, text=text@entry=0x555555f94d40 "@b\375UUU")
    at /scratch/orion/redhat/plplot-5.10.0/plplot-5.10.0-git/src/plsym.c:700
#2  0x00007fffe2bcf655 in draw_label (if_bb=if_bb@entry=0, opt=<optimized out>,
    label=0x555555f94d40 "@b\375UUU")
    at /scratch/orion/redhat/plplot-5.10.0/plplot-5.10.0-git/src/pllegend.c:1330
#3  0x00007fffe2bd1df7 in c_plcolorbar (p_colorbar_width=0x7fffffff9af8,
    p_colorbar_height=0x7fffffff9b00, opt=<optimized out>, position=<optimized
out>,
    x=<optimized out>, y=<optimized out>, x_length=<optimized out>,
y_length=<optimized out>,
    bg_color=15, bb_color=1, bb_style=1, low_cap_color=0, high_cap_color=1,
cont_color=0,
    cont_width=0, n_labels=1, label_opts=0x555555f94a90,
labels=0x555555f94d60, n_axes=1,
    axis_opts=0x555555f94d20, ticks=0x555555f94bd0, sub_ticks=0x555555f95020,
    n_values=0x555555f95490, values=0x7fffffff98c0)
    at /scratch/orion/redhat/plplot-5.10.0/plplot-5.10.0-git/src/pllegend.c:2366
#4  0x00007fffe2e22a8d in my_plcolorbar (
    p_colorbar_width=p_colorbar_width@entry=0x7fffffff9af8,
    p_colorbar_height=p_colorbar_height@entry=0x7fffffff9b00, 
opt=opt@entry=98833,
    position=position@entry=1, x=x@entry=0, y=y@entry=0,
    x_length=x_length@entry=0.050000000000000003, y_length=y_length@entry=0.5,
    bg_color=bg_color@entry=15, bb_color=bb_color@entry=1, bb_style=1,
    low_cap_color=low_cap_color@entry=0,
high_cap_color=high_cap_color@entry=1, cont_color=0,
    cont_width=cont_width@entry=0, n_labels=1, label_opts=0x555555f94a90,
    label=0x555555f94d60, n_axes=1, axis_opts=0x555555f94d20,
ticks=0x555555f94bd0,
    sub_ticks=0x555555f95020, n_values=0x555555f95490, a=0x555555f956d0)
    at
/scratch/orion/redhat/plplot-5.10.0/plplot-5.10.0-git/fedora/bindings/octave/plplot_octaveOCTAVE_wrap.cxx:3008
#5  0x00007fffe2e82862 in _wrap_plcolorbar (args=..., nargout=<optimized out>)
    at
/scratch/orion/redhat/plplot-5.10.0/plplot-5.10.0-git/fedora/bindings/octave/plplot_octaveOCTAVE_wrap.cxx:14814
#6  0x00007ffff717209c in octave_builtin::do_multi_index_op
(this=0x555555f475f0, nargout=2,
    args=..., lvalue_list=<optimized out>) at octave-value/ov-builtin.cc:132
#7  0x00007ffff7170908 in octave_builtin::subsref (this=0x555555f475f0,
type=..., idx=...,
    nargout=2, lvalue_list=0x7fffffffa820) at octave-value/ov-builtin.cc:64
#8  0x00007ffff725c34a in octave_value::subsref
(this=this@entry=0x7fffffffa4b0, type=...,
    idx=..., nargout=nargout@entry=2,
lvalue_list=lvalue_list@entry=0x7fffffffa820)
    at octave-value/ov.cc:1278
#9  0x00007ffff72ef7a8 in tree_index_expression::rvalue (this=0x555555f20150,
nargout=2,
    lvalue_list=0x7fffffffa820) at parse-tree/pt-idx.cc:415
#10 0x00007ffff72c0995 in tree_multi_assignment::rvalue (this=0x555555f20920)
    at parse-tree/pt-assign.cc:232
#11 0x00007ffff72bee0d in tree_multi_assignment::rvalue1 (this=0x555555f20920,
nargout=0)
    at parse-tree/pt-assign.cc:198
#12 0x00007ffff72d764c in tree_evaluator::visit_statement (
    this=0x7ffff7dd1880 <std_evaluator>, stmt=...) at parse-tree/pt-eval.cc:747
#13 0x00007ffff72d6cf1 in tree_evaluator::visit_statement_list (
    this=0x7ffff7dd1880 <std_evaluator>, lst=...) at parse-tree/pt-eval.cc:797
#14 0x00007ffff72d8f9a in tree_evaluator::visit_simple_for_command (
    this=0x7ffff7dd1880 <std_evaluator>, cmd=...) at parse-tree/pt-eval.cc:358
#15 0x00007ffff72d75d5 in tree_evaluator::visit_statement (
    this=0x7ffff7dd1880 <std_evaluator>, stmt=...) at parse-tree/pt-eval.cc:721
#16 0x00007ffff72d6cf1 in tree_evaluator::visit_statement_list (
    this=0x7ffff7dd1880 <std_evaluator>, lst=...) at parse-tree/pt-eval.cc:797
#17 0x00007ffff724b8f6 in octave_user_function::do_multi_index_op
(this=0x555555f26160,
    nargout=0, args=..., lvalue_list=0x0) at octave-value/ov-usr-fcn.cc:589
#18 0x00007ffff7246219 in octave_user_function::subsref (this=0x555555f26160,
type=...,
    idx=..., nargout=0, lvalue_list=lvalue_list@entry=0x0) at
octave-value/ov-usr-fcn.cc:437
#19 0x00007ffff7246440 in octave_user_function::subsref (this=<optimized out>,
type=...,
    idx=..., nargout=<optimized out>) at octave-value/ov-usr-fcn.cc:420
#20 0x00007ffff725c289 in octave_value::subsref (this=<optimized out>,
type=..., idx=...,
    nargout=<optimized out>) at octave-value/ov.cc:1269
#21 0x00007ffff725c36d in octave_value::subsref
(this=this@entry=0x7fffffffb450, type=...,
    idx=..., nargout=nargout@entry=0, lvalue_list=lvalue_list@entry=0x0)
    at octave-value/ov.cc:1280


-- 
Orion Poplawski
Technical Manager                     303-415-9701 x222
NWRA, Boulder/CoRA Office             FAX: 303-415-9702
3380 Mitchell Lane                       or...@nwra.com
Boulder, CO 80301                   http://www.nwra.com

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to