bugtracker icon indicating copy to clipboard operation
bugtracker copied to clipboard

Connecting Mixer HubPorts causes a segfault

Open nguyer opened this issue 5 years ago • 1 comments

When I try to connect two HubPorts on a Mixer hub, KMS segfaults immediately. I'm using the Java SDK to connect to KMS running in Docker on my machine.

Steps to reproduce the behavior:

KurentoClient kurentoClient = KurentoClient.create("ws://localhost:8888/kurento");
MediaPipeline mediaPipeline = kurentoClient.createMediaPipeline();
Mixer mixer = new Mixer.Builder(mediaPipeline).build();
HubPort inputPort1 = new HubPort.Builder(mixer).build();
HubPort inputPort2 = new HubPort.Builder(mixer).build();
HubPort outputPort = new HubPort.Builder(mixer).build();
RtpEndpoint rtpEndpoint1 = new RtpEndpoint.Builder(mediaPipeline).build();
RtpEndpoint rtpEndpoint2 = new RtpEndpoint.Builder(mediaPipeline).build();
RtpEndpoint rtpEndpointOut = new RtpEndpoint.Builder(mediaPipeline).build();
rtpEndpoint1.connect(inputPort1, MediaType.AUDIO);
rtpEndpoint2.connect(inputPort2, MediaType.AUDIO);
outputPort.connect(rtpEndpointOut, MediaType.AUDIO);
mixer.connect(MediaType.AUDIO, inputPort1, outputPort);

This last line is what causes the segfault:

mixer.connect(MediaType.AUDIO, inputPort1, outputPort);

Expected behavior: I would expect the server to not segfault, and media to start flowing (assuming there was something else connected to these RtpEndpoints).

  • Kurento version: 6.13.0
  • Server OS: Docker on macOS
  • Installation method: docker pull kurento/kurento-media-server:latest && docker run -it --rm --name kms -p 8888:8888 kurento/kurento-media-server:latest

Application Server

  • Language: Java
  • Client version: 6.13.0
kurento-media-server -v
0:00:00.010175164    36 0x55f0c109b4a0 DEBUG   KurentoModuleManager ModuleManager.cpp:158:loadModules: Looking for modules, path: /usr/lib/x86_64-linux-gnu/kurento/modules
0:00:00.010305086    36 0x55f0c109b4a0 DEBUG   KurentoModuleManager ModuleManager.cpp:174:loadModules: Found file: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmselementsmodule.so
0:00:00.016148657    36 0x55f0c109b4a0 INFO    KurentoModuleManager ModuleManager.cpp:90:loadModule: Load file: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmselementsmodule.so, module name: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmselementsmodule.so
0:00:00.016220918    36 0x55f0c109b4a0 INFO    KurentoModuleManager ModuleManager.cpp:137:loadModule: Loaded module: elements, version: 6.13.0, date: Dec 17 2019 13:26:02
0:00:00.016266065    36 0x55f0c109b4a0 DEBUG   KurentoModuleManager ModuleManager.cpp:174:loadModules: Found file: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmscoremodule.so
0:00:00.016742212    36 0x55f0c109b4a0 INFO    KurentoModuleManager ModuleManager.cpp:90:loadModule: Load file: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmscoremodule.so, module name: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmscoremodule.so
0:00:00.016795638    36 0x55f0c109b4a0 INFO    KurentoModuleManager ModuleManager.cpp:137:loadModule: Loaded module: core, version: 6.13.0, date: Dec 17 2019 13:17:31
0:00:00.016829079    36 0x55f0c109b4a0 DEBUG   KurentoModuleManager ModuleManager.cpp:174:loadModules: Found file: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmsfiltersmodule.so
0:00:00.017676092    36 0x55f0c109b4a0 INFO    KurentoModuleManager ModuleManager.cpp:90:loadModule: Load file: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmsfiltersmodule.so, module name: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmsfiltersmodule.so
0:00:00.017731170    36 0x55f0c109b4a0 INFO    KurentoModuleManager ModuleManager.cpp:137:loadModule: Loaded module: filters, version: 6.13.0, date: Dec 17 2019 13:35:00
Kurento Media Server version: 6.13.0
Found modules:
	'core' version 6.13.0
	'elements' version 6.13.0
	'filters' version 6.13.0

kms_segfault.log

nguyer avatar Feb 07 '20 19:02 nguyer

@nguyer Maybe you don't need manual connect inputPort1 to outputPort. Mixer will do it. I used CompositeMixer instead of Mixer in java client for mixer video and audio (MCU), it's work fine.

sshsun1990 avatar Jul 16 '20 08:07 sshsun1990