SystemStackError when updating from 3.6.9 to 3.6.10 #469
After updating I get:
Removed the tmp directory and the error changes to:
Same happens with 3.7.1.
Is there anything I can do to narrow down the issue?
The text was updated successfully, but these errors were encountered:
During preprocessing I create index pages that reference sub-pages and those sub-pages in turn reference their index page. Could this be the cause?
Using items in attributes directly is not supported. Instead of using items directly, you can use the identifier. For example:
# (in the preprocessor) # Replace this: @item[:something] = @items['/stuff/'] # With this: @item[:something_identifier] = @items['/stuff/'].identifier
When you need the actual item itself at some point, you can find it using its identifier:
# Replace this: the_item_i_want = @item[:something] # With this: the_item_i_want = @items[@item[:something_identifier]]
Let me know if this solves your problem.
nanoc doesn’t prevent items, layouts, … from being used in attributes, so that’s a bug. Needs a bit more thought on how to fix this properly though.
Replaced all item references with item identifier strings and now everything works with 3.7.3.
Another thing came up while changing the code. I had images like this:
And would wrap HTML pages around them:
So I had two different items with the same identifier, one binary and one not. This worked fine as long as I was keeping a reference to the dynamically created non-binary item. Now, using identifiers I had to rename the images.
Thank you very much for your help.