Skip to content

Crash when specifying :path in permalink: RangeError: Maximum call stack size exceeded #5263

@45gfg9

Description

@45gfg9

Check List

Please check followings before submitting a new issue.

Expected behavior

Specify permalink: :path/:title/ in _config.yml. The contents should be able to generate properly.

Actual behavior

Crash.

$ hexo s
INFO  Validating config
INFO  Start processing
FATAL Something's wrong. Maybe you can find the solution here: https://hexo.io/docs/troubleshooting.html
RangeError: Maximum call stack size exceeded
    at String.replace (<anonymous>)
    at escapeRegExp (/Users/45gfg9/HexoTest/node_modules/hexo-util/lib/escape_regexp.js:7:14)
    at slugize (/Users/45gfg9/HexoTest/node_modules/hexo-util/lib/slugize.js:13:22)
    at Hexo.postPermalinkFilter (/Users/45gfg9/HexoTest/node_modules/hexo/lib/plugins/filter/post_permalink.js:23:17)
    at Filter.execSync (/Users/45gfg9/HexoTest/node_modules/hexo/lib/extend/filter.js:84:30)
    at Hexo.execFilterSync (/Users/45gfg9/HexoTest/node_modules/hexo/lib/hexo/index.js:486:31)
    at _Document.<anonymous> (/Users/45gfg9/HexoTest/node_modules/hexo/lib/models/post.js:48:22)
    at Object.path (/Users/45gfg9/HexoTest/node_modules/warehouse/lib/types/virtual.js:59:24)
    at /Users/45gfg9/HexoTest/node_modules/hexo-util/lib/permalink.js:46:59
    at String.replace (<anonymous>)
    at Permalink.stringify (/Users/45gfg9/HexoTest/node_modules/hexo-util/lib/permalink.js:46:22)
    at Hexo.postPermalinkFilter (/Users/45gfg9/HexoTest/node_modules/hexo/lib/plugins/filter/post_permalink.js:67:20)
    at Filter.execSync (/Users/45gfg9/HexoTest/node_modules/hexo/lib/extend/filter.js:84:30)
    at Hexo.execFilterSync (/Users/45gfg9/HexoTest/node_modules/hexo/lib/hexo/index.js:486:31)
    at _Document.<anonymous> (/Users/45gfg9/HexoTest/node_modules/hexo/lib/models/post.js:48:22)
    at Object.path (/Users/45gfg9/HexoTest/node_modules/warehouse/lib/types/virtual.js:59:24)
    at /Users/45gfg9/HexoTest/node_modules/hexo-util/lib/permalink.js:46:59
    at String.replace (<anonymous>)
    at Permalink.stringify (/Users/45gfg9/HexoTest/node_modules/hexo-util/lib/permalink.js:46:22)
    at Hexo.postPermalinkFilter (/Users/45gfg9/HexoTest/node_modules/hexo/lib/plugins/filter/post_permalink.js:67:20)
    at Filter.execSync (/Users/45gfg9/HexoTest/node_modules/hexo/lib/extend/filter.js:84:30)
    at Hexo.execFilterSync (/Users/45gfg9/HexoTest/node_modules/hexo/lib/hexo/index.js:486:31)

How to reproduce?

  • Run hexo init
  • Add :path to permalink option
  • Run hexo g and watch it crash
  • Change :path to something irrelevant like :pathabc
  • Run hexo g and see it generating content properly

Is the problem still there under "Safe mode"?

Yes. Ran hexo g --safe.

Environment & Settings

Node.js & npm version(node -v && npm -v)

$ node -v
v20.5.0

$ npm -v
9.8.0

Your site _config.yml (Optional)

Nothing changed except permalink in a new project resulting from hexo init.

permalink: :path/:year/:month/:day/:title/

Hexo and Plugin version(npm ls --depth 0)

$ npm ls --depth 0
hexo-site@0.0.0 /Users/45gfg9/HexoTest
├── hexo-generator-archive@2.0.0
├── hexo-generator-category@2.0.0
├── hexo-generator-index@3.0.0
├── hexo-generator-tag@2.0.0
├── hexo-renderer-ejs@2.0.0
├── hexo-renderer-marked@6.1.1
├── hexo-renderer-stylus@3.0.0
├── hexo-server@3.0.0
├── hexo-theme-landscape@1.0.0
└── hexo@6.3.0

Your package.json package.json

{
  "name": "hexo-site",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "build": "hexo generate",
    "clean": "hexo clean",
    "deploy": "hexo deploy",
    "server": "hexo server"
  },
  "hexo": {
    "version": "6.3.0"
  },
  "dependencies": {
    "hexo": "^6.3.0",
    "hexo-generator-archive": "^2.0.0",
    "hexo-generator-category": "^2.0.0",
    "hexo-generator-index": "^3.0.0",
    "hexo-generator-tag": "^2.0.0",
    "hexo-renderer-ejs": "^2.0.0",
    "hexo-renderer-marked": "^6.0.0",
    "hexo-renderer-stylus": "^3.0.0",
    "hexo-server": "^3.0.0",
    "hexo-theme-landscape": "^1.0.0"
  }
}

Others

hexo version gives following. Did npm update hexo.

hexo: 6.3.0
hexo-cli: 4.3.0
os: darwin 22.5.0 13.4.1

node: 20.5.0
acorn: 8.10.0
ada: 2.5.1
ares: 1.19.1
base64: 0.5.0
brotli: 1.0.9
cjs_module_lexer: 1.2.2
cldr: 43.1
icu: 73.2
llhttp: 8.1.1
modules: 115
napi: 9
nghttp2: 1.55.1
openssl: 3.1.1
simdutf: 3.2.14
tz: 2023c
undici: 5.22.1
unicode: 15.0
uv: 1.46.0
uvwasi: 0.0.18
v8: 11.3.244.8-node.10
zlib: 1.2.11

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions