Skip to content
This repository was archived by the owner on Mar 19, 2026. It is now read-only.
This repository was archived by the owner on Mar 19, 2026. It is now read-only.

mp4 video seems to crash the github actions build #1277

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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