nobs crash on Python 2.7.9 / Solaris

Issue #60 wontfix
Dan Bonachea created an issue

nobs currently crashes with the traceback below on pcp-d-[34], our x86 Solaris systems. Same crash also happens with an external GASNet.

Marking as minor because Solaris is not a currently supported platform. However it would be nice to understand what makes this Python install different and whether the same could occur in a Python install for a platform that is supported.

The Solaris system is running Python 2.7.9, which is newer than the 2.7.5 on our Linux test systems where things are working.

{pcp-d-3 ~/UPC/upcxx} rm -Rf .nobs/ ; ./install test | cat
Downloading http://gasnet.lbl.gov/EX/GASNet-2017.6.0.tar.gz
Finished    http://gasnet.lbl.gov/EX/GASNet-2017.6.0.tar.gz
Configuring GASNet...
(in /shared/bonachea/UPC/upcxx/.nobs/art/1c62206bae65250eabf6396b35f03fe077089ade)
/shared/bonachea/UPC/upcxx/.nobs/art/9163d390d22a920d4cc658efd176c74efbf88fa6/GASNet-2017.6.0/configure --disable-psm --disable-mxm --disable-portals4 --disable-ofi

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Uncaught exception

Traceback (most recent call last):
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/tool_main.py", line 87, in main
    printed.wait()
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 447, in wait
    return me.wait_futurized().value()
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 751, in fire
    arg = gen_throw(arg.exception, None, arg.traceback)
  File "/shared/bonachea/UPC/upcxx/nobsrule.py", line 596, in install
    libset = yield cxt.library(main_src)
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 751, in fire
    arg = gen_throw(arg.exception, None, arg.traceback)
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/memodb.py", line 458, in memo_execute
    yield result
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 751, in fire
    arg = gen_throw(arg.exception, None, arg.traceback)
  File "/shared/bonachea/UPC/upcxx/nobsrule.py", line 542, in execute
    objs, libset = yield me.crawl()
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 751, in fire
    arg = gen_throw(arg.exception, None, arg.traceback)
  File "/shared/bonachea/UPC/upcxx/nobsrule.py", line 492, in crawl
    yield fresh_src(main_src)
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 601, in fire1
    proxied = lam(arg_result)
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/memodb.py", line 540, in result
    return resultoid()
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 751, in fire
    arg = gen_throw(arg.exception, None, arg.traceback)
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/memodb.py", line 458, in memo_execute
    yield result
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 751, in fire
    arg = gen_throw(arg.exception, None, arg.traceback)
  File "/shared/bonachea/UPC/upcxx/nobsrule.py", line 382, in execute
    comp_pp, src, ipt = yield me.get_comp_pp_and_src_and_ipt()
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 601, in fire1
    proxied = lam(arg_result)
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/memodb.py", line 540, in result
    return resultoid()
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 751, in fire
    arg = gen_throw(arg.exception, None, arg.traceback)
  File "/shared/bonachea/UPC/upcxx/nobsrule.py", line 374, in get_comp_pp_and_src_and_ipt
    comp_pp = yield cxt.comp_lang_pp(src)
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 751, in fire
    arg = gen_throw(arg.exception, None, arg.traceback)
  File "/shared/bonachea/UPC/upcxx/nobsrule.py", line 187, in comp_lang_pp
    libs = yield cxt.libraries(src)
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 751, in fire
    arg = gen_throw(arg.exception, None, arg.traceback)
  File "/shared/bonachea/UPC/upcxx/nobsrule.py", line 293, in libraries
    maybe_upcxx_backend = yield cxt.upcxx_backend()
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 751, in fire
    arg = gen_throw(arg.exception, None, arg.traceback)
  File "/shared/bonachea/UPC/upcxx/nobsrule.py", line 213, in upcxx_backend
    gasnet = yield cxt.gasnet()
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 751, in fire
    arg = gen_throw(arg.exception, None, arg.traceback)
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/memodb.py", line 398, in memo_execute
    yield failure
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 751, in fire
    arg = gen_throw(arg.exception, None, arg.traceback)
  File "/shared/bonachea/UPC/upcxx/nobsrule.py", line 841, in execute
    = yield me.get_config()
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 601, in fire1
    proxied = lam(arg_result)
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/memodb.py", line 540, in result
    return resultoid()
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 751, in fire
    arg = gen_throw(arg.exception, None, arg.traceback)
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/memodb.py", line 458, in memo_execute
    yield result
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 751, in fire
    arg = gen_throw(arg.exception, None, arg.traceback)
  File "/shared/bonachea/UPC/upcxx/nobsrule.py", line 818, in execute
    env = env1
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 751, in fire
    arg = gen_throw(arg.exception, None, arg.traceback)
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/subexec.py", line 124, in launch
    out, err = yield go()
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/async.py", line 604, in fire1
    proxied = lam(*arg_result._val_seq, **arg_result._val_kws)
  File "/shared/bonachea/UPC/upcxx/nobs/nobs/subexec.py", line 62, in go
    pid, ptfd = os.forkpty()
AttributeError: 'module' object has no attribute 'forkpty'

Comments (5)

  1. Former user Account Deleted

    Looks like forkpty isn't supported (at least by Python) on this platform. The only reason I capture output in a pseudo terminal as opposed to regular pipe is to grab the color codes and such which most compiler suppress if they think they're being piped. Easy fix to fallback to regular pipes if forkpty throws.

  2. Log in to comment