ElementsProject / ElementsProject/elements

freebsd: make check bench_bitcoin illegal instruction

Offen
#1,381 13 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C++
Sterne
1.2k
Forks
417
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
15

Beschreibung

OS: FreeBSD 14.2
Tag: Elements-23.2.4
Arch: x86_64

The bitcoind v23.2 bench_bitcoin runs fine.

```
% ./src/bench/bench_bitcoin

| ns/op | op/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 33,918,912.00 | 29.48 | 0.4% | 0.32 | `AddrManAdd`
| 41,379,012.00 | 24.17 | 0.2% | 0.46 | `AddrManAddThenGood`
| 143,318.71 | 6,977.46 | 0.2% | 0.01 | `AddrManGetAddr`
| 148.36 | 6,740,300.72 | 0.5% | 0.01 | `AddrManSelect`
| 349,355.33 | 2,862.42 | 0.2% | 0.01 | `AssembleBlock`

| ns/byte | byte/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 68.69 | 14,557,263.45 | 0.7% | 0.01 | `Base58CheckEncode`
| 15.00 | 66,656,073.03 | 0.3% | 0.01 | `Base58Decode`
| 50.84 | 19,670,034.41 | 0.3% | 0.01 | `Base58Encode`
| 7.09 | 141,086,434.00 | 0.1% | 0.01 | `Bech32Decode`
| 15.34 | 65,201,841.52 | 0.2% | 0.01 | `Bech32Encode`

| ns/op | op/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 134.03 | 7,461,269.48 | 0.8% | 0.01 | `BenchLockedPool`
| 28.87 | 34,637,621.14 | 0.0% | 0.01 | `BenchTimeDeprecated`
| 32.33 | 30,929,578.06 | 0.1% | 0.01 | `BenchTimeMillis`
| 32.31 | 30,953,487.11 | 0.2% | 0.01 | `BenchTimeMillisSys`
| 2.30 | 433,852,393.89 | 0.0% | 0.01 | `BenchTimeMock`
| 53,562,096.00 | 18.67 | 0.2% | 0.59 | `BlockToJsonVerbose`
| 33,862,387.00 | 29.53 | 0.3% | 0.38 | `BlockToJsonVerboseWrite`
| 677,365.50 | 1,476.31 | 0.1% | 0.01 | `BnBExhaustion`
Illegal instruction (core dumped)
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Reproduzieren Sie den Fehler, indem Sie ./src/bench/bench_bitcoin auf FreeBSD 14.2 x86_64 ausführen, und ermitteln Sie, welcher Benchmark nach BnBExhaustion die illegale Instruktion auslöst. Verfolgen Sie diesen Benchmark bis in den relevanten Quellcode zurück und bestimmen Sie die Ursache auf Plattform- oder Instruction-Set-Ebene. Als abgeschlossen gilt die Aufgabe, wenn der Benchmark ohne einen Absturz durch eine illegale Instruktion abgeschlossen wird und das Verhalten durch einen geeigneten Test oder eine dokumentierte Reproduktion abgedeckt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
operating-systems, performance, testing
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.