You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@netbeans.apache.org by Ernie Rael <er...@raelity.com> on 2021/03/21 19:19:31 UTC

Profiling on Windows 64bit

There's a years old problem, with a years old fix, which prevents some 
profiling on 64bit windows.


> With the cut off for the next release at hand, I've brought the issue 
> up. I'll shut up about it now... At least until it's time for the next 
> release

It's that time again... And now there's a relatively new PR that 
supersedes (and contains) the years old PR. It needs review, there's a 
couple reviewers listed but alas...

The PR is https://github.com/apache/netbeans/pull/2700.


Last discussion ended with [1], which references the new PR (the new PR 
encapsulates the original PR) that fixes the problem "doing it right". 
There's an outline of the "cowboy method" in [2]. You can view the 
entire thread, which contain these two, at [3] (then down a few screens 
to "Profiling on 64bit Windows 2021/1/21 20:28" (couldn't find a 
permalink that has the whole thread)).

I don't understand the new PR more than superficially, but I think the 
cowboy method is one of it's steps.

-ernie

[1] 
https://lists.apache.org/thread.html/rc07cfea483f9a98b127f83ffb99805bafe3f8bdaa03d4ea35563e4bd%40%3Cdev.netbeans.apache.org%3Ez
[2] 
https://lists.apache.org/thread.html/r2b567933d97569b15c2b28dea6dc3201a36b46184854506a88bb11c4%40%3Cdev.netbeans.apache.org%3E
[3] https://lists.apache.org/list.html?dev@netbeans.apache.org:2021-01


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: Profiling on Windows 64bit

Posted by Neil C Smith <ne...@apache.org>.
On Mon, 22 Mar 2021, 21:37 Lars Bruun-Hansen, <lb...@gmail.com>
wrote:

> By "cowboy method", I meant:   A non-producible build. Developer
> builds the native binary on his own workstation from
> who-knows-what-source and hands it over to someone who uploads it to
> bin-repo. Worst case he builds from some code which isn't committed,
> perhaps never will be. I'm afraid this is the current state of affairs
> with these native binaries in the NetBeans universe. (all devs knows
> this is not the right way, but we all cut corners)
>
> By "doing it right", I meant:  Native binaries can always be traced
> back to an exact commit ref in the official Git repo. Binaries are not
> build by a human, but by a CI pipeline. Code is checked out from a
> commit ref and the binary is build from that and then turned into a
> consumable artifact which is immutable (same version id can never be
> overwritten, a new version id must be used). The binary is re-build
> whenever the source code changes.
>

+1 and IMO, released via standard ASF processes, vote and infrastructure.
Unless we expect every end-user source consumer to build these manually, we
should treat them as released artefacts like any other binary.

Best wishes,

Neil

>

Re: Profiling on Windows 64bit

Posted by Lars Bruun-Hansen <lb...@gmail.com>.
On Tue, Mar 23, 2021 at 5:02 PM Ernie Rael <er...@raelity.com> wrote:
>
>
> Just to mention, AFAIK only the windows binary needs to be
> incorporated/accepted into the build.
>

Nope, see the "Background" section of the PR.
The bug only manifested itself on Windows but that was sheer luck. We
need to rebuild for Linux and MacOS too.



/Lars

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: Profiling on Windows 64bit

Posted by Ernie Rael <er...@raelity.com>.
BTW, I thought "doing it right" and "cowboy method" were pretty good 
descriptions in your original mail. I think doing it right is preferred, 
I also believe cowboys can get good stuff done efficiently and in a 
timely manner (and I acknowledge disasters are more likely). And most 
importantly around this topic is to keep in mind*
*

    *Perfect is the enemy of good [1]
    *

I sure hope this profiling issue can be resolved in this next release. 
Having a working solution for years for what seems an important issues 
is just wrong.

Just to mention, AFAIK only the windows binary needs to be 
incorporated/accepted into the build.

-ernie

[1] https://en.wikipedia.org/wiki/Perfect_is_the_enemy_of_good

On 3/22/2021 2:36 PM, Lars Bruun-Hansen wrote:
> I'm the author of PR-2700.
>
> By "cowboy method",
> [snip]
> By "doing it right",



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: Profiling on Windows 64bit

Posted by Lars Bruun-Hansen <lb...@gmail.com>.
I'm the author of PR-2700.

By "cowboy method", I meant:   A non-producible build. Developer
builds the native binary on his own workstation from
who-knows-what-source and hands it over to someone who uploads it to
bin-repo. Worst case he builds from some code which isn't committed,
perhaps never will be. I'm afraid this is the current state of affairs
with these native binaries in the NetBeans universe. (all devs knows
this is not the right way, but we all cut corners)

By "doing it right", I meant:  Native binaries can always be traced
back to an exact commit ref in the official Git repo. Binaries are not
build by a human, but by a CI pipeline. Code is checked out from a
commit ref and the binary is build from that and then turned into a
consumable artifact which is immutable (same version id can never be
overwritten, a new version id must be used). The binary is re-build
whenever the source code changes.

There's nothing strange in this goal, it is merely attempting to apply
the same principles of transparency and re-producability that we've
used in the Java world for the past 20 years, to also apply to these
C/C++ binaries that are an often forgotten part of NetBeans.

This PR doesn't take it all the way towards "doing it right", but does
what it can in this respect.

Anyways, I would feel more confident if the PR had been tested by more
people, ideally on all of Windows, MacOS and Linux. Instructions for
test are in the PR. When I follow these steps myself on Windows I get
negative result with the existing binaries, but positive result with
the new binaries .. as expected.

Thx

Lars


On Sun, Mar 21, 2021 at 8:19 PM Ernie Rael <er...@raelity.com> wrote:
>
> There's a years old problem, with a years old fix, which prevents some
> profiling on 64bit windows.
>
>
> > With the cut off for the next release at hand, I've brought the issue
> > up. I'll shut up about it now... At least until it's time for the next
> > release
>
> It's that time again... And now there's a relatively new PR that
> supersedes (and contains) the years old PR. It needs review, there's a
> couple reviewers listed but alas...
>
> The PR is https://github.com/apache/netbeans/pull/2700.
>
>
> Last discussion ended with [1], which references the new PR (the new PR
> encapsulates the original PR) that fixes the problem "doing it right".
> There's an outline of the "cowboy method" in [2]. You can view the
> entire thread, which contain these two, at [3] (then down a few screens
> to "Profiling on 64bit Windows 2021/1/21 20:28" (couldn't find a
> permalink that has the whole thread)).
>
> I don't understand the new PR more than superficially, but I think the
> cowboy method is one of it's steps.
>
> -ernie
>
> [1]
> https://lists.apache.org/thread.html/rc07cfea483f9a98b127f83ffb99805bafe3f8bdaa03d4ea35563e4bd%40%3Cdev.netbeans.apache.org%3Ez
> [2]
> https://lists.apache.org/thread.html/r2b567933d97569b15c2b28dea6dc3201a36b46184854506a88bb11c4%40%3Cdev.netbeans.apache.org%3E
> [3] https://lists.apache.org/list.html?dev@netbeans.apache.org:2021-01
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
> For additional commands, e-mail: dev-help@netbeans.apache.org
>
> For further information about the NetBeans mailing lists, visit:
> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists