<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hello Robert,</p>
    <p>This certainly looks like a behavioural change that would need
      investigation. So yes, a reproducer will be helpful.<br>
    </p>
    <p>-Jaikiran<br>
    </p>
    <div class="moz-cite-prefix">On 13/10/24 5:23 pm, Robert Scholte
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:012901db1d66$8e348d40$aa9da7c0$@apache.org">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator"
        content="Microsoft Word 15 (filtered medium)">
      <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        mso-fareast-language:EN-US;}div.WordSection1
        {page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal">Hi,<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span lang="EN-US">It seems there’s a
            change in the ServiceLoader, and it looks like regression to
            me.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">I’ve created a small
            project to reproduce it (I can provide it if wanted and
            confirmed this is indeed a bug).<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">What it basically does
            is just: <o:p></o:p></span></p>
        <p class="MsoNormal" style="text-indent:35.4pt"><span
            lang="EN-US">ServiceLoader.load(Car.class).findFirst().orElseThrow();<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-indent:35.4pt"><span
            lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">This succeeds with
            OpenJDK 22 (with and without preview enabled flag)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">It also succeeds with
            OpenJDK 23 without the preview flag.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">However, when adding the
            preview flag I get:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">java.util.NoSuchElementException:
            No value present<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">        at
            java.base/java.util.Optional.orElseThrow(Optional.java:377)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">        at
            nl.sourcegrounds.serviceloader.tck.CarTest.<init>(CarTest.java:16)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Anyone who can already
            explain this with this small amount of information?<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Thanks,<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Robert Scholte<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">These are the details
            for both versions (Windows OS)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">openjdk version "22"
            2024-03-19<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">OpenJDK Runtime
            Environment (build 22+36-2370)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">OpenJDK 64-Bit Server VM
            (build 22+36-2370, mixed mode, sharing)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">openjdk version "23"
            2024-09-17<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">OpenJDK Runtime
            Environment (build 23+37-2369)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">OpenJDK 64-Bit Server VM
            (build 23+37-2369, mixed mode, sharing)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
      </div>
    </blockquote>
  </body>
</html>