Skip to content

Swarm/rpc v2#2066

Closed
zelig wants to merge 40 commits intoethereum:masterfrom
ethersphere:swarm/rpc-v2
Closed

Swarm/rpc v2#2066
zelig wants to merge 40 commits intoethereum:masterfrom
ethersphere:swarm/rpc-v2

Conversation

@zelig
Copy link
Copy Markdown
Contributor

@zelig zelig commented Dec 11, 2015

integrate #2035
fixes #2041

karalabe and others added 30 commits November 23, 2015 13:03
Whisper's expire and broadcast loops happen in two separate go routines.
Whenever an envelope is being expired it's removed from the set of
envelopes and it looses all information about the envelope, including
the "known hash". After the envelope has been removed it can be
re-accepted by a broadcasting peer putting back the envelope in the set
of envelopes. Since the envelope broadcast loop is separate of the
expire loop expired messages may be broadcast to other peer, resulting
in messages **never** being dropped.

This PR includes an expire check before adding new messages to the set
of envelopes.
cmd, crypto: updated web3
jrse: fix #1082, fail if setTimeout/setInterval lack callback
Makefile: add support for iOS cross compilation
common: fix #2008, wrong hex prefix check
Makefile: enable iOS experimental builds (fix prev omission)
console: fix instance name printed incorrect on start
Created alternate versions of Trie and SecureTrie functions that can return a MissingNodeError (used by ODR services)
eth package creates new event mux
Also remove some duplication around address/index parsing.
cmd/utils: restore starting geth without any accounts and etherbase
Makefile: build ARM v5/v6/v7, drop high API mobile clients
accounts: increase re-lock timeout to account for slow CI servers
@robotally
Copy link
Copy Markdown

❗ Pull request against master

Vote Count Reviewers
👍 0
👎 0

Updated: Mon Dec 14 06:18:10 UTC 2015

@zelig
Copy link
Copy Markdown
Contributor Author

zelig commented Dec 14, 2015

against master by mistake

@zelig zelig closed this Dec 14, 2015
@zelig zelig removed the in progress label Dec 14, 2015
@zelig zelig deleted the swarm/rpc-v2 branch December 14, 2015 18:27
@silly-n silly-n mentioned this pull request Jan 11, 2016
sduchesneau pushed a commit to streamingfast/go-ethereum that referenced this pull request Dec 19, 2023
sduchesneau pushed a commit to streamingfast/go-ethereum that referenced this pull request Mar 23, 2026
* Enable rebroadcast by default (ethereum#2028)

* chore: bump version

* consensus/misc/eip4844: small update to fix simulatev1 crash (ethereum#2054)

* core, internal, params: lisovoPro HF and version bump (ethereum#2055)

* core, internal, params: lisovoPro HF and version bump

* core: add lisovoPro instructionset

* core: lisovo-lisovoPro instructionset test

* consensus/bor: fix goroutine leak in runMilestoneFetcher when Heimdall is unreachable (ethereum#2056)

FetchMilestone was called with context.Background(), which has no deadline. When Heimdall becomes unreachable, FetchWithRetry enters an infinite retry loop that never returns. Since the ticker fires every second, a new blocked goroutine accumulates each tick — leading to OOM within minutes.

Add a 30s context timeout to bound each call, matching the existing pattern in retryHeimdallHandler (eth/backend.go). This caps in-flight goroutines at ~30 instead of growing unboundedly.

* consensus, crypto, p2p: fix issues 44, 47, 48, 49

* bump go

* ci: update workflows

* consensus/bor: better naming on heimdallgrpc client context for ss txs

* consensus/bor: lower global timeout for ss txs

* fix(shutdown): cancel in-flight Heimdall queries on engine shutdown (ethereum#2058)

* fix(shutdown): cancel in-flight Heimdall queries on engine shutdown

* chore: nit

* consensus/bor: fix sub-second late block detection producing empty blocks (ethereum#2060)

The late-block adjustment in Prepare() uses an integer-second comparison
(header.Time < now.Unix()) to detect when a block is behind schedule and
needs additional build time. Because header.Time is an integer (seconds)
while the actual target time can have sub-second precision, a block can
be up to 999ms late without triggering the adjustment.

Example: with period=1s and parent.Time=T:

  header.Time        = T + 1                     (integer seconds)
  now                = T + 1.820                  (parent block is 820ms late)
  now.Unix()         = T + 1                      (truncated to seconds)
  header.Time < now.Unix() → false                (adjustment skipped!)

This affects both the default path (blockTime=0, where GetActualTime()
falls back to time.Unix(header.Time, 0)) and the custom blockTime path
(where ActualTime has sub-second precision from the parent cache chain).

With no adjustment, GetActualTime() returns a time already in the past.
The interrupt timer in commitWork() expires immediately, which sets the
interruptBlockBuilding flag before fillTransactions() runs. The txpool's
Pending() checks this flag on every address iteration and returns an
empty map, producing a block with 0 transactions even when the pool has
pending transactions.

Fix by replacing the integer comparison with a direct time comparison
against the block's actual target time:

  if now.After(header.GetActualTime()) {

GetActualTime() returns header.ActualTime when set (custom blockTime
with Rio, sub-second precision), or time.Unix(header.Time, 0) as
fallback (default path). This correctly detects lateness in both cases
without over-triggering for on-time blocks, since on-time blocks have
their target time in the future.

* fix(core): cap verifyPendingHeaders to prevent OOM from unbounded header reads (ethereum#2057)

* exp: disable verifyPendingHeaders

* fix: cap verify pending headers at default span length + 1

* fix: add reorg metrics in verify pending headers

* chore: add tests

* refactor: use milestone fetcher and milestone's end block as the start block

* fix: tests

* cmd: bump go

* builder, internal, params: pip-82 and lisovo HF in mainnet (ethereum#2064)

* builder, internal, params: implement new burnContract in lisovo / define lisovo height for mainnet / bump version

* fix lint

* fix: tests

---------

Signed-off-by: jsvisa <delweng@gmail.com>
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
Signed-off-by: findfluctuate <findfluctuate@outlook.com>
Signed-off-by: liuyueyangxmu <liuyueyangxmu@outlook.com>
Co-authored-by: Jerry <jerrycgh@gmail.com>
Co-authored-by: marcello33 <marcelloardizzone@hotmail.it>
Co-authored-by: Pratik Patil <pratikspatil024@gmail.com>
Co-authored-by: Lewis <lewis.kim@kaia.io>
Co-authored-by: Delweng <delweng@gmail.com>
Co-authored-by: Gary Rong <garyrong0905@gmail.com>
Co-authored-by: cui <cuiweixie@gmail.com>
Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Csaba Kiraly <csaba.kiraly@gmail.com>
Co-authored-by: Felföldi Zsolt <zsfelfoldi@gmail.com>
Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
Co-authored-by: Csaba Kiraly <cskiraly@users.noreply.github.com>
Co-authored-by: mishraa-G <divyansh.mishra.mec23@itbhu.ac.in>
Co-authored-by: Galoretka <galoretochka@gmail.com>
Co-authored-by: hero5512 <lvshuaino@gmail.com>
Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
Co-authored-by: aodhgan <36907214+aodhgan@users.noreply.github.com>
Co-authored-by: aodhgan <gawnieg@gmail.com>
Co-authored-by: Youssef Azzaoui <y@azzaoui.fr>
Co-authored-by: ucwong <ucwong@126.com>
Co-authored-by: CertiK <138698582+CertiK-Geth@users.noreply.github.com>
Co-authored-by: Bosul Mun <bsbs8645@snu.ac.kr>
Co-authored-by: maskpp <maskpp266@gmail.com>
Co-authored-by: jwasinger <j-wasinger@hotmail.com>
Co-authored-by: Kyrin <kyrincode@gmail.com>
Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com>
Co-authored-by: lightclient <lightclient@protonmail.com>
Co-authored-by: Rizky Ikwan <rizzikwann@gmail.com>
Co-authored-by: anim001k <140460766+anim001k@users.noreply.github.com>
Co-authored-by: Austin Larson <78000745+alarso16@users.noreply.github.com>
Co-authored-by: Coder <161350311+MamunC0der@users.noreply.github.com>
Co-authored-by: wit liu <wit765765346@gmail.com>
Co-authored-by: maradini77 <140460067+maradini77@users.noreply.github.com>
Co-authored-by: findfluctuate <findfluctuate@outlook.com>
Co-authored-by: liuyueyangxmu <liuyueyangxmu@outlook.com>
Co-authored-by: Lucca Martins <lucca_martins30@yahoo.com.br>
Co-authored-by: Angel Valkov <avalkov@polygon.technology>
Co-authored-by: Raneet Debnath <35629432+Raneet10@users.noreply.github.com>
Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
Co-authored-by: Raneet Debnath <raneetdebnath10@gmail.com>
Co-authored-by: ChanHongMing <91173675+ChanHongMing@users.noreply.github.com>
Co-authored-by: Adam Dossa <adossa@polygon.technology>
Co-authored-by: Adam Dossa <adam.dossa@gmail.com>
Co-authored-by: Léo Vincent <28714795+leovct@users.noreply.github.com>
Co-authored-by: Sanket Saagar Karan <ssaagar@polygon.technology>
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 this pull request may close these issues.

[swarm] swarm api integration with rpc v2 + node services

6 participants