Issues
- Regression in struct implementation causing stack overflowLDEV-2608Resolved issue: LDEV-2608Michael Offner
- javasettings fails with invalid OSGi BundlesLDEV-2601Resolved issue: LDEV-2601
- csrfGenerateToken() and csrfVerifyToken() with no arguments throw a null pointer exception.LDEV-2565Resolved issue: LDEV-2565Michael Offner
- Regression w/CFML Sessions: Session scope does not support CSRF TokensLDEV-2536Resolved issue: LDEV-2536
- unsupported third party extensions warning shown for lucee extensions when offlineLDEV-2517Resolved issue: LDEV-2517Michael Offner
- Regression: Lucee gets confused and renders wrong file (with same name)LDEV-2514Resolved issue: LDEV-2514
- Regression: can no longer add extension provider in adminLDEV-2513Resolved issue: LDEV-2513
- getFileInfo() is really slowLDEV-2505Resolved issue: LDEV-2505Michael Offner
- CFLocation in 5.3.3.62 Filling Up Error LogsLDEV-2474Resolved issue: LDEV-2474Michael Offner
- Initial Password Setup Not WorkingLDEV-2460Resolved issue: LDEV-2460Michael Offner
Regression in struct implementation causing stack overflow
Description
Environment
Details
Assignee
Michael OffnerMichael OffnerReporter
John BerquistJohn BerquistPriority
BlockerNew Issue warning screen
Before you create a new Issue, please post to the mailing list first https://dev.lucee.org
Once the issue has been verified, one of the Lucee team will ask you to file an issue
Affects versions
Details
Details
Assignee
Reporter
Priority
New Issue warning screen
Before you create a new Issue, please post to the mailing list first https://dev.lucee.org
Once the issue has been verified, one of the Lucee team will ask you to file an issue
Affects versions
Activity
John Berquist5 December 2019 at 16:20
: actually pointed LDEV-2479
out to me on Slack, I am really sorry I missed that earlier ticket - it did in fact solve my issue. I didn’t realize it because it hasn’t made it into a stable release yet. I created the test case above trying to figure out exactly what was causing my issue and apparently bumped into something else. I do appreciate the quick fix.
Michael Offner5 December 2019 at 14:07
see
Michael Offner5 December 2019 at 14:04Edited
does this fix solves your problem? i was able to reproduce and solve the issue with equals and the issue with hashcode was already solved in an earlier version.
John Berquist3 December 2019 at 18:35
I have a component that computes function names and ranges for CFML source files: (So that for exceptions that report a tag context array I can get the names of the CFML functions being executed from the source files and line numbers given). In order to do that I build a tree of parent and child structs tracking ranges in the source file - where the child structs have a reference their parent structs and the parents have arrays of child structs. At a particular point I needed the index of a child struct in its parent struct's array of child ranges. So I used var idx = func.parent.children.find( func );
That stopped working after the recent struct implementation updates.
Michael Offner2 December 2019 at 21:36
In Lucee version 5.3.3.54 and following, the struct implementation was changed resulting in the following code causing a stack overflow:
This code causes a stack overflow at:
While it is understandable why this causes the overflow at the `hashCode()` method, it did not in prior versions of Lucee and does not in ACF 2018.
For reference this code more closely approximates how I encountered it: