Empty response when cfthread used in certain setups

Description

Changes made to fix are producing a strange looking behaviour in Lucee 5 running on Commandbox in combination with tuckey urlrewrite filters.

This can be reproduced using commandbox by creating the following two files in your webroot:
index.cfm

and urlrewrite.xml:

Then start a box server from the webroot with:

If reproduced, you will see an empty response in the browser but examining debug.log will show that all the code is run. If you remove the call to cfthread, a response is shown in the browser.

I have tracked this down to this diff: https://github.com/lucee/Lucee/commit/e4dc9b9e0693cef9aa6f6ae7bf3a1d1e906c655c

In particular, the two HashMap's that were changed to ConcurrentHashMap in the disconnect() method. Recompiling Lucee with these two variables reverted to HashMap makes the problem disappear.

Clearly I have no idea why that is, so would be great to get some thoughts from core team on this

Environment

None

Activity

Dominic Watson 21 February 2017 at 08:22
Edited

We tracked this down with the following stacktrace found in system out logs:

Use of ConcurrentHashMap was the problem because, as Micha explained, it does not accept null values in its put() method. Various combinations of server setup and other factors could lead to NULL request attributes which then shows the bug. Micha has changed to ConcurrentHashmapPro for upcoming release.

Fixed

Details

Assignee

Reporter

Priority

Fix versions

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

Sprint

Affects versions

Created 13 February 2017 at 12:03
Updated 7 March 2017 at 20:47
Resolved 22 February 2017 at 22:06