I'll be working on this one out later today. I have a couple of ideas to
try.

--
Josh Tynjala
Bowler Hat LLC <https://bowlerhat.dev>


On Sun, Apr 16, 2023 at 5:59 AM Yishay Weiss <yishayj...@hotmail.com> wrote:

> >I still need to figure out the duplicate hoisted variables in MXRoyale.
>
> I can confirm it's still happening. It does not happen on my machine with
> a simple "mvn clean install".
> ________________________________
> From: Josh Tynjala <joshtynj...@bowlerhat.dev>
> Sent: Friday, April 7, 2023 2:01 AM
> To: dev@royale.apache.org <dev@royale.apache.org>
> Subject: Re: 0.9.10 Release
>
> My latest commits make the Jewel and JewelJS SWC files match between my
> macOS and Windows machines. I ended up having to switch to a different
> Maven Sass plugin because I realized the one we were using was no longer
> maintained, and it was misbehaving. This new plugin is based on the newer
> Sass that doesn't support CRLF output at all, so the changes I talked about
> in my previous email ended up being a strict requirement.
>
> I still need to figure out the duplicate hoisted variables in MXRoyale.
> I'll need to dive into that on another day.
>
> --
> Josh Tynjala
> Bowler Hat LLC <https://bowlerhat.dev>
>
>
> On Thu, Apr 6, 2023 at 9:57 AM Josh Tynjala <joshtynj...@bowlerhat.dev>
> wrote:
>
> > Some more findings:
> >
> > The difference in Jewel appears to be caused by defaults.css. The Maven
> > build at some point was updated to force Sass to output CRLF on Windows,
> to
> > keep Git from saying that the file is modified after regenerating it.
> > Unfortunately, this breaks the ability to do a cross-platform
> reproducible
> > build because every other platform uses LF. I'm probably going to undo
> this
> > change (sorry, Greg!).  However, it looks like adding a .gitattributes
> file
> > to the repo allows us to force line endings for specific files or
> > extensions, regardless of autocrlf behavior. It should provide the same
> > benefit as Greg's commit, while restoring reproducible builds. Side
> note: I
> > also found that modern Sass doesn't even provide the option to use CRLF,
> so
> > this change is probably for the best because we may need to upgrade Sass
> in
> > the future.
> >
> > The situation with duplicates of hoisted variables in
> > MXRoyaleBase/MXRoyale in JDK 17 might be a threading conflict (and
> probably
> > could happen with JDK 11 too, if conditions are correct). When the issue
> > reproduces, I see that the function scope actually contains duplicate
> > definitions of every local variable, instead of just one of each.
> > Interestingly, if I add enough logging to help myself debug this issue,
> the
> > scope ends up containing one of each local variable, and it doesn't
> > duplicate the hoisted variables anymore. That makes me think multiple
> > threads may be manipulating the scope.
> >
> > --
> > Josh Tynjala
> > Bowler Hat LLC <https://bowlerhat.dev>
> >
> >
> > On Wed, Apr 5, 2023 at 2:42 PM Josh Tynjala <joshtynj...@bowlerhat.dev>
> > wrote:
> >
> >> Some preliminary findings:
> >>
> >> Jewel:
> >> - Some plaintext [Embed] content was not matching up between macOS and
> >> Windows. It was clearly a text encoding issue. I fixed a compiler bug
> >> where it was using the system default encoding instead of UTF-8. A
> >> workaround would be to use JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8.
> >> - The SWF files inside the Jewel SWCs still do not match between my
> >> machines. I still need to figure out why. Probably a missing compiler
> >> option in the Jewel pom.xml file.
> >>
> >> MXRoyale and MXRoyaleBase:
> >> - On Windows, I was seeing hoisted variables appear in the JS output
> >> twice. I noticed that I was using JDK 11 on macOS, and JDK 17 on
> Windows.
> >> When I switched to JDK 11 on Windows, the problem went away. It looks
> like
> >> there's a bug in the compiler that needs to be fixed to support JDK 17.
> >> Until then, I recommend building with JDK 11 or older (8 should be fine
> >> too).
> >>
> >> --
> >> Josh Tynjala
> >> Bowler Hat LLC <https://bowlerhat.dev>
> >>
> >>
> >> On Wed, Apr 5, 2023 at 10:11 AM Josh Tynjala <joshtynj...@bowlerhat.dev
> >
> >> wrote:
> >>
> >>> Alright, I built the distribution locally with Maven on two different
> >>> machines, and I can see that the following SWCs don't match: Jewel,
> >>> MXRoyale, and MXRoyaleBase
> >>>
> >>> It affects both the JS and SWF versions of the SWCs.
> >>>
> >>> I'll see what I can do.
> >>>
> >>> --
> >>> Josh Tynjala
> >>> Bowler Hat LLC <https://bowlerhat.dev>
> >>>
> >>>
> >>> On Mon, Apr 3, 2023 at 8:04 AM Josh Tynjala <joshtynj...@bowlerhat.dev
> >
> >>> wrote:
> >>>
> >>>> Yes, it's on by default.
> >>>>
> >>>> I guess that there must be some other reason why the builds don't
> match
> >>>> up. I just happened to notice this, in particular, was different
> between
> >>>> the Ant build and the Maven build.
> >>>>
> >>>> You may need to extract the .swc files and manually compare the
> >>>> contents to see what is different.
> >>>>
> >>>> --
> >>>> Josh Tynjala
> >>>> Bowler Hat LLC <https://bowlerhat.dev>
> >>>>
> >>>>
> >>>> On Sun, Apr 2, 2023 at 4:01 AM Yishay Weiss <yishayj...@hotmail.com>
> >>>> wrote:
> >>>>
> >>>>> Is that option on by default? I just tried building both on release
> >>>>> machine and locally and am still getting the mismatch.
> >>>>>
> >>>>> <exec executable="${mvn}" dir="${artifactfolder}/sources"
> >>>>> failonerror="true" >
> >>>>>             <arg value="-X" />
> >>>>>             <arg value="-P" />
> >>>>>             <arg
> >>>>>
> value="royale-release,apache-release,_reproducible-build,with-distribution,with-examples,with-manualtests,option-with-swf"
> >>>>> />
> >>>>>             <arg value="clean" />
> >>>>>             <arg value="install" />
> >>>>>         </exec>
> >>>>>
> >>>>> Is how it gets built now locally. Intuitively debug info should not
> be
> >>>>> part of the release but I need to look into it further.
> >>>>> ________________________________
> >>>>> From: Josh Tynjala <joshtynj...@bowlerhat.dev>
> >>>>> Sent: Tuesday, March 28, 2023 6:17 PM
> >>>>> To: dev@royale.apache.org <dev@royale.apache.org>
> >>>>> Subject: Re: 0.9.10 Release
> >>>>>
> >>>>> Hey Yishay,
> >>>>>
> >>>>> I recently made a commit that adds the swf-debugfile-alias compiler
> >>>>> option
> >>>>> for SWC files built by Maven. This compiler option was being used by
> >>>>> Ant
> >>>>> already, but it never got added to the Maven build. And I think that
> >>>>> binaries would fail comparison without it. This may be why Release
> >>>>> Step 11
> >>>>> was failing for you.
> >>>>>
> >>>>> Basically, swf-debugfile-alias ensures that the debugging information
> >>>>> in
> >>>>> the SWC doesn't include the local path to the .as/.mxml source files
> >>>>> (starting with something like C:\Users\joshtynjala\ or
> >>>>> /Users/CoolGuy19/).
> >>>>> Instead, it sets a generic path that will always match among builds
> >>>>> from
> >>>>> different machines. Considering this was missing, it sure sounds
> like a
> >>>>> reason why binary comparison would fail.
> >>>>>
> >>>>> --
> >>>>> Josh Tynjala
> >>>>> Bowler Hat LLC <https://bowlerhat.dev>
> >>>>>
> >>>>>
> >>>>> On Wed, Feb 22, 2023 at 10:38 AM Yishay Weiss <
> yishayj...@hotmail.com>
> >>>>> wrote:
> >>>>>
> >>>>> > FYI I am put this on hold about 2 weeks ago after failing to debug
> a
> >>>>> > binary reproducibility issue in as-js repo.
> >>>>> >
> >>>>> > @Harbs<mailto:harbs.li...@gmail.com>, can you see if the same
> issue
> >>>>> > exists for you?
> >>>>> >
> >>>>> > You can follow instructions [1] and tell me if step 2 succeeded or
> >>>>> failed
> >>>>> > for you.
> >>>>> >
> >>>>> > Thanks.
> >>>>> >
> >>>>> > [1]
> >>>>> >
> >>>>>
> apacheroyale.francecentral.cloudapp.azure.com:8080/job/Royale_Release_Step_011/ws/Success-5.txt
> >>>>> > <
> >>>>> >
> >>>>>
> http://apacheroyale.francecentral.cloudapp.azure.com:8080/job/Royale_Release_Step_011/ws/Success-5.txt
> >>>>> > >
> >>>>> > ________________________________
> >>>>> > From: Josh Tynjala <joshtynj...@bowlerhat.dev>
> >>>>> > Sent: Tuesday, January 17, 2023 10:08 PM
> >>>>> > To: dev@royale.apache.org <dev@royale.apache.org>
> >>>>> > Subject: Re: 0.9.10 Release
> >>>>> >
> >>>>> > Oops! I meant NO further changes. Sorry about that. You're good to
> >>>>> go on my
> >>>>> > end.
> >>>>> >
> >>>>> > --
> >>>>> > Josh Tynjala
> >>>>> > Bowler Hat LLC <https://bowlerhat.dev>
> >>>>> >
> >>>>> >
> >>>>> > On Tue, Jan 17, 2023 at 11:32 AM Yishay Weiss <
> >>>>> yishayj...@hotmail.com>
> >>>>> > wrote:
> >>>>> >
> >>>>> > > Thanks for the update, let me know when to pull the trigger.
> >>>>> > >
> >>>>> > > Get Outlook for Android<https://aka.ms/AAb9ysg>
> >>>>> > > ________________________________
> >>>>> > > From: Josh Tynjala <joshtynj...@bowlerhat.dev>
> >>>>> > > Sent: Tuesday, January 17, 2023 7:05:29 PM
> >>>>> > > To: dev@royale.apache.org <dev@royale.apache.org>
> >>>>> > > Subject: Re: 0.9.10 Release
> >>>>> > >
> >>>>> > > I've updated the release notes with my changes. I have further
> >>>>> changes
> >>>>> > > planned before the release.
> >>>>> > >
> >>>>> > > --
> >>>>> > > Josh Tynjala
> >>>>> > > Bowler Hat LLC <https://bowlerhat.dev>
> >>>>> > >
> >>>>> > >
> >>>>> > > On Mon, Jan 16, 2023 at 12:40 AM Yishay Weiss <
> >>>>> yishayj...@hotmail.com>
> >>>>> > > wrote:
> >>>>> > >
> >>>>> > > > Hi Guys,
> >>>>> > > >
> >>>>> > > > We’re starting a new release soon. As it’s been a while and I
> >>>>> expect
> >>>>> > some
> >>>>> > > > issues I have agreed with Harbs to do this release. 0.9.11
> >>>>> should be
> >>>>> > > easier
> >>>>> > > > if we don’t wait too long, so the goal is for a different
> >>>>> volunteer to
> >>>>> > do
> >>>>> > > > the next one.
> >>>>> > > >
> >>>>> > > > If anybody wants to commit changes they are welcome to do so
> >>>>> now, and
> >>>>> > > > update the release notes.
> >>>>> > > >
> >>>>> > > > Please make sure the integration tests are working post
> commits.
> >>>>> > > >
> >>>>> > > > Thanks,
> >>>>> > > > Yishay
> >>>>> > > >
> >>>>> > >
> >>>>> >
> >>>>>
> >>>>
>

Reply via email to