You propose to throw an exception containing this, right?

> Java does not throw SecurityException if this
is the case, it just ignores the jar!

Are you serious?

On Wed, 17 May, 2023, 8:02 am Gus Heck, <gus.h...@gmail.com> wrote:

> Blaming?
>
> On Tue, May 16, 2023 at 10:05 PM Ishan Chattopadhyaya <
> ichattopadhy...@gmail.com> wrote:
>
>> > Having that explicitly called out would have been SUPER helpful.
>>
>> Blaming Java in an exception thrown by Lucene is a ridiculous idea.
>>
>> On Wed, 17 May, 2023, 3:33 am Gus Heck, <gus.h...@gmail.com> wrote:
>>
>>> Found it.
>>>
>>> It's a solr thing made worse by the interaction of lucene testutils and
>>> jdk.internal.loader.URLClassPath's decision to hide anything gone wrong
>>> when checking a URL
>>>     /*
>>>      * Checks whether the resource URL should be returned.
>>>      * Returns null on security check failure.
>>>      * Called by java.net.URLClassLoader.
>>>      */
>>>     public static URL checkURL(URL url) {
>>>         if (url != null) {
>>>             try {
>>>                 check(url);
>>>             } catch (Exception e) {
>>>                 return null;
>>>             }
>>>         }
>>>         return url;
>>>     }
>>>
>>> Yay. Fun. JDK classes swallowing exceptions silently.
>>>
>>> At the start of this it only took me a little while to discover that
>>> there
>>> was a security manager in play via debugging. Remembering that I saw
>>> emails
>>> about that, I went to jira, found the ticket enabling it by default in
>>> 9.x
>>> and eventually tracked down the name of the security policy file by
>>> reading
>>> solr.in.sh and /bin/solr...  The key issue that tripped me up is that
>>> the
>>> tests have a *separate* security policy file, and there was pretty much
>>> no
>>> way to know this without extensive reading of the build. Thus I got
>>> thrown
>>> off track when
>>>
>>>   permission java.io.FilePermission
>>> "${user.home}${/}.m2${/}repository${/}-", "read";
>>>
>>> To  solr/server/etc/security.policy had no effect. That and the fact that
>>> no security exception was reported, led me to start chasing increasingly
>>> improbable hypotheses. Many hours later when I went back to debugging
>>> deeply into class loading, I found that the code was actually reading the
>>> jar files in question, and then I finally caught it throwing a security
>>> exception during my debugging.
>>>
>>> It turns out that adding the above permission to
>>> gradle/testing/randomization/policies/solr-tests.policy allows the test
>>> to
>>> pass. [1]
>>>
>>> I think we need to document this somewhere (or someone needs to point me
>>> to
>>> the doc I missed, FWIW I hit this basically following the process in
>>> dev-docs/dependency-upgrades.adoc treating lucene like a dependency, and
>>> unaware that there is a "shortcut" mode for lucene specifically in
>>> gradle/lucene-dev/lucene-dev-repo-composite.gradle and I find reading
>>> that
>>> file none-to clear anyway)
>>>
>>> That's the solr part, the lucene part is that the security exception is
>>> hit
>>> when in org.apache.lucene.codecs.Codec$Holder.<clinit>(Codec.java:58)
>>> when org.apache.lucene.tests.util.TestRuleSetupAndRestoreClassEnv#before
>>> does
>>>
>>>      savedCodec = Codec.getDefault();
>>>
>>> The error message "An SPI class of type org.apache.lucene.codecs.Codec
>>> with
>>> name 'Lucene95' does not exist." was moderately misleading because the
>>> file
>>> and the services files in the jar definitely did exist. This message
>>> should
>>> vary if there is an installed security manager, maybe saying something
>>> like:
>>>
>>> "An SPI class of type org.apache.lucene.codecs.Codec with name 'Lucene95'
>>> does not exist. We have detected that a security manager is installed so
>>> it
>>> is also possible that the jar containing the codec is inaccessible under
>>> the current security policy. (Java does not throw SecurityException if
>>> this
>>> is the case, it just ignores the jar!)" [2]
>>>
>>> Having that explicitly called out would have been SUPER helpful.
>>>
>>> -Gus
>>>
>>> [1]: https://issues.apache.org/jira/browse/SOLR-16804
>>> [2]: https://github.com/apache/lucene/issues/12300
>>>
>>>
>>> On Mon, May 15, 2023 at 3:17 PM Michael Sokolov <msoko...@gmail.com>
>>> wrote:
>>>
>>> > random guess - does it have something to do with modules?
>>> >
>>> > On Mon, May 15, 2023 at 11:14 AM Gus Heck <gus.h...@gmail.com> wrote:
>>> > >
>>> > > I hadn't seen that one. Thanks, I'll look at it. It already looks a
>>> bit
>>> > confusing though since it seems to have options for pointing to a
>>> repo, but
>>> > I appear to be pulling the jars successfully from .m2/repository
>>> already...
>>> > (except then they don't work, so successful means I see them in the
>>> > classpath of the relevant classloader). And if we can't deploy a valid
>>> jar
>>> > to mavenLocal for some reason (tweaked the solr build so it sees
>>> > mavenLocal()), (or solr can't consume such a jar) that seems like an
>>> issue
>>> > for whichever one is breaking that.
>>> > >
>>> > > Debugging: The JDK appears to be attempting to load the services file
>>> > from modules, but not seeing the lucene module. (just the jdk ones)
>>> Also it
>>> > passes through a block that says:
>>> > >
>>> > >             // not in a package of a module defined to this loader
>>> > >             for (URL url : findMiscResource(name)) {
>>> > >
>>> > > (but then iterates
>>> > jdk.internal.loader.BuiltinClassLoader#nameToModule.values() to load
>>> things
>>> > anyway)
>>> > >
>>> > > -Gus
>>> > >
>>> > > On Mon, May 15, 2023 at 10:54 AM Houston Putman <
>>> houstonput...@gmail.com>
>>> > wrote:
>>> > >>
>>> > >> Gus, I haven't done this myself, but are you using the instructions
>>> > provided in Solr's
>>> "gradle/lucene-dev/lucene-dev-repo-composite.gradle"?
>>> > >>
>>> > >> It looks like you need to specify the development lucene version
>>> > differently than other dependencies...
>>> > >>
>>> > >> - Houston
>>> > >>
>>> > >> On Sat, May 13, 2023 at 10:14 AM Michael Sokolov <
>>> msoko...@gmail.com>
>>> > wrote:
>>> > >>>
>>> > >>> doh I actually read your email and you said you already checked
>>> that -
>>> > >>> I'm going to send out one of those "sokolov would like to retract
>>> the
>>> > >>> previous email" emails. Does GMail even pretend to do that? I don't
>>> > >>> know what's going on there! sorry
>>> > >>>
>>> > >>> On Sat, May 13, 2023 at 10:13 AM Michael Sokolov <
>>> msoko...@gmail.com>
>>> > wrote:
>>> > >>> >
>>> > >>> > sorry - META-INF not WEB-INF
>>> > >>> >
>>> > >>> > On Sat, May 13, 2023 at 10:12 AM Michael Sokolov <
>>> msoko...@gmail.com>
>>> > wrote:
>>> > >>> > >
>>> > >>> > > You are probably missing the contents of WEB-INF in your custom
>>> > jar?
>>> > >>> > > Roughly speaking the files in there define run-time-bound
>>> > "services"
>>> > >>> > > that are looked up by name by the JDK's service-loader API.
>>> > >>> > >
>>> > >>> > > On Sat, May 13, 2023 at 9:33 AM Gus Heck <gus.h...@gmail.com>
>>> > wrote:
>>> > >>> > > >
>>> > >>> > > > Cross posting to lucene on the possibility that folks here
>>> are
>>> > more likely to add customized lucene to Solr and recognize what I'm
>>> > stumbling on? (zero responses on solr list)
>>> > >>> > > >
>>> > >>> > > > Note that the specific test that I happened to copy is not
>>> the
>>> > issue, all tests are doing this (or at least so many tests are failing
>>> I
>>> > can't see the ones that are passing easily).
>>> > >>> > > >
>>> > >>> > > > ---------- Forwarded message ---------
>>> > >>> > > > From: Gus Heck <gus.h...@gmail.com>
>>> > >>> > > > Date: Wed, May 10, 2023 at 6:50 PM
>>> > >>> > > > Subject: Running 10.0 build with a custom lucene 9.5
>>> > >>> > > > To: <d...@solr.apache.org>
>>> > >>> > > >
>>> > >>> > > >
>>> > >>> > > > Lucene:
>>> > >>> > > >
>>> > >>> > > > I made a tweak to lucene for something I'm investigating,
>>> gave
>>> > it a new version, deployed to mavenLocal()
>>> > >>> > > > I have verified that the jars are built with correct
>>> > META-INF/services files
>>> > >>> > > >
>>> > >>> > > > Solr:
>>> > >>> > > >
>>> > >>> > > > I added mavenLocal() in gradle/globals.gradle
>>> > >>> > > > I removed the license file sha1 sigs for the default lucene &
>>> > creates signatures for my test version
>>> > >>> > > > I updated versions.props
>>> > >>> > > > I updated versions.lock
>>> > >>> > > >
>>> > >>> > > > Now when I run individual solr tests via my ide they seem to
>>> > pass, but virtually every test run via gradle fails with something
>>> like:
>>> > >>> > > >
>>> > >>> > > > org.apache.solr.embedded.TestJettySolrRunner > classMethod
>>> FAILED
>>> > >>> > > >     java.lang.ExceptionInInitializerError
>>> > >>> > > >         at
>>> > org.apache.lucene.codecs.Codec.getDefault(Codec.java:141)
>>> > >>> > > >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleSetupAndRestoreClassEnv.before(TestRuleSetupAndRestoreClassEnv.java:137)
>>> > >>> > > >         at
>>> >
>>> org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:42)
>>> > >>> > > >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>> > >>> > > >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:38)
>>> > >>> > > >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
>>> > >>> > > >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
>>> > >>> > > >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>> > >>> > > >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>> > >>> > > >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:53)
>>> > >>> > > >         at
>>> >
>>> org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
>>> > >>> > > >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:44)
>>> > >>> > > >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:60)
>>> > >>> > > >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:47)
>>> > >>> > > >         at
>>> org.junit.rules.RunRules.evaluate(RunRules.java:20)
>>> > >>> > > >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>> > >>> > > >         at
>>> >
>>> com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:390)
>>> > >>> > > >         at
>>> >
>>> com.carrotsearch.randomizedtesting.ThreadLeakControl.lambda$forkTimeoutingTask$0(ThreadLeakControl.java:850)
>>> > >>> > > >         at java.base/java.lang.Thread.run(Thread.java:829)
>>> > >>> > > >
>>> > >>> > > >         Caused by:
>>> > >>> > > >         java.lang.IllegalArgumentException: An SPI class of
>>> type
>>> > org.apache.lucene.codecs.Codec with name 'Lucene95' does not exist.
>>> You
>>> > need to add the corresponding JAR file supporting this SPI to your
>>> > classpath.  The current classpath supports the following names: []
>>> > >>> > > >             at
>>> > org.apache.lucene.util.NamedSPILoader.lookup(NamedSPILoader.java:113)
>>> > >>> > > >             at
>>> > org.apache.lucene.codecs.Codec$Holder.<clinit>(Codec.java:58)
>>> > >>> > > >             ... 19 more
>>> > >>> > > >
>>> > >>> > > > org.apache.solr.embedded.TestJettySolrRunner > classMethod
>>> FAILED
>>> > >>> > > >     java.lang.NullPointerException
>>> > >>> > > >         at
>>> > java.base/java.util.Objects.requireNonNull(Objects.java:221)
>>> > >>> > > >         at
>>> > org.apache.lucene.codecs.Codec.setDefault(Codec.java:151)
>>> > >>> > > >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleSetupAndRestoreClassEnv.after(TestRuleSetupAndRestoreClassEnv.java:292)
>>> > >>> > > >         at
>>> >
>>> org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:49)
>>> > >>> > > >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>> > >>> > > >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:38)
>>> > >>> > > >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
>>> > >>> > > >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
>>> > >>> > > >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>> > >>> > > >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>> > >>> > > >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:53)
>>> > >>> > > >         at
>>> >
>>> org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
>>> > >>> > > >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:44)
>>> > >>> > > >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:60)
>>> > >>> > > >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:47)
>>> > >>> > > >         at
>>> org.junit.rules.RunRules.evaluate(RunRules.java:20)
>>> > >>> > > >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>> > >>> > > >         at
>>> >
>>> com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:390)
>>> > >>> > > >         at
>>> >
>>> com.carrotsearch.randomizedtesting.ThreadLeakControl.lambda$forkTimeoutingTask$0(ThreadLeakControl.java:850)
>>> > >>> > > >         at java.base/java.lang.Thread.run(Thread.java:829)
>>> > >>> > > >
>>> > >>> > > > org.apache.solr.embedded.TestJettySolrRunner > test suite's
>>> > output saved to
>>> >
>>> /Users/gus/projects/apache/solr/code/solr/solr/test-framework/build/test-results/test/outputs/OUTPUT-org.apache.solr.embedded.TestJettySolrRunner.txt,
>>> > copied below:
>>> > >>> > > >    >     java.lang.ExceptionInInitializerError
>>> > >>> > > >    >         at
>>> > org.apache.lucene.codecs.Codec.getDefault(Codec.java:141)
>>> > >>> > > >    >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleSetupAndRestoreClassEnv.before(TestRuleSetupAndRestoreClassEnv.java:137)
>>> > >>> > > >    >         at
>>> >
>>> org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:42)
>>> > >>> > > >    >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>> > >>> > > >    >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:38)
>>> > >>> > > >    >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
>>> > >>> > > >    >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
>>> > >>> > > >    >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>> > >>> > > >    >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>> > >>> > > >    >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:53)
>>> > >>> > > >    >         at
>>> >
>>> org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
>>> > >>> > > >    >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:44)
>>> > >>> > > >    >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:60)
>>> > >>> > > >    >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:47)
>>> > >>> > > >    >         at
>>> > org.junit.rules.RunRules.evaluate(RunRules.java:20)
>>> > >>> > > >    >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>> > >>> > > >    >         at
>>> >
>>> com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:390)
>>> > >>> > > >    >         at
>>> >
>>> com.carrotsearch.randomizedtesting.ThreadLeakControl.lambda$forkTimeoutingTask$0(ThreadLeakControl.java:850)
>>> > >>> > > >    >         at
>>> java.base/java.lang.Thread.run(Thread.java:829)
>>> > >>> > > >    >
>>> > >>> > > >    >         Caused by:
>>> > >>> > > >    >         java.lang.IllegalArgumentException: An SPI
>>> class of
>>> > type org.apache.lucene.codecs.Codec with name 'Lucene95' does not
>>> exist.
>>> > You need to add the corresponding JAR file supporting this SPI to your
>>> > classpath.  The current classpath supports the following names: []
>>> > >>> > > >    >             at
>>> > org.apache.lucene.util.NamedSPILoader.lookup(NamedSPILoader.java:113)
>>> > >>> > > >    >             at
>>> > org.apache.lucene.codecs.Codec$Holder.<clinit>(Codec.java:58)
>>> > >>> > > >    >             ... 19 more
>>> > >>> > > >    >     java.lang.NullPointerException
>>> > >>> > > >    >         at
>>> > java.base/java.util.Objects.requireNonNull(Objects.java:221)
>>> > >>> > > >    >         at
>>> > org.apache.lucene.codecs.Codec.setDefault(Codec.java:151)
>>> > >>> > > >    >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleSetupAndRestoreClassEnv.after(TestRuleSetupAndRestoreClassEnv.java:292)
>>> > >>> > > >    >         at
>>> >
>>> org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:49)
>>> > >>> > > >    >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>> > >>> > > >    >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:38)
>>> > >>> > > >    >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
>>> > >>> > > >    >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
>>> > >>> > > >    >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>> > >>> > > >    >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>> > >>> > > >    >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:53)
>>> > >>> > > >    >         at
>>> >
>>> org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
>>> > >>> > > >    >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:44)
>>> > >>> > > >    >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:60)
>>> > >>> > > >    >         at
>>> >
>>> org.apache.lucene.tests.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:47)
>>> > >>> > > >    >         at
>>> > org.junit.rules.RunRules.evaluate(RunRules.java:20)
>>> > >>> > > >    >         at
>>> >
>>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>>> > >>> > > >    >         at
>>> >
>>> com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:390)
>>> > >>> > > >    >         at
>>> >
>>> com.carrotsearch.randomizedtesting.ThreadLeakControl.lambda$forkTimeoutingTask$0(ThreadLeakControl.java:850)
>>> > >>> > > >    >         at
>>> java.base/java.lang.Thread.run(Thread.java:829)
>>> > >>> > > >   2> NOTE: Mac OS X 12.6 aarch64/Azul Systems, Inc. 11.0.19
>>> > (64-bit)/cpus=10,threads=1,free=235002360,total=268435456
>>> > >>> > > >   2> NOTE: All tests run in this JVM: [TestJettySolrRunner]
>>> > >>> > > >   2> NOTE: reproduce with: gradlew test --tests
>>> > TestJettySolrRunner -Dtests.seed=2FB768B5A303764 -Dtests.asserts=true
>>> > -Dtests.file.encoding=UTF-8
>>> > >>> > > >
>>> > >>> > > > The only difference I've been able to determine is that the
>>> IDE
>>> > does not run the test with a security manager, but that feels like a
>>> red
>>> > herring since nothing is throwing security exception (or if it is, it's
>>> > getting swallowed!).
>>> > >>> > > >
>>> > >>> > > > I have debugged and I can see that the classloaders have the
>>> new
>>> > lucene jars I built on the classpath (in /Users/gus/.m2/repository as
>>> they
>>> > should), but I haven't yet figuree out why the services are not
>>> loading.
>>> > >>> > > >
>>> > >>> > > > -Gus
>>> > >>> > > >
>>> > >>> > > >
>>> > >>> > > > --
>>> > >>> > > > http://www.needhamsoftware.com (work)
>>> > >>> > > > http://www.the111shift.com (play)
>>> > >>> > > >
>>> > >>> > > >
>>> > >>> > > > --
>>> > >>> > > > http://www.needhamsoftware.com (work)
>>> > >>> > > > http://www.the111shift.com (play)
>>> > >>>
>>> > >>>
>>> ---------------------------------------------------------------------
>>> > >>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>> > >>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>> > >>>
>>> > >
>>> > >
>>> > > --
>>> > > http://www.needhamsoftware.com (work)
>>> > > http://www.the111shift.com (play)
>>> >
>>> > ---------------------------------------------------------------------
>>> > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>> > For additional commands, e-mail: dev-h...@lucene.apache.org
>>> >
>>> >
>>>
>>> --
>>> http://www.needhamsoftware.com (work)
>>> http://www.the111shift.com (play)
>>>
>>
>
> --
> http://www.needhamsoftware.com (work)
> http://www.the111shift.com (play)
>

Reply via email to