CircleCI: fix l2blob tests and op-program-compat - #22

Merged
syntrust merged 4 commits into
op-esfrom
dl-fixcc-4
Mar 24, 2025
Merged

CircleCI: fix l2blob tests and op-program-compat#22
syntrust merged 4 commits into
op-esfrom
dl-fixcc-4

Conversation

@syntrust

Copy link
Copy Markdown

Origin log can be found here
The reason is that l2GenesisBlobTimeOffset is not set.

After "l2GenesisBlobTimeOffset": "0x0", is applied, another error occurs due to empty BlobBaseFee:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x549d37]
goroutine 1 [running]:
math/big.(*Int).Mul(0xc006c6f218, 0xc006c6f1f8, 0x0)
/home/circleci/.mise-data/installs/go/1.22.7/src/math/big/int.go:194 +0x97
github.com/ethereum/go-ethereum/core.(*stateTransition).innerExecute(0xc006c6f440)
/home/circleci/go/pkg/mod/github.com/!quarkchain/op-geth@v0.0.0-20250217080034-97596a48ef97/core/state_transition.go:871 +0x10ca
github.com/ethereum/go-ethereum/core.(*stateTransition).execute(0xc006c6f440)
/home/circleci/go/pkg/mod/github.com/!quarkchain/op-geth@v0.0.0-20250217080034-97596a48ef97/core/state_transition.go:666 +0xf7
github.com/ethereum/go-ethereum/core.ApplyMessage(0xc005220000, 0xc00047b2c0, 0xc0043025d8)

The issue fixed after vmenv.Context.BlobBaseFee is set in op-program/client/l2/engineapi/block_processor.go.
This also fixes op-program-compat as the same root cause.

Comment threadop-program/client/l2/engineapi/block_processor.go Outdated
Comment threadop-e2e/config/init.go Outdated
"isSoulBackedByNative": true,
"useSoulGasToken": true,
"isSoulBackedByNative": true,
"l2GenesisBlobTimeOffset": "0x0",

@blockchaindevshblockchaindevshMar 10, 2025

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And looks like this change is also unnecessary since it's handled in the test here. The l2blob tests can already pass in the latest op-e2e branch.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still fails without useSoulGasToken set

@blockchaindevshblockchaindevshMar 18, 2025

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean l2GenesisBlobTimeOffset is not needed, this is what this PR is changing, right?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I meant l2GenesisBlobTimeOffset

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like it's failing because we changed require.ErrorContains to require.NoError in this PR: ethstorage#140 . Maybe we can revert this change since l2 blob is not enabled by default and only enabled in the l2 blob e2e test. This way we don't need to touch the tests of upstream.

@syntrust
syntrust merged commit 1e2aca5 into op-esMar 24, 2025
@syntrust
syntrust deleted the dl-fixcc-4 branch May 29, 2025 03:06
Sign up for freeto 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.

3 participants

@syntrust@qzhodl@blockchaindevsh
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

CircleCI: fix l2blob tests and op-program-compat - #22

Merged
syntrust merged 4 commits into
op-esfrom
dl-fixcc-4
Mar 24, 2025
Merged

CircleCI: fix l2blob tests and op-program-compat#22
syntrust merged 4 commits into
op-esfrom
dl-fixcc-4

Conversation

@syntrust

Copy link
Copy Markdown

Origin log can be found here
The reason is that l2GenesisBlobTimeOffset is not set.

After "l2GenesisBlobTimeOffset": "0x0", is applied, another error occurs due to empty BlobBaseFee:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x549d37]
goroutine 1 [running]:
math/big.(*Int).Mul(0xc006c6f218, 0xc006c6f1f8, 0x0)
/home/circleci/.mise-data/installs/go/1.22.7/src/math/big/int.go:194 +0x97
github.com/ethereum/go-ethereum/core.(*stateTransition).innerExecute(0xc006c6f440)
/home/circleci/go/pkg/mod/github.com/!quarkchain/op-geth@v0.0.0-20250217080034-97596a48ef97/core/state_transition.go:871 +0x10ca
github.com/ethereum/go-ethereum/core.(*stateTransition).execute(0xc006c6f440)
/home/circleci/go/pkg/mod/github.com/!quarkchain/op-geth@v0.0.0-20250217080034-97596a48ef97/core/state_transition.go:666 +0xf7
github.com/ethereum/go-ethereum/core.ApplyMessage(0xc005220000, 0xc00047b2c0, 0xc0043025d8)

The issue fixed after vmenv.Context.BlobBaseFee is set in op-program/client/l2/engineapi/block_processor.go.
This also fixes op-program-compat as the same root cause.

Comment threadop-program/client/l2/engineapi/block_processor.go Outdated
Comment threadop-e2e/config/init.go Outdated
"isSoulBackedByNative": true,
"useSoulGasToken": true,
"isSoulBackedByNative": true,
"l2GenesisBlobTimeOffset": "0x0",

@blockchaindevshblockchaindevshMar 10, 2025

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And looks like this change is also unnecessary since it's handled in the test here. The l2blob tests can already pass in the latest op-e2e branch.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still fails without useSoulGasToken set

@blockchaindevshblockchaindevshMar 18, 2025

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean l2GenesisBlobTimeOffset is not needed, this is what this PR is changing, right?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I meant l2GenesisBlobTimeOffset

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like it's failing because we changed require.ErrorContains to require.NoError in this PR: ethstorage#140 . Maybe we can revert this change since l2 blob is not enabled by default and only enabled in the l2 blob e2e test. This way we don't need to touch the tests of upstream.

@syntrust
syntrust merged commit 1e2aca5 into op-esMar 24, 2025
@syntrust
syntrust deleted the dl-fixcc-4 branch May 29, 2025 03:06
Sign up for freeto 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.

3 participants

@syntrust@qzhodl@blockchaindevsh
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

CircleCI: fix l2blob tests and op-program-compat - #22

Merged
syntrust merged 4 commits into
op-esfrom
dl-fixcc-4
Mar 24, 2025
Merged

CircleCI: fix l2blob tests and op-program-compat#22
syntrust merged 4 commits into
op-esfrom
dl-fixcc-4

Conversation

@syntrust

Copy link
Copy Markdown

Origin log can be found here
The reason is that l2GenesisBlobTimeOffset is not set.

After "l2GenesisBlobTimeOffset": "0x0", is applied, another error occurs due to empty BlobBaseFee:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x549d37]
goroutine 1 [running]:
math/big.(*Int).Mul(0xc006c6f218, 0xc006c6f1f8, 0x0)
/home/circleci/.mise-data/installs/go/1.22.7/src/math/big/int.go:194 +0x97
github.com/ethereum/go-ethereum/core.(*stateTransition).innerExecute(0xc006c6f440)
/home/circleci/go/pkg/mod/github.com/!quarkchain/op-geth@v0.0.0-20250217080034-97596a48ef97/core/state_transition.go:871 +0x10ca
github.com/ethereum/go-ethereum/core.(*stateTransition).execute(0xc006c6f440)
/home/circleci/go/pkg/mod/github.com/!quarkchain/op-geth@v0.0.0-20250217080034-97596a48ef97/core/state_transition.go:666 +0xf7
github.com/ethereum/go-ethereum/core.ApplyMessage(0xc005220000, 0xc00047b2c0, 0xc0043025d8)

The issue fixed after vmenv.Context.BlobBaseFee is set in op-program/client/l2/engineapi/block_processor.go.
This also fixes op-program-compat as the same root cause.

Comment threadop-program/client/l2/engineapi/block_processor.go Outdated
Comment threadop-e2e/config/init.go Outdated
"isSoulBackedByNative": true,
"useSoulGasToken": true,
"isSoulBackedByNative": true,
"l2GenesisBlobTimeOffset": "0x0",

@blockchaindevshblockchaindevshMar 10, 2025

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And looks like this change is also unnecessary since it's handled in the test here. The l2blob tests can already pass in the latest op-e2e branch.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still fails without useSoulGasToken set

@blockchaindevshblockchaindevshMar 18, 2025

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean l2GenesisBlobTimeOffset is not needed, this is what this PR is changing, right?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I meant l2GenesisBlobTimeOffset

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like it's failing because we changed require.ErrorContains to require.NoError in this PR: ethstorage#140 . Maybe we can revert this change since l2 blob is not enabled by default and only enabled in the l2 blob e2e test. This way we don't need to touch the tests of upstream.

@syntrust
syntrust merged commit 1e2aca5 into op-esMar 24, 2025
@syntrust
syntrust deleted the dl-fixcc-4 branch May 29, 2025 03:06
Sign up for freeto 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.

3 participants

@syntrust@qzhodl@blockchaindevsh
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

CircleCI: fix l2blob tests and op-program-compat - #22

Merged
syntrust merged 4 commits into
op-esfrom
dl-fixcc-4
Mar 24, 2025
Merged

CircleCI: fix l2blob tests and op-program-compat#22
syntrust merged 4 commits into
op-esfrom
dl-fixcc-4

Conversation

@syntrust

Copy link
Copy Markdown

Origin log can be found here
The reason is that l2GenesisBlobTimeOffset is not set.

After "l2GenesisBlobTimeOffset": "0x0", is applied, another error occurs due to empty BlobBaseFee:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x549d37]
goroutine 1 [running]:
math/big.(*Int).Mul(0xc006c6f218, 0xc006c6f1f8, 0x0)
/home/circleci/.mise-data/installs/go/1.22.7/src/math/big/int.go:194 +0x97
github.com/ethereum/go-ethereum/core.(*stateTransition).innerExecute(0xc006c6f440)
/home/circleci/go/pkg/mod/github.com/!quarkchain/op-geth@v0.0.0-20250217080034-97596a48ef97/core/state_transition.go:871 +0x10ca
github.com/ethereum/go-ethereum/core.(*stateTransition).execute(0xc006c6f440)
/home/circleci/go/pkg/mod/github.com/!quarkchain/op-geth@v0.0.0-20250217080034-97596a48ef97/core/state_transition.go:666 +0xf7
github.com/ethereum/go-ethereum/core.ApplyMessage(0xc005220000, 0xc00047b2c0, 0xc0043025d8)

The issue fixed after vmenv.Context.BlobBaseFee is set in op-program/client/l2/engineapi/block_processor.go.
This also fixes op-program-compat as the same root cause.

Comment threadop-program/client/l2/engineapi/block_processor.go Outdated
Comment threadop-e2e/config/init.go Outdated
"isSoulBackedByNative": true,
"useSoulGasToken": true,
"isSoulBackedByNative": true,
"l2GenesisBlobTimeOffset": "0x0",

@blockchaindevshblockchaindevshMar 10, 2025

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And looks like this change is also unnecessary since it's handled in the test here. The l2blob tests can already pass in the latest op-e2e branch.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still fails without useSoulGasToken set

@blockchaindevshblockchaindevshMar 18, 2025

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean l2GenesisBlobTimeOffset is not needed, this is what this PR is changing, right?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I meant l2GenesisBlobTimeOffset

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like it's failing because we changed require.ErrorContains to require.NoError in this PR: ethstorage#140 . Maybe we can revert this change since l2 blob is not enabled by default and only enabled in the l2 blob e2e test. This way we don't need to touch the tests of upstream.

@syntrust
syntrust merged commit 1e2aca5 into op-esMar 24, 2025
@syntrust
syntrust deleted the dl-fixcc-4 branch May 29, 2025 03:06
Sign up for freeto 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.

3 participants

@syntrust@qzhodl@blockchaindevsh
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

