segunda-feira, 16 de Março de 2015 às 12:35:25 UTC, Jameson escreveu:
>
>
> It looks like `cdCanvas` might be quite large. Perhaps this is hitting 
> some conflict in the gc?
>

Yes, that's exactly what it seams.
 

> # I Don't understand the purpose of this function, which true definition 
> includes a varargs, so I implemented
> # this one only as a guide for the future problems
> function IupSetCallbacks(ih::Ptr{Ihandle}, name::String, func1::Icallback, 
> func2::Icallback)
> ccall((:IupSetCallbacks, iup), Icallback, (Ptr{Ihandle}, Ptr{Uint8}, 
> Icallback, Icallback), ih, name, func1, func2)
> end
>
> note that defining a varargs function without a varargs (...) declaration 
> in julia could corrupt a program, although it seems that only the SysV 
> x86_64 ABI seems to make a distinction (if there are XMM registers in use).
>

I once (when wrote that wrapper) asked about varargs and was told it was 
not yet possible to do that in Julia. Is it different now? Note that I had 
no option. Either that workaround or no library wrapper at all.

 

>
> On Mon, Mar 16, 2015 at 12:38 AM J Luis <[email protected] <javascript:>> 
> wrote:
>
>> In my machine (Win8 64), 488 is the size limit for that immutable. 
>>
>> With 489 ==> Kaboomm
>>
>> segunda-feira, 16 de Março de 2015 às 04:27:38 UTC, J Luis escreveu:
>>
>>> I may have found a very important piece.
>>>
>>> If I shrink the immutable Array_1024_Uint8 in
>>>  https://github.com/joa-quim/IUP.jl/blob/master/src/libcd_h.jl#L154
>>> to, let say, 4 members than the whole program works again. So apparently 
>>> it's a size matter!
>>>
>>> segunda-feira, 16 de Março de 2015 às 03:06:14 UTC, J Luis escreveu:
>>>>
>>>> The changes referred in https://groups.google.com/
>>>> forum/?fromgroups=#!topic/julia-users/qi6HpMrAS_A broke IUP.jl in a 
>>>> way that I simply cannot even identify where the breakage occurs.
>>>>
>>>> I managed to reproduce the crash with only one instruction, but even 
>>>> than makes no sense to me. The next two lines crash julia
>>>>
>>>> julia> using im_view_
>>>> julia> a=IUP.IupCanvas()
>>>>
>>>> It can be seen in https://github.com/joa-quim/
>>>> IUP.jl/blob/master/src/libiup.jl#L480 that the wrapper is OK and if 
>>>> fact if I comment the two lines (that leave in another module)
>>>>
>>>> https://github.com/joa-quim/IUP.jl/blob/master/src/IUP_CD.jl#L349
>>>> https://github.com/joa-quim/IUP.jl/blob/master/src/IUP_CD.jl#L350
>>>>
>>>> that are include from the module im_view_ than I get an error of 
>>>> missing function (normal, since I commented its inclusions) but otherwise 
>>>> all seam to work.
>>>> So I'm left with this back trace of which I'm unable to extract any 
>>>> useful information.
>>>>
>>>> (On Win64 with a nightly from 2 days ago)
>>>>
>>>> Please submit a bug report with steps to reproduce this fault, and any 
>>>> error messages that follow (in their entirety). Thanks.
>>>> Exception: EXCEPTION_ACCESS_VIOLATION at 0x6bfb2b56 -- 
>>>> jl_profile_is_running at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown 
>>>> line)
>>>> jl_profile_is_running at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown 
>>>> line)
>>>> jl_profile_is_running at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown 
>>>> line)
>>>> jl_profile_is_running at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown 
>>>> line)
>>>> jl_profile_is_running at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown 
>>>> line)
>>>> jl_profile_is_running at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown 
>>>> line)
>>>> jl_profile_is_running at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown 
>>>> line)
>>>> jl_profile_is_running at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown 
>>>> line)
>>>> jl_profile_is_running at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown 
>>>> line)
>>>> jl_profile_is_running at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown 
>>>> line)
>>>> jl_profile_is_running at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown 
>>>> line)
>>>> jl_profile_is_running at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown 
>>>> line)
>>>> jl_profile_is_running at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown 
>>>> line)
>>>> jl_profile_is_running at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown 
>>>> line)
>>>> jl_profile_is_running at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown 
>>>> line)
>>>> jl_profile_is_running at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown 
>>>> line)
>>>> jl_profile_is_running at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown 
>>>> line)
>>>> jl_profile_is_running at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown 
>>>> line)
>>>> jl_gc_collect at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown line)
>>>> allocobj at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown line)
>>>> jl_init_tasks at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown line)
>>>> jl_alloc_cell_1d at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown line)
>>>> jl_f_new_expr at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown line)
>>>> inlineable at inference.jl:2372
>>>> jl_apply_generic at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown line)
>>>> inlining_pass at inference.jl:2914
>>>> jl_apply_generic at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown line)
>>>> inlining_pass at inference.jl:2809
>>>> jl_apply_generic at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown line)
>>>> typeinf_uncached at inference.jl:1745
>>>> jlcall_typeinf_uncached_111 at  (unknown line)
>>>> jl_apply_generic at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown line)
>>>> typeinf at inference.jl:1386
>>>> jlcall_typeinf_84 at  (unknown line)
>>>> jl_apply_generic at V:\Julia-0.4.0-dev\bin\libjulia.dll (unknown line)
>>>> typeinf at inference.jl:1345
>>>> jl_apply_generic at V:\Julia-0.4.0-dev
>>>> ...
>>>
>>>

Reply via email to