dair-iitd / openie6

OpenIE6 system
GNU General Public License v3.0
119 stars 36 forks source link

[Bug] `greenlet.greenlet size changed` error when calling run.py #20

Open lucafrost opened 1 year ago

lucafrost commented 1 year ago

Hi there,

I'm trying to get OpenIE6 running, but seem to be running into an error with gevent. See the traceback below...

  File "run.py", line 24, in <module>
    from imojie.aggregate.score import rescore
  File "imojie/imojie/aggregate/score.py", line 8, in <module>
    from allennlp.commands.evaluate import evaluate_from_args
  File "/home/ec2-user/mambaforge/envs/oie6/lib/python3.6/site-packages/allennlp/commands/__init__.py", line 8, in <module>
    from allennlp.commands.configure import Configure
  File "/home/ec2-user/mambaforge/envs/oie6/lib/python3.6/site-packages/allennlp/commands/configure.py", line 23, in <module>
    from gevent.pywsgi import WSGIServer
  File "/home/ec2-user/mambaforge/envs/oie6/lib/python3.6/site-packages/gevent/__init__.py", line 87, in <module>
    from gevent._hub_local import get_hub
  File "/home/ec2-user/mambaforge/envs/oie6/lib/python3.6/site-packages/gevent/_hub_local.py", line 101, in <module>
    import_c_accel(globals(), 'gevent.__hub_local')
  File "/home/ec2-user/mambaforge/envs/oie6/lib/python3.6/site-packages/gevent/_util.py", line 105, in import_c_accel
    mod = importlib.import_module(cname)
  File "/home/ec2-user/mambaforge/envs/oie6/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "src/gevent/__greenlet_primitives.pxd", line 12, in init gevent.__hub_local
ValueError: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 128 from C header, got 40 from PyObject

Steps to Reproduce

conda create -n openie6 python=3.6
conda activate openie6
pip install -r requirements.txt
python -m nltk.downloader stopwords
python -m nltk.downloader punkt 
zenodo_get 4055395
tar -xvf openie6_models.tar.gz

# run model
python run.py --mode splitpredict --inp sentences.txt --out predictions.txt --rescoring --task oie --gpus 1 --oie_model models/oie_model/epoch=14_eval_acc=0.551_v0.ckpt --conj_model models/conj_model/epoch=28_eval_acc=0.854.ckpt --rescore_model models/rescore_model --num_extractions 5 
lucafrost commented 1 year ago

For anyone else experiencing this error, changing/modifying the gevent and greenlet versions worked well for me, as per this StackOverflow post.

Running pip install gevent==1.3.4 greenlet==0.4.13 resolved the issue in my case (Ubuntu 20.04).

@dair-iitd - perhaps an update to the requirements.txt is required?