Skip to content

mp4 video seems to crash the github actions build #1277

@OZZlE

Description

@OZZlE

Steps to reproduce the issue

react-video.nunj

<div class="hero" style="background-image: url('{{backgroundImage}}')">
    <div data-react-component="HeroWithVideo" data-props='{"src":"../../components/raw/hero-with-video/video.mp4",
    "minWidth": "1000px"}'></div>
</div>

or video-config.yml

title: "video block"
status: wip
context:
  thumbnail: "/assets/video-block/image.png"
  forceThumbnailInMobile: false
  video: "/assets/video-block/video.mp4"

npm run build:fractal:

⚑ Exported 377 of 707 items
Could not find the language '.mp4', did you forget to load/include a language module?

<--- Last few GCs --->

[7120:000001BC59F66540]    67696 ms: Scavenge 2039.4 (2069.7) -> 2038.7 (2070.2) MB, 2.7 / 0.0 ms  (average mu = 0.303, current mu = 0.421) allocation failure; 
[7120:000001BC59F66540]    67701 ms: Scavenge 2039.9 (2070.2) -> 2039.3 (2071.0) MB, 2.7 / 0.0 ms  (average mu = 0.303, current mu = 0.421) allocation failure; 
[7120:000001BC59F66540]    67707 ms: Scavenge 2040.6 (2071.0) -> 2039.9 (2075.5) MB, 3.2 / 0.0 ms  (average mu = 0.303, current mu = 0.421) allocation failure; 


<--- JS stacktrace --->

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
1: 00007FF7169C1B7F node_api_throw_syntax_error+203775
2: 00007FF716941556 v8::internal::MicrotaskQueue::GetMicrotasksScopeDepth+63558
3: 00007FF7169428C2 v8::internal::MicrotaskQueue::GetMicrotasksScopeDepth+68530
4: 00007FF7173E47F4 v8::Isolate::ReportExternalAllocationLimitReached+116
5: 00007FF7173CFB52 v8::Isolate::Exit+674
6: 00007FF717251BBC v8::internal::EmbedderStackStateScope::ExplicitScopeForTesting+124
7: 00007FF71725EE9D v8::internal::Heap::PublishPendingAllocations+1117
8: 00007FF71725BF27 v8::internal::Heap::PageFlagsAreConsistent+3367
9: 00007FF71724E657 v8::internal::Heap::CollectGarbage+2039
10: 00007FF717256A35 v8::internal::Heap::GlobalSizeOfObjects+341
11: 00007FF7172A60AF v8::internal::StackGuard::HandleInterrupts+863
12: 00007FF716F67DC6 v8::internal::DateCache::Weekday+6886
13: 00007FF717481E81 v8::internal::SetupIsolateDelegate::SetupHeap+558193
14: 00007FF71746661C v8::internal::SetupIsolateDelegate::SetupHeap+445452
15: 00007FF69807D7F0 
Error: Process completed with exit code 1.

Reproduces how often:

100%

Reduced test case

/*global __dirname*/
const path = require('path');

const fractal = module.exports = require('@frctl/fractal').create();

console.log(__dirname);
const pkg = require(path.join(__dirname, 'package.json'));


/**
* Metadata
*/
fractal.set('project.title', 'Eurocard Styleguide');

// Provide the package.json "version" to the templates
fractal.set('project.version', pkg.version);

/**
* Files location
*/
fractal.docs.set('path', path.join(__dirname, 'docs'));
fractal.components.set('path', path.join(__dirname, 'components'));

// fractal.web.set('static.path', path.join(__dirname, 'public'));
fractal.web.set('static.path', path.join(__dirname, 'dist'));

/**
* Build options
*/
// If you change the build destination, you should adapt webpack.common.js "output.path" too.
fractal.web.set('builder.dest', 'dist');

/**
* Templating
*/

// Use Nunjucks as the template engine
fractal.components.engine('@frctl/nunjucks');
fractal.docs.engine('@frctl/nunjucks');

// Look for templates with a ".nunj" extension
fractal.components.set('ext', '.nunj');


/**
* Server configuration
*/
fractal.web.set('server.port', 4000);
fractal.web.set('server.sync', true);


/**
* Fractal Status
*
*/

fractal.components.set('statuses', {
  doing: {
    label: 'Component is under work in progress',
    description: 'Component is under work in progress',
    color: 'red',
  },
  review: {
    label: 'Component is ready and under review.',
    description: 'Test',
    color: 'orange',
  },
  ready: {
    label: 'Ready to implement.',
    description: 'Ready to implement.',
    color: 'green',
  },
  done: {
    label: 'Component is done',
    description: 'Component is done',
    color: 'black',
  },
  wip: {
    label: 'Component is under work in progress',
    description: 'Component is under work in progress',
    color: 'red',
  },
});

/**
* Prevent Bluebird warnings like "a promise was created in a handler but was not returned from it"
* caused by Nunjucks from polluting the console
*/
const bluebird = require('bluebird');

bluebird.config({
  warnings: false,
});

const myCustomisedTheme = require('@frctl/mandelbrot')({
  skin: 'white',
  styles: ['default', '/fractal-sub-theme/index.css'], // link to the default stylesheet followed by a custom one
});

fractal.web.theme(myCustomisedTheme);

/*
* List all components in Fractal
*/
const hbs = require('@frctl/handlebars')({
  helpers: {
    componentList() {
      let ret = '<ul>';
      const options = Array.from(arguments).pop();
      for (const component of fractal.components.flatten()) {
        ret = `${ret}<li>${options.fn(component.toJSON())}</li>`;
      }
      return `${ret}</ul>`;
    }
  },
});

fractal.docs.engine(hbs);

Context

  • Fractal version: 1.5.15
  • Node version: 18.12.1
  • OS: windows-2022

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