<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I've got my _Sword.so module to compile and I statically linked libsword.a and libclucene.a into it. So far, I'm able to create the objects fine, but when I try to get my modules, Python crashes with the following trace:<div><br class="webkit-block-placeholder"></div><div><div><font class="Apple-style-span" face="Courier">Process: &nbsp; &nbsp; &nbsp; &nbsp; Python [3639]</font></div><div><font class="Apple-style-span" face="Courier">Path: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/System/Library/Frameworks/Python.framework/Versions/2.5/Resources/Python.app/Contents/MacOS/Python</font></div><div><font class="Apple-style-span" face="Courier">Identifier: &nbsp; &nbsp; &nbsp;Python</font></div><div><font class="Apple-style-span" face="Courier">Version: &nbsp; &nbsp; &nbsp; &nbsp; ??? (???)</font></div><div><font class="Apple-style-span" face="Courier">Code Type: &nbsp; &nbsp; &nbsp; X86 (Native)</font></div><div><font class="Apple-style-span" face="Courier">Parent Process: &nbsp;bash [3571]</font></div><div><font class="Apple-style-span" face="Courier"><br class="webkit-block-placeholder"></font></div><div><font class="Apple-style-span" face="Courier">Date/Time: &nbsp; &nbsp; &nbsp; 2007-12-19 09:17:11.661 -0600</font></div><div><font class="Apple-style-span" face="Courier">OS Version: &nbsp; &nbsp; &nbsp;Mac OS X 10.5.1 (9B18)</font></div><div><font class="Apple-style-span" face="Courier">Report Version: &nbsp;6</font></div><div><font class="Apple-style-span" face="Courier"><br class="webkit-block-placeholder"></font></div><div><font class="Apple-style-span" face="Courier">Exception Type: &nbsp;EXC_BAD_ACCESS (SIGBUS)</font></div><div><font class="Apple-style-span" face="Courier">Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000</font></div><div><font class="Apple-style-span" face="Courier">Crashed Thread: &nbsp;0</font></div><div><font class="Apple-style-span" face="Courier"><br class="webkit-block-placeholder"></font></div><div><font class="Apple-style-span" face="Courier">Thread 0 Crashed:</font></div><div><font class="Apple-style-span" face="Courier">0 &nbsp; libSystem.B.dylib &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">0xffff07d4 __memcpy + 52</font></div><div><font class="Apple-style-span" face="Courier">1 &nbsp; _Sword.so &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">0x004a71da <a href="sword::SWBuf::SWBuf(sword::SWBuf">sword::SWBuf::SWBuf(sword::SWBuf</a> const&amp;, unsigned long) + 170</font></div><div><font class="Apple-style-span" face="Courier">2 &nbsp; _Sword.so &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">0x0048fc27 swig::traits_from&lt;<a href="sword::SWBuf">sword::SWBuf</a>&gt;::from(<a href="sword::SWBuf">sword::SWBuf</a> const&amp;) + 49 (Sword.cxx:3485)</font></div><div><font class="Apple-style-span" face="Courier">3 &nbsp; _Sword.so &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">0x0048ffc1 swig::traits_from&lt;std::pair&lt;<a href="sword::SWBuf">sword::SWBuf</a> const, <a href="sword::SWModule*">sword::SWModule*</a>&gt; &gt;::from(std::pair&lt;<a href="sword::SWBuf">sword::SWBuf</a> const, <a href="sword::SWModule*">sword::SWModule*</a>&gt; const&amp;) + 33 (Sword.cxx:4393)</font></div><div><font class="Apple-style-span" face="Courier">4 &nbsp; _Sword.so &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">0x004882c7 swig::PySwigIterator::next() + 23 (Sword.cxx:2726)</font></div><div><font class="Apple-style-span" face="Courier">5 &nbsp; _Sword.so &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">0x00415c33 _wrap_PySwigIterator_next + 297 (Sword.cxx:5700)</font></div><div><font class="Apple-style-span" face="Courier">6 &nbsp; org.python.python &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">0x0011fd5d PyObject_Call + 50</font></div><div><font class="Apple-style-span" face="Courier">7 &nbsp; org.python.python &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">0x0018dfd8 PyEval_EvalFrameEx + 19086</font></div><div><font class="Apple-style-span" face="Courier">8 &nbsp; org.python.python &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">0x0018f47b PyEval_EvalCodeEx + 1638</font></div><div><font class="Apple-style-span" face="Courier">9 &nbsp; org.python.python &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">0x0018daa5 PyEval_EvalFrameEx + 17755</font></div><div><font class="Apple-style-span" face="Courier">10 &nbsp;org.python.python &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">0x0018f47b PyEval_EvalCodeEx + 1638</font></div><div><font class="Apple-style-span" face="Courier">11 &nbsp;org.python.python &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">0x0018f568 PyEval_EvalCode + 87</font></div><div><font class="Apple-style-span" face="Courier">12 &nbsp;org.python.python &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">0x001a6a0c PyErr_Display + 1896</font></div><div><font class="Apple-style-span" face="Courier">13 &nbsp;org.python.python &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">0x001a867b PyRun_InteractiveOneFlags + 523</font></div><div><font class="Apple-style-span" face="Courier">14 &nbsp;org.python.python &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">0x001a87c9 PyRun_InteractiveLoopFlags + 216</font></div><div><font class="Apple-style-span" face="Courier">15 &nbsp;org.python.python &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">0x001a8bfb PyRun_AnyFileExFlags + 85</font></div><div><font class="Apple-style-span" face="Courier">16 &nbsp;org.python.python &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">0x001b3c23 Py_Main + 3095</font></div><div><font class="Apple-style-span" face="Courier">17 &nbsp;org.python.pythonapp &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Courier">        </font></span><font class="Apple-style-span" face="Courier">0x00001fca 0x1000 + 4042</font></div><div><font class="Apple-style-span" face="Courier"><br class="webkit-block-placeholder"></font></div><div><font class="Apple-style-span" face="Courier">Thread 0 crashed with X86 Thread State (32-bit):</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp;eax: 0xffff07a0 &nbsp;ebx: 0x004a713b &nbsp;ecx: 0x00000000 &nbsp;edx: 0x00000002</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp;edi: 0x0032d860 &nbsp;esi: 0x00000000 &nbsp;ebp: 0xbfffeca8 &nbsp;esp: 0xbfffeca0</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp; ss: 0x0000001f &nbsp;efl: 0x00010202 &nbsp;eip: 0xffff07d4 &nbsp; cs: 0x00000017</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp; ds: 0x0000001f &nbsp; es: 0x0000001f &nbsp; fs: 0x00000000 &nbsp; gs: 0x00000037</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp;cr2: 0x00000000</font></div><div><font class="Apple-style-span" face="Courier"><br class="webkit-block-placeholder"></font></div><div><font class="Apple-style-span" face="Courier">Binary Images:</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp; &nbsp;0x1000 - &nbsp; &nbsp; 0x1ffe &nbsp;org.python.pythonapp 2.5.0 (2.5.0a0) &lt;fccdb19d43071ba163b93b4fddd2a7d0&gt; /System/Library/Frameworks/Python.framework/Versions/2.5/Resources/Python.app/Contents/MacOS/Python</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp; 0x49000 - &nbsp; &nbsp;0x4afff &nbsp;readline.so ??? (???) &lt;64946ffe456c7bf202eb236c1afaa0c4&gt; /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload/readline.so</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp;0x118000 - &nbsp; 0x1e3ffb &nbsp;org.python.python 2.5 (2.5) &lt;ce7182a9e975861a321dfeeca76f54db&gt; /System/Library/Frameworks/Python.framework/Versions/2.5/Python</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp;0x2b0000 - &nbsp; 0x2c6fea &nbsp;libedit.2.dylib ??? (???) &lt;be5a6f391887bb96bdeeafd443cf19fb&gt; /usr/lib/libedit.2.dylib</font></div><div><font class="Apple-style-span" face="Courier">&nbsp;&nbsp;0x400000 - &nbsp; 0x613fe7 +_Sword.so ??? (???) &lt;cb87ac42234856be59203679fcefd578&gt; /Users/jbrisbin/scratch/_Sword.so</font></div><div><font class="Apple-style-span" face="Courier">0x8fe00000 - 0x8fe2d883 &nbsp;dyld 95.3 (???) &lt;3896c718b33f3e065e199a659baf1a2b&gt; /usr/lib/dyld</font></div><div><font class="Apple-style-span" face="Courier">0x90780000 - 0x907ddffb &nbsp;libstdc++.6.dylib ??? (???) &lt;04b812dcec670daa8b7d2852ab14be60&gt; /usr/lib/libstdc++.6.dylib</font></div><div><font class="Apple-style-span" face="Courier">0x90b58000 - 0x90b5ffe9 &nbsp;libgcc_s.1.dylib ??? (???) &lt;a9ab135a5f81f6e345527df87f51bfc9&gt; /usr/lib/libgcc_s.1.dylib</font></div><div><font class="Apple-style-span" face="Courier">0x91da1000 - 0x91dafffd &nbsp;libz.1.dylib ??? (???) &lt;5ddd8539ae2ebfd8e7cc1c57525385c7&gt; /usr/lib/libz.1.dylib</font></div><div><font class="Apple-style-span" face="Courier">0x92592000 - 0x92593fef &nbsp;libmathCommon.A.dylib ??? (???) /usr/lib/system/libmathCommon.A.dylib</font></div><div><font class="Apple-style-span" face="Courier">0x9431d000 - 0x9434cff7 &nbsp;libncurses.5.4.dylib ??? (???) &lt;3b2ac2ca8190942b6b81d2a7012ea859&gt; /usr/lib/libncurses.5.4.dylib</font></div><div><font class="Apple-style-span" face="Courier">0x963ba000 - 0x96514fe3 &nbsp;libSystem.B.dylib ??? (???) &lt;08d9ec2f36455fc197b9b44adf62f304&gt; /usr/lib/libSystem.B.dylib</font></div><div><font class="Apple-style-span" face="Courier">0xffff0000 - 0xffff1780 &nbsp;libSystem.B.dylib ??? (???) /usr/lib/libSystem.B.dylib</font></div><div><br class="webkit-block-placeholder"></div><div>I'm just playing around, reading the example C++ files and trying to translate that into python. Here's what I did to cause the error:</div><div><br class="webkit-block-placeholder"></div><div><div><font class="Apple-style-span" face="Courier">+-( ~/scratch ):&gt; python</font></div><div><font class="Apple-style-span" face="Courier">Python 2.5.1 (r251:54863, Oct &nbsp;9 2007, 20:39:46)&nbsp;</font></div><div><font class="Apple-style-span" face="Courier">[GCC 4.0.1 (Apple Inc. build 5465)] on darwin</font></div><div><font class="Apple-style-span" face="Courier">Type "help", "copyright", "credits" or "license" for more information.</font></div><div><font class="Apple-style-span" face="Courier">&gt;&gt;&gt; from Sword import *</font></div><div><font class="Apple-style-span" face="Courier">&gt;&gt;&gt; mf = MarkupFilterMgr(FMT_WEBIF)</font></div><div><font class="Apple-style-span" face="Courier">&gt;&gt;&gt; mgr = SWMgr(mf)</font></div><div><font class="Apple-style-span" face="Courier">&gt;&gt;&gt; mods = mgr.getModules()</font></div><div><font class="Apple-style-span" face="Courier">&gt;&gt;&gt; mods</font></div><div><font class="Apple-style-span" face="Courier">&lt;Sword.ModuleMap; proxy of &lt;Swig Object of type 'std::map&lt;<a href="sword::SWBuf,sword::SWModule">sword::SWBuf,sword::SWModule</a> *,std::less&lt;<a href="sword::SWBuf">sword::SWBuf</a> &gt;,std::allocator&lt;std::pair&lt;<a href="sword::SWBuf">sword::SWBuf</a> const,<a href="sword::SWModule">sword::SWModule</a> * &gt; &gt; &gt; *' at 0x3282e8&gt; &gt;</font></div><div><font class="Apple-style-span" face="Courier">&gt;&gt;&gt; mod = mods.begin()</font></div><div><font class="Apple-style-span" face="Courier">&gt;&gt;&gt; mod</font></div><div><font class="Apple-style-span" face="Courier">&lt;Sword.PySwigIterator; proxy of &lt;Swig Object of type 'swig::PySwigIterator *' at 0x315db0&gt; &gt;</font></div><div><font class="Apple-style-span" face="Courier">&gt;&gt;&gt; mod.next()</font></div><div><font class="Apple-style-span" face="Courier">Bus error</font></div><div><br class="webkit-block-placeholder"></div><div>Same thing happens with I try and read anything from the iterator. It just crashes python.</div><div><br class="webkit-block-placeholder"></div><div>Any ideas?</div></div><div apple-content-edited="true"> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Lucida Grande'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div><br class="Apple-interchange-newline">Thanks!</div><div><br></div><div>Jon Brisbin</div><div><a href="http://jbrisbin.com">http://jbrisbin.com</a></div><div><br></div></span><br class="Apple-interchange-newline"> </div><br></div></body></html>