Hi, Instead of: >>> from Sword import * >>> mf = MarkupFilterMgr(FMT_WEBIF) >>> mgr = SWMgr(mf)
Try >>> from Sword import * >>> mf = MarkupFilterMgr(FMT_WEBIF) >>> mf.thisown = False >>> mgr = SWMgr(mf) mf.thisown = False tells swig not to GC the sword object. This may or may not help. I have had problems with it crashing before with modmaps (static linking seemed to help). Generally, if you create a Sword object, and then pass it in as a parameter, you need to do this so that it doesn't get GC'ed As well as this, you can iterate through using the more pythonic: for mod in mods: print mod.c_str() -- God Bless, Ben ------------------------------------------------------------------------------------------- The Lord is not slow to fulfill his promise as some count slowness, but is patient toward you, not wishing that any should perish, but that all should reach repentance. 2 Peter 3:9 (ESV) On 12/20/07, Jon Brisbin <[EMAIL PROTECTED]> wrote: > > I've got my _Sword.so module to compile and I statically linked libsword.aand > 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: > > Process: Python [3639] > Path: > > /System/Library/Frameworks/Python.framework/Versions/2.5/Resources/Python.app/Contents/MacOS/Python > Identifier: Python > Version: ??? (???) > Code Type: X86 (Native) > Parent Process: bash [3571] > > Date/Time: 2007-12-19 09:17:11.661 -0600 > OS Version: Mac OS X 10.5.1 (9B18) > Report Version: 6 > > Exception Type: EXC_BAD_ACCESS (SIGBUS) > Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000 > Crashed Thread: 0 > > Thread 0 Crashed: > 0 libSystem.B.dylib 0xffff07d4 __memcpy + 52 > 1 _Sword.so 0x004a71da > sword::SWBuf::SWBuf(sword::SWBuf const&, unsigned long) + 170 > 2 _Sword.so 0x0048fc27 swig::traits_from< > sword::SWBuf>::from(sword::SWBuf const&) + 49 (Sword.cxx:3485) > 3 _Sword.so 0x0048ffc1 swig::traits_from<std::pair< > sword::SWBuf const, sword::SWModule*> >::from(std::pair<sword::SWBufconst, > sword::SWModule*> const&) + 33 (Sword.cxx:4393) > 4 _Sword.so 0x004882c7 swig::PySwigIterator::next() > + 23 (Sword.cxx:2726) > 5 _Sword.so 0x00415c33 _wrap_PySwigIterator_next + > 297 (Sword.cxx:5700) > 6 org.python.python 0x0011fd5d PyObject_Call + 50 > 7 org.python.python 0x0018dfd8 PyEval_EvalFrameEx + 19086 > 8 org.python.python 0x0018f47b PyEval_EvalCodeEx + 1638 > 9 org.python.python 0x0018daa5 PyEval_EvalFrameEx + 17755 > 10 org.python.python 0x0018f47b PyEval_EvalCodeEx + 1638 > 11 org.python.python 0x0018f568 PyEval_EvalCode + 87 > 12 org.python.python 0x001a6a0c PyErr_Display + 1896 > 13 org.python.python 0x001a867b PyRun_InteractiveOneFlags + > 523 > 14 org.python.python 0x001a87c9 PyRun_InteractiveLoopFlags + > 216 > 15 org.python.python 0x001a8bfb PyRun_AnyFileExFlags + 85 > 16 org.python.python 0x001b3c23 Py_Main + 3095 > 17 org.python.pythonapp 0x00001fca 0x1000 + 4042 > > Thread 0 crashed with X86 Thread State (32-bit): > eax: 0xffff07a0 ebx: 0x004a713b ecx: 0x00000000 edx: 0x00000002 > edi: 0x0032d860 esi: 0x00000000 ebp: 0xbfffeca8 esp: 0xbfffeca0 > ss: 0x0000001f efl: 0x00010202 eip: 0xffff07d4 cs: 0x00000017 > ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037 > cr2: 0x00000000 > > Binary Images: > 0x1000 - 0x1ffe org.python.pythonapp 2.5.0 (2.5.0a0) > <fccdb19d43071ba163b93b4fddd2a7d0> > /System/Library/Frameworks/Python.framework/Versions/2.5/Resources/Python.app/Contents/MacOS/Python > 0x49000 - 0x4afff readline.so ??? (???) > <64946ffe456c7bf202eb236c1afaa0c4> > /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload/readline.so > 0x118000 - 0x1e3ffb org.python.python 2.5 (2.5) > <ce7182a9e975861a321dfeeca76f54db> > /System/Library/Frameworks/Python.framework/Versions/2.5/Python > 0x2b0000 - 0x2c6fea libedit.2.dylib ??? (???) > <be5a6f391887bb96bdeeafd443cf19fb> /usr/lib/libedit.2.dylib > 0x400000 - 0x613fe7 +_Sword.so ??? (???) > <cb87ac42234856be59203679fcefd578> /Users/jbrisbin/scratch/_Sword.so > 0x8fe00000 - 0x8fe2d883 dyld 95.3 (???) > <3896c718b33f3e065e199a659baf1a2b> /usr/lib/dyld > 0x90780000 - 0x907ddffb libstdc++.6.dylib ??? (???) > <04b812dcec670daa8b7d2852ab14be60> /usr/lib/libstdc++.6.dylib > 0x90b58000 - 0x90b5ffe9 libgcc_s.1.dylib ??? (???) > <a9ab135a5f81f6e345527df87f51bfc9> /usr/lib/libgcc_s.1.dylib > 0x91da1000 - 0x91dafffd libz.1.dylib ??? (???) > <5ddd8539ae2ebfd8e7cc1c57525385c7> /usr/lib/libz.1.dylib > 0x92592000 - 0x92593fef libmathCommon.A.dylib ??? (???) > /usr/lib/system/libmathCommon.A.dylib > 0x9431d000 - 0x9434cff7 libncurses.5.4.dylib ??? (???) > <3b2ac2ca8190942b6b81d2a7012ea859> /usr/lib/libncurses.5.4.dylib > 0x963ba000 - 0x96514fe3 libSystem.B.dylib ??? (???) > <08d9ec2f36455fc197b9b44adf62f304> /usr/lib/libSystem.B.dylib > 0xffff0000 - 0xffff1780 libSystem.B.dylib ??? (???) > /usr/lib/libSystem.B.dylib > > > 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: > > > +-( ~/scratch ):> python > Python 2.5.1 (r251:54863, Oct 9 2007, 20:39:46) > [GCC 4.0.1 (Apple Inc. build 5465)] on darwin > Type "help", "copyright", "credits" or "license" for more information. > >>> from Sword import * > >>> mf = MarkupFilterMgr(FMT_WEBIF) > >>> mgr = SWMgr(mf) > >>> mods = mgr.getModules() > >>> mods > <Sword.ModuleMap; proxy of <Swig Object of type 'std::map< > sword::SWBuf,sword::SWModule > *,std::less<sword::SWBuf>,std::allocator<std::pair< > sword::SWBuf const,sword::SWModule * > > > *' at 0x3282e8> > > >>> mod = mods.begin() > >>> mod > <Sword.PySwigIterator; proxy of <Swig Object of type 'swig::PySwigIterator > *' at 0x315db0> > > >>> mod.next() > Bus error > > > Same thing happens with I try and read anything from the iterator. It just > crashes python. > > > Any ideas? > > Thanks! > > > Jon Brisbin > http://jbrisbin.com > > > > > > > > _______________________________________________ > sword-devel mailing list: sword-devel@crosswire.org > http://www.crosswire.org/mailman/listinfo/sword-devel > Instructions to unsubscribe/change your settings at above page >
_______________________________________________ sword-devel mailing list: sword-devel@crosswire.org http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page