Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unhandled exception: cannot add/remove handle - multi_perform() already running #180

Closed
virgilhem opened this issue Jan 20, 2020 · 7 comments · Fixed by #196
Closed

Unhandled exception: cannot add/remove handle - multi_perform() already running #180

virgilhem opened this issue Jan 20, 2020 · 7 comments · Fixed by #196

Comments

@virgilhem
Copy link

Versions:

  • Python 3.8.1
  • Wfuzz 2.4.4
  • Pyycurl 7.43.0.4
  • Six 1.13.0
  • Chardet 3.0.4
  • Pyparsing 2.4.6
  • Future 0.18.2
$ wfuzz -v -w wordlist/general/common.txt http://google.com/FUZZ
libraries.FileLoader: CRITICAL __load_py_from_file. Filename: /home/user/.local/lib/python3.8/site-packages/wfuzz/plugins/payloads/bing.py Exception, msg=No module named 'shodan'
libraries.FileLoader: CRITICAL __load_py_from_file. Filename: /home/user/.local/lib/python3.8/site-packages/wfuzz/plugins/payloads/shodanp.py Exception, msg=No module named 'shodan'
********************************************************
* Wfuzz 2.4.4 - The Web Fuzzer                         *
********************************************************

Target: http://google.com/FUZZ
Total requests: 949

==================================================================================================================================================
ID           C.Time       Response   Lines    Word     Chars       Server                           Redirect                         
==================================================================================================================================================

000000001:   0.010s       404        11 L     72 W     1558 Ch                                                                       
000000002:   0.006s       404        11 L     72 W     1559 Ch                                                                       

Unhandled exception: cannot add/remove handle - multi_perform() already running
@hyperion-cs
Copy link

I have the same.

@mitjans
Copy link

mitjans commented Jan 22, 2020

I have the same issue. PyCurl version 7.43.0.4.

@mitjans
Copy link

mitjans commented Jan 22, 2020

I fixed it by downgrading Pycurl to the previous version (7.43.0.4).

  1. pip uninstall pycurl
  2. export PATH="/usr/local/opt/curl-openssl/bin:$PATH"
  3. PYCURL_SSL_LIBRARY=openssl LDFLAGS="-L/usr/local/opt/openssl/lib" CPPFLAGS="-I/usr/local/opt/openssl/include" pip install --no-cache-dir -Iv pycurl==7.43.0.3

@xmendez
Copy link
Owner

xmendez commented Jan 23, 2020

I've created a new release pinning pycurl version while investigating the issue.
Thanks for sharing

@aaaguirrep
Copy link

I had the same issue and the workaround worked for me.

@aancw
Copy link

aancw commented Mar 4, 2020

  Found existing installation: pycurl 7.43.0.5
ERROR: Cannot uninstall 'pycurl'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

For someone can't install old version of pycurl because of disutil error, you can install with this flag --ignore-installed

sudo pip install "pycurl<=7.43.0.3" --ignore-installed

@dridi
Copy link

dridi commented May 7, 2020

Installing pycurl 7.43.0.3 is impossible on Fedora 32, the installation fails at the step where it tries to detect openssl:

$ pip install pycurl==7.43.0.4
<snip>
    ERROR: Command errored out with exit status 1:
<snip>
      File "/tmp/pip-install-dkl6_jls/pycurl/setup.py", line 381, in detect_ssl_lib_on_centos6
        dist_name, dist_version, _ = platform.dist()
    AttributeError: module 'platform' has no attribute 'dist'
    Using curl-config (libcurl 7.69.1)
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

No workaround on the cutting edge :(

xmendez added a commit that referenced this issue May 9, 2020
New requests are added in the pycurl multi thread after perform (Fixes #180 )
Added py3.8 test job in travis and setup.py (fixes #190 )
Removed python 2 travis tests while figuring out with the build stalls when they run succesfully in Tox
archlinux-github pushed a commit to archlinux/aur that referenced this issue Jul 29, 2022
Version 2.4.5 is blocked by the requirement of python-pycurl <= 7.43.0.3
(see xmendez/wfuzz#180).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants