Hello colleagues, i think i've mentioned before: I'm not really a master on ccalls and the pointer/struct/Type architecture, so it might be obvious to someone else what's wrong here. I'm doing a library adaptation (on libxcb.so), one of the major X11 libraries to put literally everything on screen. Clang.jl helps me in some places, in some others, i manually convert c-structs and constants to julia constructions.
A got recently (input to debugging) very strange behavior, as executing the code in REPL steps works (at least doesn't fail), but as function sigfaults. lobi@orange4:~/juliarepo$ ../julia04/julia _ _ _ _(_)_ | A fresh approach to technical computing (_) | (_) (_) | Documentation: http://docs.julialang.org _ _ _| |_ __ _ | Type "help()" for help. | | | | | | |/ _` | | | | |_| | | | (_| | | Version 0.4.0-dev+5208 (2015-06-04 23:18 UTC) _/ |\__'_|_|_|\__'_| | Commit e9fa25b* (19 days old master) |__/ | x86_64-linux-gnu julia> using XCB julia> c = XCB.connect() XCB.xcb_connection_t(Ptr{Void} @0x0000000002400af0) julia> s0 = XCB.get_setup(c) XCB.xcb_setup_t(0xf0,0xd8,0x0246,0x0000,0x0000,0x0246d8f0,0x00000000, 0x0246d8f0,0x00000000,0xd8c0,0x0246,0x00,0x00,0x00,0x00,0xc8,0x7c,0xc9,0x3a, XCB.Array_4_Uint8(0xfc,0x7f,0x00,0x00)) julia> s = XCB.setup_roots_iterator(s0) XCB.xcb_screen_iterator_t(Ptr{XCB.xcb_screen_t} @0x000000000247b968,0,57464) julia> sc = unsafe_load(s.data) XCB.xcb_screen_t(0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x02480030,0x00,0x00,0x00,0x00) julia> id = XCB.generate_id(c) 0x02600000 whereas: lobi@orange4:~/juliarepo$ ../julia04/julia _ _ _ _(_)_ | A fresh approach to technical computing (_) | (_) (_) | Documentation: http://docs.julialang.org _ _ _| |_ __ _ | Type "help()" for help. | | | | | | |/ _` | | | | |_| | | | (_| | | Version 0.4.0-dev+5208 (2015-06-04 23:18 UTC) _/ |\__'_|_|_|\__'_| | Commit e9fa25b* (19 days old master) |__/ | x86_64-linux-gnu julia> using XCB julia> XCB.test0() signal (11): Segmentation fault test0 at /home/lobi/.julia/v0.4/XCB/src/XCB.jl:123 jlcall_test0_21005 at (unknown line) jl_apply_generic at /home/lobi/julia04/usr/bin/../lib/libjulia.so (unknown line) unknown function (ip: -955646749) unknown function (ip: -955649750) unknown function (ip: -955571213) jl_toplevel_eval_in at /home/lobi/julia04/usr/bin/../lib/libjulia.so (unknown line) eval_user_input at REPL.jl:62 jlcall_eval_user_input_20884 at (unknown line) jl_apply_generic at /home/lobi/julia04/usr/bin/../lib/libjulia.so (unknown line) anonymous at task.jl:91 unknown function (ip: -955622464) unknown function (ip: 0) Segmentation fault (core dumped) with function test0() c = connect() display(c) s0 = get_setup(c) display(s0) s = setup_roots_iterator(s0) display(s) sc = unsafe_load(s.data) display(sc) id = generate_id(c) #create_window(c, # XCB_COPY_FROM_PARENT,id,sc.root, # 0,0,150,150,10,XCB_WINDOW_CLASS_INPUT_OUTPUT,sc.root_visual,0,C_NULL) c,s0,s,sc,id end Any idea?