Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Gatsby throws SIGSEV error when running in GitHub Actions CI

I have a problem running gatsby build on my Gatsby site that only occurs when running in a Github Actions container. It doesn't always happen, either; as a good example, today Dependabot started 12 PRs and two of them failed with this error. The error appears as follows:

$ gatsby build
╔════════════════════════════════════════════════════════════════════════╗
║                                                                        ║
║   Gatsby collects anonymous usage analytics                            ║
║   to help improve Gatsby for all users.                                ║
║                                                                        ║
║   If you'd like to opt-out, you can use `gatsby telemetry --disable`   ║
║   To learn more, checkout https://gatsby.dev/telemetry                 ║
║                                                                        ║
╚════════════════════════════════════════════════════════════════════════╝
success open and validate gatsby-configs - 0.035s
success load plugins - 0.892s
success onPreInit - 0.010s
success delete html and css files from previous builds - 0.015s
success initialize cache - 0.013s
success copy gatsby files - 0.029s
warn gatsby-plugin-feed was initialized in gatsby-config.js without a feeds option.
This means that the plugin will use the internal RSS feed creation, which may not match your use
case.
This behavior will be removed in the next major release of gatsby-plugin-feed.
success onPreBootstrap - 0.014s
success createSchemaCustomization - 0.149s
success source and transform nodes - 0.193s
⠀
info bootstrap finished - 5.713 s
⠀
success Building production JavaScript and CSS bundles - 19.548s
success Rewriting compilation hashes - 0.002s
success run queries - 21.003s - 10/10 0.48/s
error Command failed with signal "SIGSEGV".
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
##[error]Docker run failed with exit code 1

As you can see there isn't a lot of information, there's only one line that describes the error: error Command failed with signal "SIGSEGV". I've looked for a way to make Gatsby's output more verbose but there doesn't appear to be a verbose option on the build command.

My only clue is that it may be related to handling images in Gatsby-Sharp and Gatsby-Image, both of which this repo does use, due to this thread on the Gatsby GitHub repo. But it seems like a lot of people in that thread are reporting different problems that are only tangentally similar; it's difficult to figure out what could be related.

gatsby-config.js:

module.exports = {
  siteMetadata: {
    title: `Matt.si`,
    description: `Mattsi Jansky's personal programming/tech blog`,
    author: `Mattsi Jansky`,
    siteUrl: `http://www.matt.si`,
    social: {
      twitter: `mattsijansky`,
      facebook: ``,
      github: `mattsi-jansky`,
      linkedin: `mjjansky`,
      email: `[email protected]`,
    },
  },
  plugins: [
    {
      resolve: `gatsby-source-filesystem`,
      options: {
        path: `${__dirname}/content/blog`,
        name: `blog`,
      },
    },
    {
      resolve: `gatsby-transformer-remark`,
      options: {
        plugins: [
          {
            resolve: `gatsby-remark-images`,
            options: {
              maxWidth: 970,
              showCaptions: true
            },
          },
          `gatsby-remark-prismjs`,
        ],
      },
    },
    `gatsby-transformer-sharp`,
    `gatsby-plugin-sharp`,
    {
      resolve: `gatsby-plugin-google-analytics`,
      options: {
        trackingId: `UA-54448080-1`,
      },
    },
    `gatsby-plugin-feed`,
    {
      resolve: `gatsby-plugin-manifest`,
      options: {
        name: `Matt.si`,
        short_name: `mattsi`,
        start_url: `/`,
        background_color: `#663399`,
        theme_color: `#663399`,
        display: `minimal-ui`,
        icon: `./static/favicon.png`, // This path is relative to the root of the site.
      },
    },
    {
      resolve: `gatsby-transformer-remark`,
      options: {
        plugins: [
          {
            resolve: `gatsby-remark-footnotes`,
            options: {
              footnoteBackRefPreviousElementDisplay: "inline",
              footnoteBackRefDisplay: "inline",
              footnoteBackRefInnerText: "^",
              footnoteBackRefAnchorStyle: `text-decoration: none;`,
              footnoteBackRefInnerTextStartPosition: "front",
            }
          }
        ]
      }
    },
    // `gatsby-plugin-offline`,
    `gatsby-plugin-react-helmet`,
    `gatsby-plugin-sass`,
  ],
}

Package.json:

{
  "name": "matt.si",
  "private": false,
  "description": "Mattsi Jansky's personal blog",
  "author": "Mattsi Jansky",
  "scripts": {
    "build": "gatsby build",
    "dev": "gatsby develop",
    "test": "jest",
    "test:updateSnapshots": "jest --updateSnapshot",
    "test:visual": "yarn build && ./scripts/run-visual-regression-tests.sh",
    "test:visual:update": "docker-compose run visual-regression-tests reference",
    "test:visual:approve": "docker-compose run visual-regression-tests approve",
    "lint": "eslint --ext .js,.jsx --ignore-pattern public .",
    "format": "prettier --trailing-comma es5 --no-semi --single-quote --write 'src/**/*.js' 'src/**/*.md'"
  },
  "dependencies": {
    "babel-preset-gatsby": "0.2.26",
    "gatsby": "2.18.21",
    "gatsby-image": "2.2.37",
    "gatsby-plugin-feed": "2.3.25",
    "gatsby-plugin-google-analytics": "2.1.31",
    "gatsby-plugin-manifest": "2.2.34",
    "gatsby-plugin-offline": "3.0.30",
    "gatsby-plugin-react-helmet": "3.1.18",
    "gatsby-plugin-sass": "2.1.26",
    "gatsby-plugin-sharp": "2.3.10",
    "gatsby-remark-footnotes": "0.0.7",
    "gatsby-remark-images": "3.1.39",
    "gatsby-remark-prismjs": "3.3.28",
    "gatsby-source-filesystem": "2.1.43",
    "gatsby-transformer-remark": "2.6.45",
    "gatsby-transformer-sharp": "2.3.9",
    "identity-obj-proxy": "3.0.0",
    "node-sass": "4.13.0",
    "prismjs": "1.18.0",
    "prop-types": "15.7.2",
    "react": "16.12.0",
    "react-dom": "16.12.0",
    "react-helmet": "5.2.1",
    "react-test-renderer": "16.12.0",
    "rehype-react": "4.0.1"
  },
  "devDependencies": {
    "babel-jest": "24.9.0",
    "enzyme": "3.11.0",
    "enzyme-adapter-react-16": "1.15.2",
    "eslint": "6.8.0",
    "eslint-plugin-react": "7.17.0",
    "jest": "24.9.0",
    "prettier": "1.19.1",
    "wait-on": "3.3.0"
  },
  "license": "GPL-3.0-only"
}

I'm not sure what else may help, but everything is public in the repo. I'm trying to run gatsby info on the CI server but having some trouble getting that to work. Any ideas?

like image 371
Jansky Avatar asked Jan 10 '20 10:01

Jansky


1 Answers

Update all gatsby plugins to the latest & follow this source

It worked for me 🚀

like image 98
don_wish Avatar answered Oct 24 '22 08:10

don_wish