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

[mev-custom-flood] No new transactions created after 25 minutes of flooding #245

Closed
kamilchodola opened this issue Sep 28, 2023 · 2 comments · Fixed by #264 or #250
Closed

[mev-custom-flood] No new transactions created after 25 minutes of flooding #245

kamilchodola opened this issue Sep 28, 2023 · 2 comments · Fixed by #264 or #250

Comments

@kamilchodola
Copy link
Contributor

Running mev_type:full with enabled custom flooder.

It is nicely filling up blocks with 4 transaction per slot but after some time (in my case 25 minutes) it just hanged on eth_chainId request and not moving forward (but container is still alive).

Logs from this case:
custom-flood.log

@piwonskp
Copy link
Contributor

The script appears to be crashing (there is no process in the container) after sending ~474 transactions. I've tried to manually run the script in the container after crash. Same situation - crashed after sending 481 transactions this time. Traceback:

Traceback (most recent call last):
  File "/tmp/sender.py", line 60, in <module>
    flood()
  File "/tmp/sender.py", line 47, in flood
    estimated_gas = w3.eth.estimate_gas(transaction)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/eth/eth.py", line 293, in estimate_gas
    return self._estimate_gas(transaction, block_identifier)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/module.py", line 75, in caller
    result = w3.manager.request_blocking(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/manager.py", line 320, in request_blocking
    response = self._make_request(method, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/manager.py", line 208, in _make_request
    return request_func(method, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/middleware/signing.py", line 169, in middleware
    return make_request(method, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/middleware/signing.py", line 169, in middleware
    return make_request(method, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/middleware/signing.py", line 169, in middleware
    return make_request(method, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  [Previous line repeated 474 more times]
  File "/usr/local/lib/python3.11/site-packages/web3/middleware/gas_price_strategy.py", line 101, in middleware
    return make_request(method, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/middleware/formatting.py", line 106, in middleware
    response = make_request(method, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/middleware/attrdict.py", line 43, in middleware
    response = make_request(method, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/middleware/formatting.py", line 99, in middleware
    web3_formatters_builder(w3, method),
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/middleware/validation.py", line 142, in build_method_validators
    w3_chain_id = w3.eth.chain_id
                  ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/eth/eth.py", line 145, in chain_id
    return self._chain_id()
           ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/module.py", line 75, in caller
    result = w3.manager.request_blocking(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/manager.py", line 320, in request_blocking
    response = self._make_request(method, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/manager.py", line 208, in _make_request
    return request_func(method, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/middleware/signing.py", line 169, in middleware
    return make_request(method, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/middleware/signing.py", line 169, in middleware
    return make_request(method, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/middleware/signing.py", line 169, in middleware
    return make_request(method, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  [Previous line repeated 474 more times]
  File "/usr/local/lib/python3.11/site-packages/web3/middleware/gas_price_strategy.py", line 101, in middleware
    return make_request(method, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/middleware/formatting.py", line 106, in middleware
    response = make_request(method, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/middleware/attrdict.py", line 43, in middleware
    response = make_request(method, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/middleware/formatting.py", line 106, in middleware
    response = make_request(method, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/middleware/formatting.py", line 106, in middleware
    response = make_request(method, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/middleware/buffered_gas_estimate.py", line 43, in middleware
    return make_request(method, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/middleware/exception_retry_request.py", line 115, in middleware
    return make_request(method, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/providers/rpc.py", line 90, in make_request
    raw_response = make_post_request(
                   ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/_utils/request.py", line 114, in make_post_request
    response = get_response_from_post_request(endpoint_uri, data=data, *args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/web3/_utils/request.py", line 107, in get_response_from_post_request
    response = session.post(endpoint_uri, *args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 637, in post
    return self.request("POST", url, data=data, json=json, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/requests/adapters.py", line 486, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py", line 790, in urlopen
    response = self._make_request(
               ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py", line 536, in _make_request
    response = conn.getresponse()
               ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/urllib3/connection.py", line 461, in getresponse
    httplib_response = super().getresponse()
                       ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/http/client.py", line 1378, in getresponse
    response.begin()
  File "/usr/local/lib/python3.11/http/client.py", line 337, in begin
    self.headers = self.msg = parse_headers(self.fp)
                              ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/http/client.py", line 236, in parse_headers
    return email.parser.Parser(_class=_class).parsestr(hstring)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/email/parser.py", line 67, in parsestr
    return self.parse(StringIO(text), headersonly=headersonly)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/email/parser.py", line 56, in parse
    feedparser.feed(data)
  File "/usr/local/lib/python3.11/email/feedparser.py", line 174, in feed
    self._call_parse()
  File "/usr/local/lib/python3.11/email/feedparser.py", line 178, in _call_parse
    self._parse()
  File "/usr/local/lib/python3.11/email/feedparser.py", line 293, in _parsegen
    if self._cur.get_content_maintype() == 'message':
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/email/message.py", line 621, in get_content_maintype
    ctype = self.get_content_type()
            ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/email/message.py", line 605, in get_content_type
    value = self.get('content-type', missing)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/email/message.py", line 498, in get
    return self.policy.header_fetch_parse(k, v)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/email/_policybase.py", line 316, in header_fetch_parse
    return self._sanitize_header(name, value)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/email/_policybase.py", line 287, in _sanitize_header
    if _has_surrogates(value):
       ^^^^^^^^^^^^^^^^^^^^^^
RecursionError: maximum recursion depth exceeded

@bharath-123
Copy link
Contributor

+1 I face this issue too

@h4ck3rk3y h4ck3rk3y linked a pull request Oct 5, 2023 that will close this issue
h4ck3rk3y pushed a commit that referenced this issue Oct 17, 2023
🤖 I have created a release *beep* *boop*
---


##
[0.6.0](0.5.1...0.6.0)
(2023-10-17)


### Features

* Add builder metrics to default mev builder
([#277](#277))
([d0eff2e](d0eff2e))
* Add configurable spamming frequency to custom flood
([#283](#283))
([f1e18ca](f1e18ca))
* add full beacon chain explorer
([#253](#253))
([1eddda5](1eddda5))
* add inputs for additional grafana dashboards
([#279](#279))
([ad02c43](ad02c43))
* added another blob spamming tool (`goomy_blob`)
([#268](#268))
([3f2c797](3f2c797))
* Adding 4788 deployment
([#275](#275))
([1c7de29](1c7de29))
* return participants, timestamp of genesis and validator root for
consumers
([#262](#262))
([3f2ea88](3f2ea88))
* update ethereum-genesis-generator
([#260](#260))
([a5b939c](a5b939c))


### Bug Fixes

* Add disable peer scoring
([#247](#247))
([c75af3c](c75af3c))
* editor config used tabs still
([#274](#274))
([7bbba4c](7bbba4c))
* enable trace http-api for reth
([#251](#251))
([ba47763](ba47763))
* explicitly set persist to false
([#296](#296))
([37d8ccd](37d8ccd))
* fix dora image
([#270](#270))
([19fe54a](19fe54a))
* fix the tx_fuzzer params
([#278](#278))
([b0ee145](b0ee145))
* get rid of explorer type
([#280](#280))
([f5595f4](f5595f4))
* Pass all beacons to the relay
([#226](#226))
([b4fde3d](b4fde3d))
* re run custom flood whenever it crashes
([#264](#264))
([fab3995](fab3995)),
closes
[#245](#245)
* readme deadlink
([#269](#269))
([f380cc4](f380cc4))
* remove engine from http-api list for reth
([#249](#249))
([b3114d1](b3114d1))
* return data about pariticpants even if no additional services are
launched
([#273](#273))
([d29f98e](d29f98e))
* set MEV image to 0.26.0 and complain if capella is zero with MEV set
to full
([#261](#261))
([9dfc4de](9dfc4de))
* use 0.27 as the mev boost image
([839af19](839af19))
* use ethpandaops/erigon as its multiarch
([839af19](839af19))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants