regresssion: compiler exception generating class

Description

NativeException lucee.commons.io.res.type.file.FileResource in getOutputStream New Level: Error Can't create file [/opt/lucee/server/lucee-server/context/cfclasses/CF_var_www282/rest/extensionprovider_cfc$cf.class] lucee.commons.io.res.type.file.FileResource in getOutputStream at line 266 lucee.commons.io.res.type.file.FileResource in getOutputStream at line 258 lucee.commons.io.IOUtil in copy at line 175 lucee.runtime.compiler.CFMLCompilerImpl in _compile at line 154 lucee.runtime.compiler.CFMLCompilerImpl in compile at line 76 lucee.runtime.PageSourceImpl in _compile at line 479 lucee.runtime.PageSourceImpl in compile at line 446 lucee.runtime.PageSourceImpl in loadPhysical at line 378 lucee.runtime.PageSourceImpl in loadPage at line 219 lucee.runtime.component.ComponentLoader in loadComponent at line 467 lucee.runtime.rest.Mapping in _init at line 145 lucee.runtime.rest.Mapping in init at line 106 lucee.runtime.rest.Mapping in getResult at line 209 lucee.runtime.rest.RestRequestListener in execute at line 60

using 6.0.3.1

https://lucee.sentry.io/issues/5508620676/?project=4507452800040960&query=is%3Aunresolved+issue.priority%3A[high%2C+medium]&referrer=issue-stream&stream_index=1

Environment

None

Activity

Show:

Zac Spitzer 30 June 2024 at 17:59

trying to repo via test cases, no luck so far, but found other odd bugs

https://luceeserver.atlassian.net/browse/LDEV-4966

https://luceeserver.atlassian.net/browse/LDEV-4967

Michael Offner 30 June 2024 at 17:12

this should be prevented by locks, if if that happens the locking need to be ensured.

What versions are affected? only 6.0 or also 6.1.

Zac Spitzer 30 June 2024 at 12:41

this is the same as that one with the s3 tests, really hard to repo. I think what is happening is two compilers produce the same class and then the second one tries to write out a class file which already exists? most likely, if the target class exists, it’s safe to assume it’s a duplicate, or we add a lock around class file compilation per source file?

Michael Offner 30 June 2024 at 12:16
Edited

What versions are affected? only 6.0 or also 6.1. there seem to be a test case, please add this test case also to the Lucee repo (6.0 and 6.1.0).

Zac Spitzer 30 June 2024 at 10:41
Edited

also getting this just running test cases with the 6.0.2.44-SNAPSHOT

this is happening during parallel compilation

[java] [script] Can't create file [/Users/zac/work/Lucee/temp/archive/base/lucee-server/context /cfclasses/CF_Users_zac_work_Lucee_temp_archive_base_lucee_server_context_components14901/ org/lucee/cfml/test/luceetestcase_cfc$cf.class] [java] [script] "lucee.runtime.exp.NativeException: Can't create file [/Users/zac/work/Lucee/temp/archive/base/lucee-server/context/cfclasses/CF_Users_zac_work_Lucee_temp_archive_base_lucee_server_context_components14901/org/lucee/cfml/test/luceetestcase_cfc$cf.class] [java] [script] at lucee.commons.io.res.type.file.FileResource.getOutputStream(FileResource.java:266) [java] [script] at lucee.commons.io.res.type.file.FileResource.getOutputStream(FileResource.java:258) [java] [script] at lucee.commons.io.IOUtil.copy(IOUtil.java:175) [java] [script] at lucee.runtime.compiler.CFMLCompilerImpl._compile(CFMLCompilerImpl.java:154) [java] [script] at lucee.runtime.compiler.CFMLCompilerImpl.compile(CFMLCompilerImpl.java:76) [java] [script] at lucee.runtime.PageSourceImpl._compile(PageSourceImpl.java:479) [java] [script] at lucee.runtime.PageSourceImpl.compile(PageSourceImpl.java:446) [java] [script] at lucee.runtime.PageSourceImpl.loadPhysical(PageSourceImpl.java:378) [java] [script] at lucee.runtime.PageSourceImpl.loadPageThrowTemplateException(PageSourceImpl.java:238) [java] [script] at lucee.runtime.component.ComponentLoader._search(ComponentLoader.java:383) [java] [script] at lucee.runtime.component.ComponentLoader._search(ComponentLoader.java:192) [java] [script] at lucee.runtime.component.ComponentLoader.searchComponent(ComponentLoader.java:90) [java] [script] at lucee.runtime.ComponentImpl.init(ComponentImpl.java:383) [java] [script] at tickets.ldev4869_cfc$cf.initComponent(/test/tickets/LDEV4869.cfc) [java] [script] at tickets.ldev4869_cfc$cf.newInstance(/test/tickets/LDEV4869.cfc:1) [java] [script] at lucee.runtime.component.ComponentLoader.initComponent(ComponentLoader.java:669) [java] [script] at lucee.runtime.component.ComponentLoader._loadComponent(ComponentLoader.java:608) [java] [script] at lucee.runtime.component.ComponentLoader.load(ComponentLoader.java:512) [java] [script] at lucee.runtime.component.ComponentLoader._search(ComponentLoader.java:372) [java] [script] at lucee.runtime.component.ComponentLoader._search(ComponentLoader.java:192) [java] [script] at lucee.runtime.component.ComponentLoader.searchComponent(ComponentLoader.java:95) [java] [script] at lucee.runtime.functions.other.GetComponentMetaData.call(GetComponentMetaData.java:51) [java] [script] at _testfilter_cfc$cf.udfCall(/test/_testFilter.cfc:121)

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

Created 22 June 2024 at 13:09
Updated 30 June 2024 at 17:59

Flag notifications