CircleCI: fix l2blob tests and op-program-compat - #22

Merged
syntrust merged 4 commits into
op-esfrom
dl-fixcc-4
Mar 24, 2025
Merged

CircleCI: fix l2blob tests and op-program-compat#22
syntrust merged 4 commits into
op-esfrom
dl-fixcc-4

Conversation

@syntrust

Copy link
Copy Markdown

Origin log can be found here
The reason is that l2GenesisBlobTimeOffset is not set.

After "l2GenesisBlobTimeOffset": "0x0", is applied, another error occurs due to empty BlobBaseFee:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x549d37]
goroutine 1 [running]:
math/big.(*Int).Mul(0xc006c6f218, 0xc006c6f1f8, 0x0)
/home/circleci/.mise-data/installs/go/1.22.7/src/math/big/int.go:194 +0x97
github.com/ethereum/go-ethereum/core.(*stateTransition).innerExecute(0xc006c6f440)
/home/circleci/go/pkg/mod/github.com/!quarkchain/op-geth@v0.0.0-20250217080034-97596a48ef97/core/state_transition.go:871 +0x10ca
github.com/ethereum/go-ethereum/core.(*stateTransition).execute(0xc006c6f440)
/home/circleci/go/pkg/mod/github.com/!quarkchain/op-geth@v0.0.0-20250217080034-97596a48ef97/core/state_transition.go:666 +0xf7
github.com/ethereum/go-ethereum/core.ApplyMessage(0xc005220000, 0xc00047b2c0, 0xc0043025d8)

The issue fixed after vmenv.Context.BlobBaseFee is set in op-program/client/l2/engineapi/block_processor.go.
This also fixes op-program-compat as the same root cause.

Comment threadop-program/client/l2/engineapi/block_processor.go Outdated
Comment threadop-e2e/config/init.go Outdated
"isSoulBackedByNative": true,
"useSoulGasToken": true,
"isSoulBackedByNative": true,
"l2GenesisBlobTimeOffset": "0x0",

@blockchaindevshblockchaindevshMar 10, 2025

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And looks like this change is also unnecessary since it's handled in the test here. The l2blob tests can already pass in the latest op-e2e branch.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still fails without useSoulGasToken set

@blockchaindevshblockchaindevshMar 18, 2025

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean l2GenesisBlobTimeOffset is not needed, this is what this PR is changing, right?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I meant l2GenesisBlobTimeOffset

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like it's failing because we changed require.ErrorContains to require.NoError in this PR: ethstorage#140 . Maybe we can revert this change since l2 blob is not enabled by default and only enabled in the l2 blob e2e test. This way we don't need to touch the tests of upstream.

@syntrust
syntrust merged commit 1e2aca5 into op-esMar 24, 2025
@syntrust
syntrust deleted the dl-fixcc-4 branch May 29, 2025 03:06
Sign up for freeto 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.

3 participants

@syntrust@qzhodl@blockchaindevsh
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

CircleCI: fix l2blob tests and op-program-compat - #22

Merged
syntrust merged 4 commits into
op-esfrom
dl-fixcc-4
Mar 24, 2025
Merged

CircleCI: fix l2blob tests and op-program-compat#22
syntrust merged 4 commits into
op-esfrom
dl-fixcc-4

Conversation

@syntrust

Copy link
Copy Markdown

Origin log can be found here
The reason is that l2GenesisBlobTimeOffset is not set.

