> On Feb 2, 2014, at 13:41, Petrus Hyvönen <petrus.hyvo...@gmail.com> wrote:
> 
> Hi,
> 
> It's part of a class "PointVectorValuePair" and "PointValuePair" in the 
> apache math commons 
> (http://commons.apache.org/proper/commons-math/javadocs/api-3.2/org/apache/commons/math3/optimization/PointVectorValuePair.html)
> 
> I have tried to reserve a bunch of things like 'Point', 'Value', 'Pair' 
> without any difference. If I go through the __wrap__ file, it looks like this 
> [D object to wrap is a very odd one, the other PY_TYPE wrapping seems to have 
> 'proper' names without special characters. It's the functions PointValuePair 
> and PointVectorValuePair that seems to have this strage class wrapping.  I 
> cannot find a class named D. From the API doc's I would guess it's trying to 
> set a double [] type.
> 
> extract from __wrap__:
> 
> under namespace org {
>  namespace apache {
>    namespace commons {
>      namespace math3 {
>        namespace optimization {
> 
> ...
> 
>          static int t_PointVectorValuePair_init_(t_PointVectorValuePair 
> *self, PyObject *args, PyObject *kwds)
>          {
>            switch (PyTuple_GET_SIZE(args)) {
>             case 2:
>              {
>                JArray< jdouble > a0((jobject) NULL);
>                JArray< jdouble > a1((jobject) NULL);
>                PointVectorValuePair object((jobject) NULL);
> 
>                if (!parseArgs(args, "[D[D", &a0, &a1))

It could just be that you found a bug in jcc's handling of generic parameters 
that are arrays. I suspect you have some double[] (or worse: double[][]) 
somewhere in the java source.
But then this should fail the same way on Windows.
Can you please post the original java source for that class here ?

Andi..

>                {
>                  INT_CALL(object = PointVectorValuePair(a0, a1));
>                  self->object = object;
>                  self->parameters[0] = &::PY_TYPE([D);
>                  self->parameters[1] = &::PY_TYPE([D);
>                  break;
>                }
> 
> Regards
> /petrus
> 
> 
> 
> = &::PY_TYPE([D);
>                                                   ^
> /Users/petrus/anaconda/envs/_build/lib/python2.7/site-packages/jcc/sources/macros.h:66:23:
>  note: 
>      expanded from macro 'PY_TYPE'
> #define PY_TYPE(name) name##$$Type
>                      ^
> build/_orekit/__wrap__.cpp:58329:44: error: use of undeclared identifier
>      'D$$Type'
>                  self->parameters[0] = &::PY_TYPE([D);
>                                           ^
> /Users/petrus/anaconda/envs/_build/lib/python2.7/site-packages/jcc/sources/macros.h:66:23:
>  note: 
>      expanded from macro 'PY_TYPE'
> #define PY_TYPE(name) name##$$Type
>                      ^
> <scratch space>:109:1: note: expanded from here
> D$$Type
> ^
> build/_orekit/__wrap__.cpp:58329:55: error: expected ']'
>                  self->parameters[0] = &::PY_TYPE([D);
>                                                      ^
> build/_orekit/__wrap__.cpp:58329:52: note: to match this '['
>                  self->parameters[0] = &::PY_TYPE([D);
> 
> 
>> On 02 Feb 2014, at 19:48 , Andi Vajda <va...@apache.org> wrote:
>> 
>> 
>>> On Feb 2, 2014, at 10:08, Petrus Hyvönen <petrus.hyvo...@gmail.com> wrote:
>>> 
>>> Hi Andi and Others,
>>> 
>>> The latest trunk jcc works and builds very fine on my windows machine, and 
>>> happy about the extendend support of generics. But I am experiencing the 
>>> problem below when building on my mac, using same wrap parameters as on the 
>>> windows platform. To me it seems like some compiler problem related to 
>>> macros, but don't know.
>>> 
>>> Does anyone have experience of these failures?
>>> 
>>> Regards
>>> /Petrus
>>> 
>>> 
>>> error: expected unqualified-id
>>>                self->parameters[0] = &::PY_TYPE([D);
>>>                                                 ^
>>> /Users/petrus/anaconda/envs/_build/lib/python2.7/site-packages/jcc/sources/macros.h:66:23:
>>>  note: 
>>>    expanded from macro 'PY_TYPE'
>>> #define PY_TYPE(name) name##$$Type
>>>                    ^
>>> build/_orekit/__wrap__.cpp:2344:44: error: use of undeclared identifier
>>>    'D$$Type'
>>>                self->parameters[0] = &::PY_TYPE([D);
>> 
>> Take a look at the code around line 2344 in that __wrap__.cpp file and 
>> figure out what java code this corresponds to. You might be using a 
>> classname that's a C macro on some platforms - do you have a class named D 
>> for example ?
>> If you're hitting such a name conflict, add that name to the --reserved list 
>> passed to jcc.
>> 
>> Andi..
>> 
>>>                                         ^
>>> /Users/petrus/anaconda/envs/_build/lib/python2.7/site-packages/jcc/sources/macros.h:66:23:
>>>  note: 
>>>    expanded from macro 'PY_TYPE'
>>> #define PY_TYPE(name) name##$$Type
>>>                    ^
>>> <scratch space>:73:1: note: expanded from here
>>> D$$Type
>>> ^
>>> build/_orekit/__wrap__.cpp:2344:55: error: expected ']'
>>>                self->parameters[0] = &::PY_TYPE([D);
>>>                                                    ^
>>> build/_orekit/__wrap__.cpp:2344:52: note: to match this '['
>>>                self->parameters[0] = &::PY_TYPE([D);
>>> 
>>> 
>>> 
>>>> On 14 Jan 2014, at 19:02 , Andi Vajda <va...@apache.org> wrote:
>>>> 
>>>> 
>>>> Hi Petrus,
>>>> 
>>>>> On Jan 14, 2014, at 4:24, Petrus Hyvönen <petrus.hyvo...@gmail.com> wrote:
>>>>> 
>>>>> Dear Andi,
>>>>> 
>>>>> Many many thanks for looking into this! 
>>>>> 
>>>>> I am on travel for a week and do not have the computer with the special 
>>>>> case with me to test. I did now however run it on the library that I am 
>>>>> wrapping, and there get some errors in the creation of the wrapped module 
>>>>> (orekit):
>>>>> 
>>>>> build/_orekit/__wrap__.cpp:86504:89: error: no member named
>>>>>    'HarmonicOscillator$Parametric$$Type' in namespace
>>>> 
>>>> I believe I fixed this bug in rev 1557613, header files for classes for 
>>>> inherited fixed parameters were not included as required.
>>>> 
>>>> Andi..
>>>> 
>>>>>    'org::apache::commons::math3::analysis::function'
>>>>> ...= 
>>>>> &::org::apache::commons::math3::analysis::function::PY_TYPE(HarmonicOs...
>>>>>      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
>>>>> /Users/petrus/anaconda/lib/python2.7/site-packages/JCC-2.18-py2.7-macosx-10.5-x86_64.egg/jcc/sources/macros.h:66:23:
>>>>>  note: 
>>>>>    expanded from macro 'PY_TYPE'
>>>>> #define PY_TYPE(name) name##$$Type
>>>>>                    ^
>>>>> <scratch space>:63:1: note: expanded from here
>>>>> HarmonicOscillator$Parametric$$Type
>>>>> ^
>>>>> build/_orekit/__wrap__.cpp:217752:55: error: no member named
>>>>>    'OrekitMessages$$Type' in namespace 'org::orekit::errors'
>>>>>      self->parameters[0] = 
>>>>> &::org::orekit::errors::PY_TYPE(OrekitMessages);
>>>>>                             ~~~~~~~~~~~~~~~~~~~~~~~^
>>>>> /Users/petrus/anaconda/lib/python2.7/site-packages/JCC-2.18-py2.7-macosx-10.5-x86_64.egg/jcc/sources/macros.h:66:23:
>>>>>  note: 
>>>>>    expanded from macro 'PY_TYPE'
>>>>> #define PY_TYPE(name) name##$$Type
>>>>>                    ^
>>>>> <scratch space>:9:1: note: expanded from here
>>>>> OrekitMessages$$Type
>>>>> ^
>>>>> 2 errors generated.
>>>>> error: command 'gcc' failed with exit status 1
>>>>> 
>>>>> 
>>>>> 
>>>>> The OrekitMessages is defined as a "public enum OrekitMessages implements 
>>>>> Localizable { ..."
>>>>> and the "public class HarmonicOscillator implements 
>>>>> UnivariateDifferentiable, DifferentiableUnivariateFunction". 
>>>>> 
>>>>> Maybe this says you something, I will try to test more and run my test 
>>>>> case in .
>>>>> 
>>>>> Best Regards and again, many thanks again!
>>>>> /petrus
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>>> On 11 Jan 2014, at 14:23 , Andi Vajda <va...@apache.org> wrote:
>>>>>> 
>>>>>> 
>>>>>> Hi Petrus,
>>>>>> 
>>>>>>> On Mon, 30 Dec 2013, Petrus Hyvönen wrote:
>>>>>>> 
>>>>>>> Andi, great to hear that you could reproduce it. I'm very thankful if 
>>>>>>> you
>>>>>>> could have a look at it, I've been struggling to understand how the
>>>>>>> machinery behind this works, but far from it still..
>>>>>> 
>>>>>> I think I fixed the problem and added an improvement to generics support 
>>>>>> along the way. Please check out rev 1557423 from jcc's trunk, rebuild 
>>>>>> your module with it and let me know how it's working for you.
>>>>>> 
>>>>>> The bug had to do with SimpleClass2's wrapper class missing its 
>>>>>> parameters slot which it should get from its superclass, SimpleClass. 
>>>>>> When calling a
>>>>>> method on SimpleClass from SimpleClass2, the missing parameters in the
>>>>>> wrapper's struct would cause memory to get trashed.
>>>>>> 
>>>>>> In addition to fixing the bug, I also improved support for fixed class 
>>>>>> parameters. Now, if you change SimpleClass's return_null() method to 
>>>>>> return new Integer(12) instead, when calling it on SimpleClass2, 12 is 
>>>>>> returned instead of <Object: 12>.
>>>>>> 
>>>>>> Andi..
>>>>>> 
>>>>>> public class SimpleClass<T> { public SimpleClass() { 
>>>>>> System.out.println("Created SimpleClass"); }
>>>>>> public T return_null() {
>>>>>>     return (T) new Integer(12);
>>>>>> }
>>>>>> 
>>>>>> }
>>>>>> 
>>>>>> 
>>>>>>> 
>>>>>>> Best Regards
>>>>>>> /Petrus
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>> On Mon, Dec 30, 2013 at 10:36 AM, Andi Vajda <va...@apache.org> wrote:
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Sun, 29 Dec 2013, Petrus Hyvönen wrote:
>>>>>>>> 
>>>>>>>> I have distilled the library that I have some trouble with and I think 
>>>>>>>> I
>>>>>>>>> have an example that is failing due to same problem I think. I am not 
>>>>>>>>> good
>>>>>>>>> in java, but have tried to follow the logic from the library I'm 
>>>>>>>>> wrapping.
>>>>>>>>> The function of the example does not make sense in itself.
>>>>>>>>> 
>>>>>>>>> public class SimpleClass<T> {
>>>>>>>>> public SimpleClass() {
>>>>>>>>> System.out.println("Created SimpleClass");
>>>>>>>>> }
>>>>>>>>> public T return_null() {
>>>>>>>>>    return  null;
>>>>>>>>> }
>>>>>>>>> 
>>>>>>>>> }
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> public class SimpleClass2 extends SimpleClass<Integer>{
>>>>>>>>> 
>>>>>>>>> public SimpleClass2(){}
>>>>>>>>> public void testInJava(){
>>>>>>>>> System.out.println(this.return_null());
>>>>>>>>> }
>>>>>>>>> }
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> It seems to me that there is some problem with methods inherited that
>>>>>>>>> returns a generic type, failing in wrapType when this is to be 
>>>>>>>>> wrapped.
>>>>>>>>> 
>>>>>>>>> The python script that fails:
>>>>>>>>> 
>>>>>>>>> a= SimpleClass()
>>>>>>>>> print a.return_null()
>>>>>>>>> 
>>>>>>>>> b = SimpleClass2()
>>>>>>>>> b.testInJava()
>>>>>>>>> 
>>>>>>>>> print b.return_null()  #Fails in wrapType
>>>>>>>>> 
>>>>>>>>> I don't know if the return null is a bad thing to do in java, but the
>>>>>>>>> error
>>>>>>>>> seems very similar to what I experience in the larger library. I have 
>>>>>>>>> a
>>>>>>>>> skeleton of that this is slightly larger, but not returning null, but
>>>>>>>>> trying to keep the lenght of example low :)
>>>>>>>>> 
>>>>>>>>> Any comments highly appriciated :)
>>>>>>>> 
>>>>>>>> I've been able to reproduce the problem.
>>>>>>>> Thank you for providing an isolated test case !
>>>>>>>> 
>>>>>>>> Andi..
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> best Regards
>>>>>>>>> /Petrus
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On Fri, Dec 27, 2013 at 6:25 PM, Andi Vajda <va...@apache.org> wrote:
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>> On Dec 27, 2013, at 17:36, Petrus Hyvönen <petrus.hyvo...@gmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> Dear Andi,
>>>>>>>>>>> 
>>>>>>>>>>> I am working on debugging the failure and try to understand a bit 
>>>>>>>>>>> how
>>>>>>>>>>> JCC
>>>>>>>>>>> works internally. I haven't gone very far but in case you have some
>>>>>>>>>>> pointers from these early debugging sessions I would be very 
>>>>>>>>>>> thankful. I
>>>>>>>>>>> know it's complex, and I should try to make some smaller test 
>>>>>>>>>>> cases, but
>>>>>>>>>> I
>>>>>>>>>> 
>>>>>>>>>>> don't really have a grasp yet where the problem might be.
>>>>>>>>>>> 
>>>>>>>>>>> Writing this might help me also to get some structure in my 
>>>>>>>>>>> thinking :)
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> The main crash seems to be in the last line, wrapType(), of
>>>>>>>>>>> __wrap__.cpp:
>>>>>>>>>>> 
>>>>>>>>>>>  static PyObject
>>>>>>>>>>> 
>>>>>>>>>>> *t_AbstractReconfigurableDetector_withHandler(t_
>>>>>>>>>> AbstractReconfigurableDetector
>>>>>>>>>> 
>>>>>>>>>>> *self, PyObject *arg)
>>>>>>>>>>>    {
>>>>>>>>>>>      ::org::orekit::propagation::events::handlers::EventHandler
>>>>>>>>>>> a0((jobject) NULL);
>>>>>>>>>>>      PyTypeObject **p0;
>>>>>>>>>>>      ::org::orekit::propagation::events::EventDetector
>>>>>>>>>>> result((jobject) NULL);
>>>>>>>>>>> 
>>>>>>>>>>>      if (!parseArg(arg, "K",
>>>>>>>>>>> 
>>>>>>>>>>> ::org::orekit::propagation::events::handlers::
>>>>>>>>>> EventHandler::initializeClass,
>>>>>>>>>> 
>>>>>>>>>>> &a0, &p0,
>>>>>>>>>>> 
>>>>>>>>>>> ::org::orekit::propagation::events::handlers::t_
>>>>>>>>>> EventHandler::parameters_))
>>>>>>>>>> 
>>>>>>>>>>>      {
>>>>>>>>>>>        OBJ_CALL(result = self->object.withHandler(a0));
>>>>>>>>>>>        return self->parameters[0] != NULL ?
>>>>>>>>>>> wrapType(self->parameters[0], result.this$) :
>>>>>>>>>>> ::org::orekit::propagation::events::t_EventDetector::wrap_
>>>>>>>>>>> Object(result);
>>>>>>>>>>>      }
>>>>>>>>>>> 
>>>>>>>>>>> The parameters[0] does not seem to be null, but neither is it a 
>>>>>>>>>>> valid
>>>>>>>>>>> object, in my debugger it says 0xbaadf00d {ob_refcnt=??? ob_type=???
>>>>>>>>>>> ob_size=??? ...}     _typeobject *, wrapType is called and when 
>>>>>>>>>>> trying
>>>>>>>>>>> to
>>>>>>>>>>> access the wrapfn it crashes.
>>>>>>>>>>> 
>>>>>>>>>>> The main python lines are:
>>>>>>>>>>> tmp1 = ElevationDetector(sta1Frame)                    #
>>>>>>>>>> ElevationDetector
>>>>>>>>>> 
>>>>>>>>>>> is a java public class ElevationDetector extends
>>>>>>>>>>> AbstractReconfigurableDetector<ElevationDetector>
>>>>>>>>>>> hand = ContinueOnEvent().of_(ElevationDetector)   # a
>>>>>>>>>>> java ContinueOnEvent<ElevationDetector> object
>>>>>>>>>>> elDetector = tmp1.withHandler(hand)     #Crash. withHandler is a 
>>>>>>>>>>> method
>>>>>>>>>>> that is inherited from AbstractReconfigurableDetector to
>>>>>>>>>> ElevationDetector
>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> This crashes when interactively entered on the python prompt (or in
>>>>>>>>>>> other
>>>>>>>>>>> interactive consoles), but seems to work if executed directly 
>>>>>>>>>>> without
>>>>>>>>>>> interactivity. This difference makes me think that it might be 
>>>>>>>>>>> something
>>>>>>>>>>> with garbage collection, but don't know.
>>>>>>>>>>> 
>>>>>>>>>>> Any comments appriciated, I know this is likely very difficult to
>>>>>>>>>>> comment
>>>>>>>>>>> on as it's not very encapsulated.
>>>>>>>>>> 
>>>>>>>>>> Right, so unless you can isolate this into something I can 
>>>>>>>>>> reproduce, I'm
>>>>>>>>>> afraid there isn't much I can comment.
>>>>>>>>>> It is quite likely that by the time you have that reproducible test 
>>>>>>>>>> case
>>>>>>>>>> ready, you also have the solution to the problem. Or I might be able 
>>>>>>>>>> to
>>>>>>>>>> help then...
>>>>>>>>>> 
>>>>>>>>>> Andi..
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>> Regards
>>>>>>>>>>> /Petrus
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>>> On Sun, Dec 15, 2013 at 10:36 AM, Andi Vajda <va...@apache.org> 
>>>>>>>>>>>> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> On Dec 15, 2013, at 5:43, Petrus Hyvönen <petrus.hyvo...@gmail.com>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Hi Andi,
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I see your point and have now kept in the pure python domain.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> If I run my script from the shell by "python script.py" it does 
>>>>>>>>>>>>> not
>>>>>>>>>>>> crash. However if I execute it line-by-line in python it crashes 
>>>>>>>>>>>> (or in
>>>>>>>>>>>> other tools such as ipython notebook).
>>>>>>>>>>>> 
>>>>>>>>>>>>> All classes used are non-wrapped java classes, but I get the same
>>>>>>>>>>>> effect
>>>>>>>>>> 
>>>>>>>>>>> with classes made for python subclassing.
>>>>>>>>>>>> 
>>>>>>>>>>>>> I am getting this on both MacOSX 64-bit python and Windows 7 
>>>>>>>>>>>>> 32-bit
>>>>>>>>>>>> python.
>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> elDetector =
>>>>>>>>>>>>>>> elDetector.withHandler(ContinueOnEvent().of_(ElevationDetector))
>>>>>>>>>>>> 
>>>>>>>>>>>>> #
>>>>>>>>>>>>> # A fatal error has been detected by the Java Runtime Environment:
>>>>>>>>>>>>> #
>>>>>>>>>>>>> #  SIGSEGV (0xb) at pc=0x000000010005da1a, pid=3318, tid=1287
>>>>>>>>>>>>> #
>>>>>>>>>>>>> # JRE version: Java(TM) SE Runtime Environment (7.0_45-b18) (build
>>>>>>>>>>>> 1.7.0_45-b18)
>>>>>>>>>>>> 
>>>>>>>>>>>>> # Java VM: Java HotSpot(TM) 64-Bit Server VM (24.45-b08 mixed mode
>>>>>>>>>>>> bsd-amd64 compressed oops)
>>>>>>>>>>>> 
>>>>>>>>>>>>> # Problematic frame:
>>>>>>>>>>>>> # C  [libpython2.7.dylib+0x5aa1a]  PyObject_GetAttr+0x1a
>>>>>>>>>>>>> #
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> from the stack it seems like there is somthing happening in 
>>>>>>>>>>>>> "wrapType"
>>>>>>>>>>>>> Stack: [0x00007fff5fb80000,0x00007fff5fc00000],
>>>>>>>>>>>>> sp=0x00007fff5fbff470,
>>>>>>>>>>>> free space=509k
>>>>>>>>>>>> 
>>>>>>>>>>>>> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code,
>>>>>>>>>>>> C=native code)
>>>>>>>>>>>> 
>>>>>>>>>>>>> C  [libpython2.7.dylib+0x5aa1a]  PyObject_GetAttr+0x1a
>>>>>>>>>>>>> C  [_orekit.so+0xa80878]  wrapType(_typeobject*, _jobject*
>>>>>>>>>>>>> const&)+0x58
>>>>>>>>>>>>> C  [_orekit.so+0x554400]
>>>>>>>>>>>> 
>>>>>>>>>>>> org::orekit::propagation::events::t_AbstractReconfigurableDetector
>>>>>>>>>> _withHandler(org::orekit::propagation::events::t_
>>>>>>>>>> AbstractReconfigurableDetector*,
>>>>>>>>>> 
>>>>>>>>>>> _object*)+0x1c0
>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> First, is the generic class assignment correct as if to write "new
>>>>>>>>>>>> ContinueOnEvent<ElevationDetector>()" in java? And is it ok to use
>>>>>>>>>>> regular
>>>>>>>>>> 
>>>>>>>>>>> java objects/types?
>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Any other comments to move forward highly appriciated.. Is it 
>>>>>>>>>>>>> somehow
>>>>>>>>>>>> possible to get more log what is going wrong?
>>>>>>>>>>>> 
>>>>>>>>>>>> You could compile the whole thing for debugging, by adding --debug
>>>>>>>>>>>> after
>>>>>>>>>>>> 'build' in the jcc invocation and run it with gdb.
>>>>>>>>>>>> 
>>>>>>>>>>>> If you can isolate a reproducible crash into a small test case, I 
>>>>>>>>>>>> can
>>>>>>>>>>> also
>>>>>>>>>> 
>>>>>>>>>>> take a look at it.
>>>>>>>>>>>> 
>>>>>>>>>>>> Andi..
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>>> WIth best regards
>>>>>>>>>>>>> /Petrus
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> On 15 Dec 2013, at 2:40 , Andi Vajda <va...@apache.org> wrote:
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> On Dec 14, 2013, at 19:14, Petrus Hyvönen 
>>>>>>>>>>>>>> <petrus.hyvo...@gmail.com
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> I'm having a problem with I think might be related to generic 
>>>>>>>>>>>>>>> types,
>>>>>>>>>>>>>> but not sure at all.
>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> I'm wrapping a orbit calculation library, which has been working
>>>>>>>>>>>>>>> well
>>>>>>>>>>>>>> but in latest version is using generic types and I'm getting some
>>>>>>>>>>> problems.
>>>>>>>>>> 
>>>>>>>>>>> The script works when executed in plain python, but fails in ipython
>>>>>>>>>>>> notebook on this last line when executed as a couple of cells.
>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> What is an 'ipython notebook' ?
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Andi.,
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> The section with problem in my script is:
>>>>>>>>>>>>>>> elDetector =
>>>>>>>>>>>>>> ElevationDetector(sta1Frame).withConstantElevation(math.
>>>>>>>>>>>> radians(5.0))
>>>>>>>>>>>> 
>>>>>>>>>>>>> elDetector =
>>>>>>>>>>>>>> elDetector.withHandler(ContinueOnEvent().of_(ElevationDetector))
>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> In Java it would typically look something like:
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> ElevationDetector detector = new ElevationDetector(topo)
>>>>>>>>>>>>>>>                                     .withConstantElevation(x)
>>>>>>>>>>>>>>>                                     .withHandler(new
>>>>>>>>>>>>>> ContinueOnEvent<ElevationDetector>());
>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> It produces correct results in plain python, but crashes the 
>>>>>>>>>>>>>>> kernel
>>>>>>>>>>>>>> in
>>>>>>>>>> 
>>>>>>>>>>> ipython if executed as cells, and in exection from spyder I get an 
>>>>>>>>>>> error
>>>>>>>>>>>> message:
>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> " elDetector =
>>>>>>>>>>>>>> elDetector.withHandler(ContinueOnEvent().of_(ElevationDetector))
>>>>>>>>>>>> 
>>>>>>>>>>>>> AttributeError: 'str' object has no attribute 'wrapfn_' "
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> As I have been using this setup stabely with lots of other 
>>>>>>>>>>>>>>> functions
>>>>>>>>>>>>>> it feels like there is something with the generic type line, but 
>>>>>>>>>>>>>> I
>>>>>>>>>>>> don't
>>>>>>>>>>>> really know how to get any further? I'm confused by that the 
>>>>>>>>>>>> pauses in
>>>>>>>>>>> the
>>>>>>>>>> 
>>>>>>>>>>> execution could seem to affect the result.
>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Any comments highly appriciated...
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Best Regards
>>>>>>>>>>>>>>> /Petrus
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> --
>>>>>>>>>>> _____________________________________________
>>>>>>>>>>> Petrus Hyvönen, Uppsala, Sweden
>>>>>>>>>>> Mobile Phone/SMS:+46 73 803 19 00
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> _____________________________________________
>>>>>>>>> Petrus Hyvönen, Uppsala, Sweden
>>>>>>>>> Mobile Phone/SMS:+46 73 803 19 00
>>>>>>> 
>>>>>>> 
>>>>>>> -- 
>>>>>>> _____________________________________________
>>>>>>> Petrus Hyvönen, Uppsala, Sweden
>>>>>>> Mobile Phone/SMS:+46 73 803 19 00
> 

Reply via email to