Re: GSOC 2019 project: Improvements of Buildbot views (@ MacPorts)

2019-05-15 Thread Pierre Tardy
Hi Rajdeep,

Buildbot calculates the version number based on tags. You you have to
fetch all the tags so that the version is correctly calculated.

git fetch --tags --all

then you can re-do the make virtualenv

Regards
Pierre

Le mar. 14 mai 2019 à 11:39, Rajdeep Bharati
 a écrit :
>
> Thanks for the feedback!
>
> I had a doubt in buildbot:
> When I install buildbot from source (github), then why is it showing version 
> 2.1.1dev... installed? Shouldn't it show the latest version (2.3.0)? It is up 
> to date with the master branch.
>
> Thank you.
> Rajdeep
>
> On Fri, May 10, 2019 at 3:17 AM Mojca Miklavec  wrote:
>>
>> On Wed, 8 May 2019 at 21:00, Rajdeep Bharati wrote:
>> >
>> > Hi,
>> >
>> > I created some issues and found some which would be relevant for the 
>> > project (as discussed in the IRC meeting):
>> >
>> > https://github.com/buildbot/buildbot/issues/4760
>> > https://github.com/buildbot/buildbot/issues/4761
>> > https://github.com/buildbot/buildbot/issues/4709
>> > https://github.com/buildbot/buildbot/issues/3471
>> > https://github.com/buildbot/buildbot/issues/3470
>> > https://github.com/buildbot/buildbot/issues/4750
>>
>> Thank you.
>> (Nice to see that I'm not the first one requesting these :)
>>
>> I assume that we'll also want to add other items for the rest of the
>> summer to that list?
>>
>> > @Mojca Miklavec Yesterday you mentioned:
>> >>
>> >> 16:33:15  regarding the features of the default waterfall view, 
>> >> another problem I saw was that unless one of the builds was done 
>> >> recently, the builder doesn't even show in waterfall; for example, there 
>> >> is no texlive or pplib displayed on 
>> >> https://build.contextgarden.net/#/waterfall
>>
>> And later Pierre said this was a feature :)
>>
>> > However, I am unable to find this problem in 
>> > https://nine.buildbot.net/#/waterfall (it's showing the builders not 
>> > having recent builds). I'm not sure (it might have been configured in that 
>> > manner in nine.buildbot, and not present by default).
>> >
>> > I will try to replicate this issue in my local setup.
>>
>> If you look at
>> https://build.contextgarden.net/#/console
>> you can see that there is a huge number of "fake commits" from one
>> project (from periodic scheduler) after the last build of another
>> project was done. Maybe there's a setting which tells you how many
>> latest builds / commits to fetch when drawing the waterfall view. I
>> didn't try to investigate what limits the number of displayed
>> builders.
>>
>> Now: for me by far more important missing feature is in fact support
>> for filtering on both console and waterfall. Once filtering and
>> removal of old builders gets implemented, this particular issue will
>> be less important.
>>
>> Mojca


Re: GSOC 2019 project: Improvements of Buildbot views (@ MacPorts)

2019-05-15 Thread Rajdeep Bharati
Ok cool!

Thanks
Rajdeep

On Wed, May 15, 2019 at 1:29 PM Pierre Tardy  wrote:

> Hi Rajdeep,
>
> Buildbot calculates the version number based on tags. You you have to
> fetch all the tags so that the version is correctly calculated.
>
> git fetch --tags --all
>
> then you can re-do the make virtualenv
>
> Regards
> Pierre
>
> Le mar. 14 mai 2019 à 11:39, Rajdeep Bharati
>  a écrit :
> >
> > Thanks for the feedback!
> >
> > I had a doubt in buildbot:
> > When I install buildbot from source (github), then why is it showing
> version 2.1.1dev... installed? Shouldn't it show the latest version
> (2.3.0)? It is up to date with the master branch.
> >
> > Thank you.
> > Rajdeep
> >
> > On Fri, May 10, 2019 at 3:17 AM Mojca Miklavec 
> wrote:
> >>
> >> On Wed, 8 May 2019 at 21:00, Rajdeep Bharati wrote:
> >> >
> >> > Hi,
> >> >
> >> > I created some issues and found some which would be relevant for the
> project (as discussed in the IRC meeting):
> >> >
> >> > https://github.com/buildbot/buildbot/issues/4760
> >> > https://github.com/buildbot/buildbot/issues/4761
> >> > https://github.com/buildbot/buildbot/issues/4709
> >> > https://github.com/buildbot/buildbot/issues/3471
> >> > https://github.com/buildbot/buildbot/issues/3470
> >> > https://github.com/buildbot/buildbot/issues/4750
> >>
> >> Thank you.
> >> (Nice to see that I'm not the first one requesting these :)
> >>
> >> I assume that we'll also want to add other items for the rest of the
> >> summer to that list?
> >>
> >> > @Mojca Miklavec Yesterday you mentioned:
> >> >>
> >> >> 16:33:15  regarding the features of the default waterfall
> view, another problem I saw was that unless one of the builds was done
> recently, the builder doesn't even show in waterfall; for example, there is
> no texlive or pplib displayed on
> https://build.contextgarden.net/#/waterfall
> >>
> >> And later Pierre said this was a feature :)
> >>
> >> > However, I am unable to find this problem in
> https://nine.buildbot.net/#/waterfall (it's showing the builders not
> having recent builds). I'm not sure (it might have been configured in that
> manner in nine.buildbot, and not present by default).
> >> >
> >> > I will try to replicate this issue in my local setup.
> >>
> >> If you look at
> >> https://build.contextgarden.net/#/console
> >> you can see that there is a huge number of "fake commits" from one
> >> project (from periodic scheduler) after the last build of another
> >> project was done. Maybe there's a setting which tells you how many
> >> latest builds / commits to fetch when drawing the waterfall view. I
> >> didn't try to investigate what limits the number of displayed
> >> builders.
> >>
> >> Now: for me by far more important missing feature is in fact support
> >> for filtering on both console and waterfall. Once filtering and
> >> removal of old builders gets implemented, this particular issue will
> >> be less important.
> >>
> >> Mojca
>


Re: Speed up trace mode

2019-05-15 Thread Mihir Luthra
On Mon, May 13, 2019 at 2:19 AM Clemens Lang  wrote:

> Hi Mihir,
>
> In my experience, it will make it much simpler to review the entire code
> if you expand your repository with a README file which gives a (textual)
> rough overview of how the code works, possibly with a link to the paper
> you implemented. I'd also advise extensively commenting your code to
> explain why you do things the way to implemented them, but from a quick
> glance, it seems you already did that to a certain extent.
>

https://github.com/MihirLuthra/sharedMemory

I made a readme for the repository just as you suggested. Although if it
lacks to be understandable, I will update it accordingly as you say. I have
made the code extensively commented now and refactored it to a nice extent
I guess.

Also when reading code I suggest reading “sharedmemory.h” first and then
“sharedmemory.c” will make the comments more understandable.

Although this is the first time I coded multi-threaded program, and now I
realise that it really takes long to remove a small bug. But now I belief
the code is bug free and works completely correct.
Two extra things which I plan to do is reference counting for munmap(2)
after expanding and utilisation of wasted space in file(which will drop the
memory usage to almost half of what it currently is).
I have planned for them and probably will do these two in 2-3 days more.


>
> You can further abstract using a separate SharedMemoryManager object per
> thread if you use the pthread API. See for example
> __darwintrace_sock_set and sock_key in darwintrace.h and darwintrace.c.
>
> This should allow you to write a get_memory_manager() function that will
> automatically give you a thread-specific SharedMemoryManager object or
> create one if none exists for the current thread yet.
>
>
I saw the code in darwintrace.c.
Probably yes, I can call insert() and inside it I could call
get_memory_manager() which checks thread specific storage for it and it
makes the code pretty clean too.
Is that the way you mean?

Also, this reminded me of one more thing, if I implement search() in
open.c, access.c etc. I need not call __darwintrace_setup() right?
Like is there any other important thing darwintrace calls do which I need
to do separately after search() or can I straight away skip to the end
according to search() results?


>
> It's probably a good idea to move the path normalization to a separate
> function, yes. Note that the current does not correctly deal with
> directory symlinks. For example, trace mode does not recognize that
>
>   /opt/local/libexec/qt5/include/QtCore/QByteArray
>
> is a file installed by the qt5-qtbase port, because
>
>   /opt/local/libexec/qt5/include/QtCore
>
> is a symbolic link to
>
>   /opt/local/libexec/qt5/lib/QtCore.framework/Versions/5/Headers
>
> Once path lookup is fast, we could actually modify the normalization
> code to also check folder symbolic links inside the MacPorts prefix
> against the database of ports.
>
> This would require intertwining the path lookup with path normalization.
> Keep that in mind for later, but don't do it now.
>
> Got it. Will do once this shared memory functionality is complete.

>
>
>
> On Wed, May 08, 2019 at 04:24:28PM +0530, Mihir Luthra wrote:
> > I figured out the right ways to use my files in code. Can you explain
> > me why is it causing these errors.[1]
> >
> > Just before __darwintrace_is_in_sandbox_check returns path permission,
> > I captured it in a bool variable and inserted the normal path in the
> > shared file. Each time it prints insertion successfull, so probably I
> > feel the extra code I inserted didn’t’ crash, but if you can give me
> > some idea what possibly could have gone wrong I maybe able to debug
> > it.
> >
> > [1] https://pastebin.com/1t7a0GJq
>
> :info:extract sip_copy_proc:
> mkdir(/opt/macports-test/var/macports/sip-workaround): No such file or
> directory
>
> We use this directory to create a copy of system binaries that we
> wouldn't be able to inject into because they have the magic
> "unmodifiable system file" bit introduced by Apple in 10.13. Normally,
> typing 'sudo make install' in your macports development copy should have
> created this directory (see doc/base.mtree.in), but that doesn't seem to
> have happened for you. You should be able to create the directory
> manually and chmod it to 1777.
>

Got it. That error is gone now.

>
>
> > 2) When I install copies with multiple names, i mean I tried with
> > prefixes macports-test2, macports-test3 but just as like I sent you
> > the log file last time, it actually reads hardcoded “macports-test”
> > somewhere which I am unable to understand.
>
> You'll have to re-run ./configure with a different value for --prefix
> for each different installation. If you want to install into multiple
> places, it's probably wise to have multiple copies of the source code as
> well, otherwise you'll end up recompiling unchanged files very often
> during development.
>
>
> > 4) What lo