After "l2GenesisBlobTimeOffset": "0x0", is applied, another error occurs due to empty BlobBaseFee:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x549d37]
goroutine 1 [running]:
math/big.(*Int).Mul(0xc006c6f218, 0xc006c6f1f8, 0x0)
/home/circleci/.mise-data/installs/go/1.22.7/src/math/big/int.go:194 +0x97
github.com/ethereum/go-ethereum/core.(*stateTransition).innerExecute(0xc006c6f440)
/home/circleci/go/pkg/mod/github.com/!quarkchain/op-geth@v0.0.0-20250217080034-97596a48ef97/core/state_transition.go:871 +0x10ca
github.com/ethereum/go-ethereum/core.(*stateTransition).execute(0xc006c6f440)
/home/circleci/go/pkg/mod/github.com/!quarkchain/op-geth@v0.0.0-20250217080034-97596a48ef97/core/state_transition.go:666 +0xf7
github.com/ethereum/go-ethereum/core.ApplyMessage(0xc005220000, 0xc00047b2c0, 0xc0043025d8)

The issue fixed after vmenv.Context.BlobBaseFee is set in op-program/client/l2/engineapi/block_processor.go.
This also fixes op-program-compat as the same root cause.

Comment threadop-program/client/l2/engineapi/block_processor.go Outdated
Comment threadop-e2e/config/init.go Outdated
"isSoulBackedByNative": true,
"useSoulGasToken": true,
"isSoulBackedByNative": true,
"l2GenesisBlobTimeOffset": "0x0",

@blockchaindevshblockchaindevshMar 10, 2025

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And looks like this change is also unnecessary since it's handled in the test here. The l2blob tests can already pass in the latest op-e2e branch.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still fails without useSoulGasToken set

@blockchaindevshblockchaindevshMar 18, 2025

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean l2GenesisBlobTimeOffset is not needed, this is what this PR is changing, right?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I meant l2GenesisBlobTimeOffset

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like it's failing because we changed require.ErrorContains to require.NoError in this PR: ethstorage#140 . Maybe we can revert this change since l2 blob is not enabled by default and only enabled in the l2 blob e2e test. This way we don't need to touch the tests of upstream.

@syntrust
syntrust merged commit 1e2aca5 into op-esMar 24, 2025
@syntrust
syntrust deleted the dl-fixcc-4 branch May 29, 2025 03:06
Sign up for freeto 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.

3 participants

@syntrust@qzhodl@blockchaindevsh
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

CircleCI: fix l2blob tests and op-program-compat - #22

Merged
syntrust merged 4 commits into
op-esfrom
dl-fixcc-4
Mar 24, 2025
Merged

CircleCI: fix l2blob tests and op-program-compat#22
syntrust merged 4 commits into
op-esfrom
dl-fixcc-4

Conversation

@syntrust

Copy link
Copy Markdown

Origin log can be found here
The reason is that l2GenesisBlobTimeOffset is not set.

After "l2GenesisBlobTimeOffset": "0x0", is applied, another error occurs due to empty BlobBaseFee:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x549d37]
goroutine 1 [running]:
math/big.(*Int).Mul(0xc006c6f218, 0xc006c6f1f8, 0x0)
/home/circleci/.mise-data/installs/go/1.22.7/src/math/big/int.go:194 +0x97
github.com/ethereum/go-ethereum/core.(*stateTransition).innerExecute(0xc006c6f440)
/home/circleci/go/pkg/mod/github.com/!quarkchain/op-geth@v0.0.0-20250217080034-97596a48ef97/core/state_transition.go:871 +0x10ca
github.com/ethereum/go-ethereum/core.(*stateTransition).execute(0xc006c6f440)
/home/circleci/go/pkg/mod/github.com/!quarkchain/op-geth@v0.0.0-20250217080034-97596a48ef97/core/state_transition.go:666 +0xf7
github.com/ethereum/go-ethereum/core.ApplyMessage(0xc005220000, 0xc00047b2c0, 0xc0043025d8)

The issue fixed after vmenv.Context.BlobBaseFee is set in op-program/client/l2/engineapi/block_processor.go.
This also fixes op-program-compat as the same root cause.

Comment threadop-program/client/l2/engineapi/block_processor.go Outdated
Comment threadop-e2e/config/init.go Outdated
"isSoulBackedByNative": true,
"useSoulGasToken": true,
"isSoulBackedByNative": true,
"l2GenesisBlobTimeOffset": "0x0",

@blockchaindevshblockchaindevshMar 10, 2025

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And looks like this change is also unnecessary since it's handled in the test here. The l2blob tests can already pass in the latest op-e2e branch.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still fails without useSoulGasToken set

@blockchaindevshblockchaindevshMar 18, 2025

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean l2GenesisBlobTimeOffset is not needed, this is what this PR is changing, right?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I meant l2GenesisBlobTimeOffset

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like it's failing because we changed require.ErrorContains to require.NoError in this PR: ethstorage#140 . Maybe we can revert this change since l2 blob is not enabled by default and only enabled in the l2 blob e2e test. This way we don't need to touch the tests of upstream.

@syntrust
syntrust merged commit 1e2aca5 into op-esMar 24, 2025
@syntrust
syntrust deleted the dl-fixcc-4 branch May 29, 2025 03:06
Sign up for freeto 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.

3 participants

@syntrust@qzhodl@blockchaindevsh
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

CircleCI: fix l2blob tests and op-program-compat - #22

Merged
syntrust merged 4 commits into
op-esfrom
dl-fixcc-4
Mar 24, 2025
Merged

CircleCI: fix l2blob tests and op-program-compat#22
syntrust merged 4 commits into
op-esfrom
dl-fixcc-4

Conversation

@syntrust

Copy link
Copy Markdown

Origin log can be found here
The reason is that l2GenesisBlobTimeOffset is not set.

After "l2GenesisBlobTimeOffset": "0x0", is applied, another error occurs due to empty BlobBaseFee:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x549d37]
goroutine 1 [running]:
math/big.(*Int).Mul(0xc006c6f218, 0xc006c6f1f8, 0x0)
/home/circleci/.mise-data/installs/go/1.22.7/src/math/big/int.go:194 +0x97
github.com/ethereum/go-ethereum/core.(*stateTransition).innerExecute(0xc006c6f440)
/home/circleci/go/pkg/mod/github.com/!quarkchain/op-geth@v0.0.0-20250217080034-97596a48ef97/core/state_transition.go:871 +0x10ca
github.com/ethereum/go-ethereum/core.(*stateTransition).execute(0xc006c6f440)
/home/circleci/go/pkg/mod/github.com/!quarkchain/op-geth@v0.0.0-20250217080034-97596a48ef97/core/state_transition.go:666 +0xf7
github.com/ethereum/go-ethereum/core.ApplyMessage(0xc005220000, 0xc00047b2c0, 0xc0043025d8)

The issue fixed after vmenv.Context.BlobBaseFee is set in op-program/client/l2/engineapi/block_processor.go.
This also fixes op-program-compat as the same root cause.

Comment threadop-program/client/l2/engineapi/block_processor.go Outdated
Comment threadop-e2e/config/init.go Outdated
"isSoulBackedByNative": true,
"useSoulGasToken": true,
"isSoulBackedByNative": true,
"l2GenesisBlobTimeOffset": "0x0",

@blockchaindevshblockchaindevshMar 10, 2025

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And looks like this change is also unnecessary since it's handled in the test here. The l2blob tests can already pass in the latest op-e2e branch.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still fails without useSoulGasToken set

@blockchaindevshblockchaindevshMar 18, 2025

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean l2GenesisBlobTimeOffset is not needed, this is what this PR is changing, right?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I meant l2GenesisBlobTimeOffset

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like it's failing because we changed require.ErrorContains to require.NoError in this PR: ethstorage#140 . Maybe we can revert this change since l2 blob is not enabled by default and only enabled in the l2 blob e2e test. This way we don't need to touch the tests of upstream.

@syntrust
syntrust merged commit 1e2aca5 into op-esMar 24, 2025
@syntrust
syntrust deleted the dl-fixcc-4 branch May 29, 2025 03:06
Sign up for freeto 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.

3 participants

@syntrust@qzhodl@blockchaindevsh