-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Worker crash when webRtcTransport.close() is called #1466
Comments
Thanks. I will look this next week. Just one question: if you use portRange also in WebRtcTransport, does it also crash? |
Yes, replacing listenIps with listenInfos in webRtcTransport options also lead to worker crash. (portRange.min=30000 portRange.max=31000) |
BTW I've been able to reproduce the problem in this very simple way: import * as mediasoup from '../';
test('test crash issue 1466', async () => {
const worker = await mediasoup.createWorker({ logLevel: 'debug' });
const router = await worker.createRouter();
const pipeTransport = await router.createPipeTransport({
listenInfo: {
protocol: 'udp',
ip: '0.0.0.0',
announcedAddress: '127.0.0.1',
portRange: {
min: 30001,
max: 30003,
},
},
});
const plainTransport = await router.createPlainTransport({
listenInfo: {
protocol: 'udp',
ip: '0.0.0.0',
announcedAddress: '127.0.0.1',
portRange: {
min: 30000,
max: 30003,
},
},
});
plainTransport.close();
await wait(200);
pipeTransport.close();
await wait(200);
worker.close();
await wait(200);
}, 2000);
async function wait(timeoutMs: number): Promise<void> {
await new Promise(resolve => setTimeout(resolve));
} |
Bug Report
If both pipe and webrtc transport's listen ip are set to 0.0.0.0, and their portRange intersects, mediasoup worker will crash when webRtcTransport.close() is called.
Your environment
Issue description
If both pipe and webrtc transport's listen ip are set to 0.0.0.0, and their portRange intersects, mediasoup worker would crash when the following steps were taken:
1.Create two mediasoup workers and a router on each worker
2.Create a pipe transport on each worker and connect them
3.Create and close a webrtc transport on either one of the router (the worker on which the router is created crashes)
Crash logs:
Core dump:
Working in progress, had some technical difficulties setting the core dump path on WSL.
Code snippets that reproduces the crash:
The text was updated successfully, but these errors were encountered: