Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!xlned.com!feeder5.xlned.com!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!news.tele.dk!news.tele.dk!small.news.tele.dk!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.058 X-Spam-Evidence: '*H*': 0.88; '*S*': 0.00; 'interpreter': 0.05; 'bit.': 0.16; 'welcomed': 0.16; 'ignore': 0.16; 'wrote:': 0.18; 'all,': 0.19; 'thoughts': 0.19; 'later': 0.20; 'tests': 0.22; 'header:User-Agent:1': 0.23; 'cheers,': 0.24; 'pass': 0.26; 'header:In-Reply-To:1': 0.27; 'rest': 0.29; '[1]': 0.29; "i'm": 0.30; 'code': 0.31; 'getting': 0.31; 'running': 0.33; 'trouble': 0.34; 'received:66': 0.35; 'advice': 0.35; 'but': 0.35; 'presently': 0.38; 'to:addr:python-list': 0.38; 'to:addr:python.org': 0.39; 'further': 0.61; 'first': 0.61; 'here:': 0.62; 'series': 0.66; 'led': 0.72; 'shutdown': 0.84 Date: Fri, 06 Dec 2013 18:47:19 +1030 From: Garthy User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:8.0) Gecko/20111105 Thunderbird/8.0 MIME-Version: 1.0 To: python-list@python.org Subject: Re: Embedding multiple interpreters References: <52A137B3.7010408@entropicsoftware.com> In-Reply-To: <52A137B3.7010408@entropicsoftware.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Mailman-Approved-At: Fri, 06 Dec 2013 09:22:40 +0100 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 23 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1386318161 news.xs4all.nl 2878 [2001:888:2000:d::a6]:53814 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:61121 Hi all, A small update here: On 06/12/13 13:04, Garthy wrote: > [1] It presently crashes in Py_EndInterpreter() after running through a > series of tests during the shutdown of the 32nd interpreter I create. I > don't know if this is significant, but the tests pass for the first 31 > interpreters. This turned out to be a red herring, so please ignore this bit. I had a code path that failed to call Py_INCREF on Py_None which was held in a PyObject that was later Py_DECREF'd. This had some interesting consequences, and not surprisingly led to some double-frees. ;) I was able to get much further with this fix, although I'm still having some trouble getting multiple interpreters running together simultaneously. Advice and thoughts still very much welcomed on the rest of the email. :) Cheers, Garth