Package: swig
Version: 1.3.24-1
Severity: important

When wrapping C++ for use from Python, qan expression of the form
"using ::baz;" sends Swig_symbol_clookup into an infinite recursion
that ends with a segfault when the stack is exhausted.  This makes it
pretty much unusable on a our code.  Swig 1.3.22 didn't have this
problem.

I've built a debugging version from the apt sources.  Given a file
demo.i as follows:
------------------------------------------------------------
%module demo 
using ::baz;
------------------------------------------------------------

...running swig with the following arguments:
  -v -c++ -python demo.i

...generates the following a stack trace (with the leading 990 or so
Swig_symbol_clookup frames elided for brevity:)

------------------------------------------------------------
#990 0x080ded3f in Swig_symbol_clookup (name=0x4032ff98, n=0x4023e178) at 
Swig/symbol.c:897
#991 0x080ded3f in Swig_symbol_clookup (name=0x4032ff98, n=0x4023e178) at 
Swig/symbol.c:897
#992 0x080ded3f in Swig_symbol_clookup (name=0x4032ff98, n=0x4023e178) at 
Swig/symbol.c:897
#993 0x080ded3f in Swig_symbol_clookup (name=0x4032ff98, n=0x4023e178) at 
Swig/symbol.c:897
#994 0x080ca603 in TypePass::usingDeclaration (this=0x4032ff98, n=0x4032ffa8) 
at Modules/typepass.cxx:820
#995 0x08087daa in Dispatcher::emit_one (this=0xbffff960, n=0x4032ffa8) at 
Modules/lang.cxx:133
#996 0x08087f72 in Dispatcher::emit_children (this=0xbffff960, n=0x4032ffa8) at 
Modules/lang.cxx:206
#997 0x080c89e8 in TypePass::includeDirective (this=0x65000000, n=0x4032ff98) 
at Modules/typepass.cxx:329
#998 0x08087ca6 in Dispatcher::emit_one (this=0xbffff960, n=0x4032fef8) at 
Modules/lang.cxx:159
#999 0x08087f72 in Dispatcher::emit_children (this=0xbffff960, n=0x4032fef8) at 
Modules/lang.cxx:206
#1000 0x080c86f5 in Swig_process_types (n=0x402400b8) at 
Modules/typepass.cxx:290
#1001 0x08090424 in SWIG_main (argc=5, argv=0xbffffce4, l=0x4032ff98) at 
Modules/main.cxx:805
#1002 0x080c487c in main (margc=1694498816, margv=0x65000000) at 
Modules/swigmain.cxx:195
------------------------------------------------------------



-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (800, 'testing'), (1, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.8-2-686
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)

Versions of packages swig depends on:
ii  libc6                       2.3.2.ds1-20 GNU C Library: Shared libraries an
ii  libgcc1                     1:3.4.3-9    GCC support library
ii  libstdc++5                  1:3.3.5-9    The GNU Standard C++ Library v3
ii  libswig1.3.22               1.3.22-5     Runtime support libraries for swig

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to