ElementsProject / ElementsProject/elements
freebsd: make check bench_bitcoin illegal instruction
- 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
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