develooper Front page | perl.xs | Postings from January 2012

Debugging a XS problem.. where to start?

Thread Next
From:
Alberto Simões
Date:
January 16, 2012 11:05
Subject:
Debugging a XS problem.. where to start?
Message ID:
4F1474E9.8040909@alfarrabio.di.uminho.pt
Hello

Usually I gdb perl and can debug (more or less) my XS code. But now I 
have a situation that is making me crazy.

Module compiles an interface to a C++ library.
The interface was swig-generated.

The C library seems to work properly (as some executables that ship with 
the library work).

The .bundle (yes, mac os x here) build perfectly. I just got some warnings:

ld: warning: ignoring file /usr/local/lib/libfries.dylib, file was built 
for unsupported file format which is not the architecture being linked 
(i386)
ld: warning: ignoring file /usr/local/lib/libomlet.dylib, file was built 
for unsupported file format which is not the architecture being linked 
(i386)

because Perl is trying to build a dual arch .bundle, but the libraries 
are just x86 (so that i386 is failing).

Anyway, I expected it to work anyway.

Use_ok is working properly, so I think the .bundle file is being loaded.
But when using the library, I get segmentation fault.

GDB doesn't show much info as well:

(gdb) r -Iblib/arch/ -Iblib/lib t/01-bindings/01-tokenizer.t
Starting program: /usr/bin/perl -Iblib/arch/ -Iblib/lib 
t/01-bindings/01-tokenizer.t
Reading symbols for shared libraries ++................................ done

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007fff5fc01028 in __dyld__dyld_start ()
(gdb) bt
#0  0x00007fff5fc01028 in __dyld__dyld_start ()
#1  0x0000000100000000 in ?? ()
(gdb) The program is running.  Exit anyway? (y or n) y


Any idea where should I look?
Thank you,
ambs

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About