Skip to content

nidium crashes with an unattached video when there are 'scopes' #84

@verpeteren

Description

@verpeteren

I find it hard to describe but it is reproducable.
First of all: Video playing works: attached, with or with out scope bleck

The segfault occurs after +-5 seconds in combination of 2 conditions.

conditions

attached scope works
yes no yes
yes yes yes
no no yes
no yes segfault

testcase

<application>
	<meta>
		<id>com.nidium.issues.xxx</id>
		<viewport>640x360</viewport>
	</meta>
	<script>
let filename = './media/somestuff.mp4';

{ // <------------------------------Begin of scope
	let canvas_video = new Canvas(window.innerWidth, window.innerHeight);
	canvas_video.getContext("2d"); 
	//document.canvas.add(canvas_video);  -<-------- not attached
	var video = new Video(canvas_video);
	video.open(filename);
	video.addEventListener("ready", ()=>{
		video.play();
	});
} // <------------------------------End of scope

	</script>

</appliation>

backtrace

#lldb ./bin/nidium ../notes/demos/concept/ar/crash_video_on_nothing.nml 
sh: 1: /usr/bin/lsb_release: not found
Current executable set to './bin/nidium' (x86_64).
(lldb) run
Process 18885 launching
Process 18885 launched: './bin/nidium' (x86_64)
Process 18885 stopped
* thread #1: tid = 18885, 0x00007f4fe8484190, name = 'nidium'
    frame #0: 
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/data/Development/nidium/notes/demos/concept/ar/media/somestuff.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.40.101
  Duration: 00:05:29.72, start: 0.000000, bitrate: 650 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 516 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Process 18885 stopped
* thread #1: tid = 18885, 0x0000007377656976, name = 'nidium', stop reason = invalid address (fault address: 0x7377656976)
    frame #0: 0x0000007377656976
error: Input/output error

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions