GEMMA DEVELOPER AGENTSAVED EVIDENCE
← Dataset Exploration
ARCHIVED TRAINING / vyperlang/vyper

vyperlang__vyper-3023

This is a preserved training example. Membership in the current training wave has not been verified.
vyperlang/vyper · Task 169 of 169

Problem statement

Source map contains an extra instruction
### Version Information

* vyper Version (output of `vyper --version`): 0.3.4+commit.f31f0ec
* OS: Linux Mint
* Python Version (output of `python --version`): Python 3.8.10

### What's your issue about?

It looks to me like source maps in this version extend one instruction beyond where they're supposed to.

Let's take as an example the following extremely simple contract:

```vyper
@external
@payable
def __init__():
    pass

@external
@payable
def __default__():
    pass
```

It compiles to the following (deployed) bytecode: (we'll ignore the constructor bytecode, due to #1998 still being an outstanding issue)

```
0x6003361161000c57610014565b60003560e01c505b00a165767970657283000304
```

Now, the last eleven bytes of this are metadata, but if we remove those we get the following decompilation:

```
0x00: PUSH1 0x03
0x02: CALLDATASIZE 
0x03: GT 
0x04: PUSH2 0x000c
0x07: JUMPI 
0x08: PUSH2 0x0014
0x0b: JUMP 
0x0c: JUMPDEST 
0x0d: PUSH1 0x00
0x0f: CALLDATALOAD 
0x10: PUSH1 0xe0
0x12: SHR 
0x13: POP 
0x14: JUMPDEST 
0x15: STOP
```

Which has 15 instructions.

Meanwhile, the source map is as follows:

```
-1:-1:4:-;;;;:::-;;:::-;:::-;;;;;;:::-;;
```

This source map contains 15 semicolons -- which is to say, *16* instructions.  That's one more instruction than actually exists; the source map extends into the metadata area.  A disassembler that looked at the source map to know where to stop would report a `LOG1` just beyond the final `STOP`, when in fact that `0xa1` isn't intended as a `LOG1` at all.

Training membership

opd_e4b_pure_v6a opd_e4b_pure_v6b

Task issues extracted from preserved verified_rft_messages training examples. This is not a verified current RL wave manifest.

Task and snapshot provenance

Snapshot captured 2026-11-12T17:06:59.476467+00:00 · Autoresearch-Arena/gemma-4-developer-agent

{
  "datasets": [
    "opd_e4b_pure_v6a",
    "opd_e4b_pure_v6b"
  ],
  "examples": 4,
  "instance_id": "vyperlang__vyper-3023",
  "problem_statement": "Source map contains an extra instruction\n### Version Information\r\n\r\n* vyper Version (output of `vyper --version`): 0.3.4+commit.f31f0ec\r\n* OS: Linux Mint\r\n* Python Version (output of `python --version`): Python 3.8.10\r\n\r\n### What's your issue about?\r\n\r\nIt looks to me like source maps in this version extend one instruction beyond where they're supposed to.\r\n\r\nLet's take as an example the following extremely simple contract:\r\n\r\n```vyper\r\n@external\r\n@payable\r\ndef __init__():\r\n    pass\r\n\r\n@external\r\n@payable\r\ndef __default__():\r\n    pass\r\n```\r\n\r\nIt compiles to the following (deployed) bytecode: (we'll ignore the constructor bytecode, due to #1998 still being an outstanding issue)\r\n\r\n```\r\n0x6003361161000c57610014565b60003560e01c505b00a165767970657283000304\r\n```\r\n\r\nNow, the last eleven bytes of this are metadata, but if we remove those we get the following decompilation:\r\n\r\n```\r\n0x00: PUSH1 0x03\r\n0x02: CALLDATASIZE \r\n0x03: GT \r\n0x04: PUSH2 0x000c\r\n0x07: JUMPI \r\n0x08: PUSH2 0x0014\r\n0x0b: JUMP \r\n0x0c: JUMPDEST \r\n0x0d: PUSH1 0x00\r\n0x0f: CALLDATALOAD \r\n0x10: PUSH1 0xe0\r\n0x12: SHR \r\n0x13: POP \r\n0x14: JUMPDEST \r\n0x15: STOP\r\n```\r\n\r\nWhich has 15 instructions.\r\n\r\nMeanwhile, the source map is as follows:\r\n\r\n```\r\n-1:-1:4:-;;;;:::-;;:::-;:::-;;;;;;:::-;;\r\n```\r\n\r\nThis source map contains 15 semicolons -- which is to say, *16* instructions.  That's one more instruction than actually exists; the source map extends into the metadata area.  A disassembler that looked at the source map to know where to stop would report a `LOG1` just beyond the final `STOP`, when in fact that `0xa1` isn't intended as a `LOG1` at all.",
  "repo": "vyperlang/vyper",
  "source": "v2/experiments/train_data/opd_e4b_pure_v6a/verified_rft_messages.jsonl",
  "source_sha256": "f045b7ca5b3883a1e2eaee81e1c02a4a1b53dd7b7b36e98bacb2ba5823a15148"
}
{
  "captured_at": "2026-11-12T17:06:59.476467+00:00",
  "membership": "archived training",
  "membership_evidence": "Task issues extracted from preserved verified_rft_messages training examples. This is not a verified current RL wave manifest.",
  "name": "Preserved post-training task archive",
  "source": "Autoresearch-Arena/gemma-4-developer-agent",
  "source_revision": "016496de222aaafca0d4ee4c18efc63ba616f76e",
  "sources": [
    {
      "path": "v2/experiments/train_data/opd_e4b_cispo_v5/verified_rft_messages.jsonl",
      "sha256": "a43610ad0dfb6ace95375cfae09000f41afc0338cc925af870a4ade7a9b20c4c"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_hybrid_v3/verified_rft_messages.jsonl",
      "sha256": "bd326303eb127e8e5e08f03daf97bb88d79d19709d59f3f93f348bc56686a8df"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_onpolicy_v3/verified_rft_messages.jsonl",
      "sha256": "960c680e797e823a0d3a22f4b1d5ef60a72971373d703b877340b0c9126aaf68"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_pure_v6a/verified_rft_messages.jsonl",
      "sha256": "f045b7ca5b3883a1e2eaee81e1c02a4a1b53dd7b7b36e98bacb2ba5823a15148"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_pure_v6b/verified_rft_messages.jsonl",
      "sha256": "0f62460a9706eea5e1605255896f191ab00cb5706c5f1f2e1c293e9a718218dc"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_pure_v7/verified_rft_messages.jsonl",
      "sha256": "e37f7bd675322f3f81500b73559d60d5f602ca0537bf19f5cb06332c728c7b72"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_pure_v7b/verified_rft_messages.jsonl",
      "sha256": "b864bdc8695183433eef6e31cb8d33fad44ba3aded2170c1ade4ad5b2944ce23"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_self_audit_v4/verified_rft_messages.jsonl",
      "sha256": "0026023745afb8f3dc1c176dc7f7171157b4ad5a66656b524af218e8e19ceee6"
    },
    {
      "path": "v2/experiments/train_data/rft_e4b_aligned_v2/verified_rft_messages.jsonl",
      "sha256": "92a4515fee9d152b0d4c510ee3ce4caaaffe2003ba7584469f8027f174aab18c"
    },
    {
      "path": "v2/experiments/train_data/rft_v1/verified_rft_messages.jsonl",
      "sha256": "a42453ccd7ac7680b0a03865e8e7080bc8bf74c8d9d193b440c441ed46f8512b"
    },
    {
      "path": "v2/experiments/train_data/rft_v2/verified_rft_messages.jsonl",
      "sha256": "18f4b3bd7e651f83c6acab479c9475e3fa50dc652a384f309e97146983ac85ba"
    }
  ]
}