Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Dan Stromberg Newsgroups: comp.lang.python Subject: Re: nosepipe error Date: Tue, 23 Feb 2016 10:11:43 -0800 Lines: 33 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: news.uni-berlin.de yVd9/Z/8K3qQELAxZYCGEg3bQO1whVg25hzMfbqwd/sQ== Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'aggregate': 0.07; 'cc:addr :python-list': 0.09; 'chunks': 0.09; 'ignoring': 0.09; 'stdout': 0.09; 'sys.stderr': 0.09; 'unhandled': 0.09; 'thread': 0.10; 'subject:error': 0.11; 'exception': 0.13; 'output': 0.13; 'wed,': 0.15; '2016': 0.16; '23,': 0.16; '24,': 0.16; 'cascading': 0.16; 'cc:name:python list': 0.16; 'exceptions.': 0.16; 'received:io': 0.16; 'received:psf.io': 0.16; 'sees': 0.16; 'socketpair': 0.16; 'wrote:': 0.16; 'tests': 0.18; 'cc:2**0': 0.20; 'cc:addr:python.org': 0.20; 'received:209.85.214.174': 0.22; 'am,': 0.23; 'feb': 0.23; 'split': 0.23; 'header:In-Reply-To:1': 0.24; 'chris': 0.26; 'least': 0.27; 'message-id:@mail.gmail.com': 0.27; 'looks': 0.29; 'attempting': 0.29; 'dan': 0.29; 'far,': 0.29; 'socket,': 0.29; 'code:': 0.29; 'there.': 0.30; "i'm": 0.30; 'agreed': 0.31; 'machine.': 0.33; 'tue,': 0.34; 'received:google.com': 0.35; 'could': 0.35; 'replace': 0.35; 'but': 0.36; 'received:209.85': 0.36; 'beginning': 0.36; 'subject:: ': 0.37; 'being': 0.37; 'missing': 0.37; 'received:209': 0.38; 'sure': 0.39; 'received:209.85.214': 0.39; 'where': 0.40; 'skip:u 10': 0.61; 'eye': 0.61; 'great': 0.63; '>>>>>': 0.66; 'levels': 0.70; 'seeing,': 0.84 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=I+AmnO6WPvB4psSgd7f0W7G/tma/fNdBwSBoDIcddcs=; b=aYIgOevNCqERiVEY4b385N5+VZWtQlxylaPJtMP9eALtwbLT3B6oTOgnpyi3lvL+8y wmTFYWfv8Vyb9W3KqUxsPPgA52AkpZjRzkRFEWwlAlbkXKCJS+YH/9yOsFAeDHRsDqEV +oJvbknt2sE93/KIOblhd9ybxEGM571WZnNmooQv3PfNavaA+rrj2lnqc4t1PQxnvjI6 EXOymajSIiDYxaTS91L+44Fx/HzmOboLyiQ414DMSZSq87y0QPJVUaFuK9oA412LE8V+ B9XG6qSZctKood/uAlKJHNLyDQYkGj+/NTko5e+PNaBKS7TBqpmv75QLPq07VKrebnI5 VNdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=I+AmnO6WPvB4psSgd7f0W7G/tma/fNdBwSBoDIcddcs=; b=jqGtEVwpxm6rMlFcbyQZIVGNm1D4+nF3Sl4LUwRwy1pMDYZn7703oF7NOH+BP9tF/D yYOSUZeJnZQblOtAirigQjSYPxFJbXGd9IiqLP/4Vo2hlFu3ziV+gTR6wx8FuEWjjz8e q2Zoe6twgGr/UDZN2NCaik7YIclRuJ8gYtvkMRhYh7dknz+8A8ZIpPAdp9eTgKtjKRB6 kX7EMzXs8iDPuIclOYPuXJ07ONi1AuJJikVCkgV5mWo4ffkQ3Ghc6lh6CEjgP6Gn98a7 B1mcM6AZiLXW+kP6dSZerlGfTmRaO6BhwL3ajAj4FVUyBbytnkb6VrEpyol6Z9ymndVC eVMg== X-Gm-Message-State: AG10YOQvZXeCbWycgTH+3biivX6Dot7fr7BF1Qz04NIJSuY62R92E2pflkqRmG1erybi+tx5nbZhse1ApFFIxQ== X-Received: by 10.182.68.104 with SMTP id v8mr28373862obt.64.1456251103786; Tue, 23 Feb 2016 10:11:43 -0800 (PST) In-Reply-To: X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.21rc2 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Xref: csiph.com comp.lang.python:103412 On Tue, Feb 23, 2016 at 9:43 AM, Chris Angelico wrote: > On Wed, Feb 24, 2016 at 4:36 AM, Dan Stromberg wrote: >> Message: Unhandled exception in thread started by >> sys.excepthook is missing >> lost sys.stderr >> >> That 1433299041 looks like ASCII: >>>>> hex(1433299041) >> '0x556e6861' >>>>> chr(0x55) + chr(0x6e) + chr(0x68) + chr(0x61) >> 'Unha' >> >> ...but I'm not sure where to go with that from there. > > My eye sees those characters as being the beginning of "Unhandled > exception in thread". You could be dealing with multiple levels of > cascading exceptions. Agreed - at least "Unhandled exception". I'm seeing, in the nosepipe code: # we use stdout for IPC, so block all other output self._stream = sys.__stdout__ I'm not sure using stdout/stdin for IPC is a great thing; a lot of tests write to stdout or stderr, whether intentionally or unintentionally. I'm attempting to replace the use of stdout/stdin with os.pipe(), but so far I'm not having much luck. I get three write()'s, and then a hang. So far, I'm ignoring the fact that os.read() and os.write() might split or aggregate chunks over a socket, since this is a socketpair communicating on the same machine.