Skip to content

Instantly share code, notes, and snippets.

View MariusVanDerWijden's full-sized avatar
👷‍♂️
#buidling

Marius van der Wijden MariusVanDerWijden

👷‍♂️
#buidling
View GitHub Profile
@MariusVanDerWijden
MariusVanDerWijden / config.txt
Last active December 17, 2018 09:09
ProgPoW Postmortem
v0.18.0-alpha.0-80-g0c70185bbbb542a25f6c0d0ad79230db2b3c43a5
HEAD
https://github.com/hackmod/ethminer
./ethminer -v 3 --noeval --cuda-devices 0 -U -P getwork://0x57d22b967c9dc64e5577f37edf1514c2d8985099@localhost:8545
X 15:15:56 ethminer Error connecting to localhost:8545 : Connection refused
X 15:15:56 ethminer No more IP addresses to try for host: localhost
i 15:15:56 ethminer Disconnected from localhost [127.0.0.1:8545]
i 15:15:56 ethminer No connection. Suspend mining ...
i 15:15:56 ethminer Selected pool localhost:8545
X 15:15:56 ethminer Error connecting to localhost:8545 : Connection refused
X 15:15:56 ethminer No more IP addresses to try for host: localhost
SIGSEGV encountered ...
stack trace:
backtrace() returned 14 addresses

The Big Move

Rationale

Some packages and files, especially in accounts/... are not appropriately placed. We should move them to better places in order to make them more visible and better fitting. The changes could either be done seperately or all in once to create only a single breaking change for users.

In the following description, I'll use / to indicate the top level directory and * to indicate all files within a directory.

Hey @rjl493456442 I tested your pr a little bit and got this error:
FAIL: TestBadRangeProof (1.30s)
proof_test.go:200: 325 Case 4 index 0 range: (2683->2687) expect error, got nil
Output:
<details>
{op: 6, key: common.Hex2Bytes(""), value: common.Hex2Bytes("")}, // step 0
{op: 6, key: common.Hex2Bytes(""), value: common.Hex2Bytes("")}, // step 1
{op: 0, key: common.Hex2Bytes("d51b182b95d677e5f1c82508c0228de96b73092d78ce78b2230cd948674f66fd1483bd"), value: common.Hex2Bytes("0000000000000002")}, // step 2
{op: 2, key: common.Hex2Bytes("c2a38512b83107d665c65235b0250002882ac2022eb00711552354832c5f1d030d0e408e"), value: common.Hex2Bytes("")}, // step 3
^CINFO [04-24|11:04:01.365] Got interrupt, shutting down...
INFO [04-24|11:04:01.365] IPC endpoint closed url=/home/matematik/.ethereum/goerli/geth.ipc
INFO [04-24|11:04:01.366] Blockchain manager stopped
INFO [04-24|11:04:01.366] Stopping Ethereum protocol
INFO [04-24|11:04:01.366] Ethereum protocol stopped
INFO [04-24|11:04:01.366] Terminated topic registration topic=LES2@bf7e331f7f7c1dd2
INFO [04-24|11:04:01.366] Les server stopped
INFO [04-24|11:04:01.366] Transaction pool stopped
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x55d12bc018cb]
package com.example.geth_test.bindings;
// This file is an automatically generated Java binding. Do not modify as any
// change will likely be lost upon the next re-generation!
import org.ethereum.geth.*;
import java.util.*;
I found a bls crash that I can not reproduce, it seems that it was just a random fluke, but I'm not 100% sure:
Error:
```
fatal error: unknown caller pc
runtime.systemstack_switch
runtime.addOneOpenDeferFrame
panic
runtime.panicmem
runtime.sigpanic
github.com/ethereum/go-ethereum/crypto/bls12381.(*G1).IsZero
Input:
```
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00s\x00\x00d\x00" +
"\x00\x00\x00\x00\x00\x00\x00\x99\xe6\u007f9\xea\x11\x01\x1a\x00\x00\x00\x00\x00" +
"\x00\x00\x00\x00\x00\x00\x00\x00"
```

Hey, I'm currently trying to fuzz a library that was generated from rust and run into an Could not import C (no metadata for C) error.

I found these prs to golang: https://go-review.googlesource.com/c/tools/+/214738/ https://go-review.googlesource.com/c/tools/+/214943/ The second one was merged into master (but not included in the latest release). I also tried to apply the first one, however this gives me multiple undeclared name: C errors.

The library is here: https://github.com/shamatar/eip2537rustwrapper Repro:

  • clone the library,
  • execute the functions in their readme

Call precompile contract,

pragma solidity >=0.4.22 <0.7.0;


contract CallBLS {
    
    event Bytes(bytes);
    event Uint(uint256);