This repository was archived by the owner on Jan 30, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 42
This repository was archived by the owner on Jan 30, 2025. It is now read-only.
Frame requestByID panics when initializing networking #986
Copy link
Copy link
Closed
Labels
bugSomething isn't workingSomething isn't workingnextMight be eligible for the next planning (not guaranteed!)Might be eligible for the next planning (not guaranteed!)remoteremote browser relatedremote browser related
Description
Brief summary
There is a flaky bug in (*Frame).requestByID that happens while initializing (*NetworkManager).initEvents. The test run ID is 155045.
xk6-browser version
OS
Linux
Docker version and image (if applicable)
No response
Steps to reproduce the problem
Run the following script on a resource restricted platform several times as the issue is flaky.
The script
import { browser } from 'k6/experimental/browser'
import { check } from 'k6'
export const options = {
scenarios: {
browser: {
executor: 'per-vu-iterations',
maxDuration: '15m',
vus: 5,
iterations: 10,
options: {
browser: {
type: 'chromium',
},
},
},
}
}
export default async function () {
const page = browser.newPage();
try {
// User journy in SPA application
await page.goto('https://.../'); // TODO: change it to the otel app
const productCard = page.locator('(//div[@data-cy="product-card"])[1]')
productCard.click()
const quantityOption = page.locator('[data-cy="product-quantity"]')
quantityOption.selectOption('3')
const addToCardBtn = page.locator('[data-cy="product-add-to-cart"]')
addToCardBtn.click()
check(page, {
'cart item name': page => page.locator('//p[text()="National Park Foundation Explorascope"]').isVisible() === true,
'cart item quantity': page => page.locator('//p[text()="3"]').isVisible() === true
})
// Check GH link to force another navigation
await Promise.all([
page.waitForNavigation(),
page.locator('footer a').click(),
]);
check(page, {
'gh-author': page.locator(
'div#repository-container-header span.author a'
).textContent().includes('open-telemetry'),
});
} finally {
page.close();
}
}Expected behaviour
No panics.
Actual behaviour
goroutine 246996 [running]:
github.com/grafana/xk6-browser/common.(*Frame).requestByID(0xc0089428c0, {0xc009718454, 0x7})
github.com/grafana/xk6-browser@v1.0.0-rc0.0.20230726091449-0fcdd3618f29/common/frame.go:365 +0x5a
github.com/grafana/xk6-browser/common.(*FrameManager).requestFailed(0xc001d700c0, 0xc0055d4640, 0x0)
github.com/grafana/xk6-browser@v1.0.0-rc0.0.20230726091449-0fcdd3618f29/common/frame_manager.go:450 +0x4d7
github.com/grafana/xk6-browser/common.(*NetworkManager).onLoadingFailed(0xc008dd3ea0, 0xc007489200)
github.com/grafana/xk6-browser@v1.0.0-rc0.0.20230726091449-0fcdd3618f29/common/network_manager.go:345 +0x116
github.com/grafana/xk6-browser/common.(*NetworkManager).handleEvents(0xc008dd3ea0, 0xc004206960)
github.com/grafana/xk6-browser@v1.0.0-rc0.0.20230726091449-0fcdd3618f29/common/network_manager.go:318 +0x288
github.com/grafana/xk6-browser/common.(*NetworkManager).initEvents.func1()
github.com/grafana/xk6-browser@v1.0.0-rc0.0.20230726091449-0fcdd3618f29/common/network_manager.go:301 +0x37
created by github.com/grafana/xk6-browser/common.(*NetworkManager).initEvents
github.com/grafana/xk6-browser@v1.0.0-rc0.0.20230726091449-0fcdd3618f29/common/network_manager.go:300 +0x14d### Tasks
- [ ] https://github.com/grafana/xk6-browser/pull/1220
- [ ] https://github.com/grafana/xk6-browser/pull/1246
- [ ] https://github.com/grafana/k6/pull/3652
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingnextMight be eligible for the next planning (not guaranteed!)Might be eligible for the next planning (not guaranteed!)remoteremote browser relatedremote browser related