We provide stable releases for people who want a stable runtime experience.
Running from a git build is for people who want to help with the
development process by reporting bugs and testing new features. This seems
straightforward to me, and I'm not sure how or why there could be any
confusion between these types of builds. Based on your commit and your
reply, it seems to me like you should be using a stable release since you
are not currently interested in reporting bugs, only in making sure they do
not impact your runtime experience.

As for eina_log, this does not provide anywhere near the same level of
information as gdb output and will not be of any use in fixing such a bug.
Your suggestion of creating infrastructure to do logging and upload the
info is interesting, but in the end this is server-dependent and at this
time I have no interest in adding more requirements on servers that I've
been unable to access all day. At worst, the current system is familiar
enough that IRC users (who are likely the majority of git users) can ping
me with a paste of the crashdump.

Overall, your mail takes the position that a git build should always be
production-ready. If that's the case, why do we bother with stable releases
at all? Obviously this is an exaggeration, but I think it's more worthwhile
to target bugs as aggressively as possible in development builds so that
the releases can have fewer issues. Aborting on critical errors on
development builds is intended to be annoying because the alternative is
that bug reports are not filed. Your mail is a perfect example of this, as
you continue to justify your response by raising more issues which have
never been reported on the bug tracker. The only reason that I am aware of
the render size mismatch at all is because of your initial commit, which
you made as a direct result of being annoyed by the abort.

On Wed, Jun 21, 2017 at 8:21 PM Carsten Haitzler <[email protected]>
wrote:

> On Wed, 21 Jun 2017 19:40:05 +0000 Mike Blumenkrantz
> <[email protected]> said:
>
> > Hi,
> >
> > I'd be interested in how you managed to hit this critical error since it
> > should be impossible: there are a large number of checks across multiple
> > layers which validate any resize attempt and restrict the geometry based
> on
> > current renderable size. The basis of a critical error in Enlightenment
> is
> > any issue which would be classified as "High" or "Showstopper" when a
> > ticket is filed, and any render-related issues are immediately classified
> > as "Showstopper". The reason why development builds of Enlightenment
> abort
> > on critical errors is to ensure that the backtrace remains available when
> > this issue is reached and to more aggressively encourage the filing of
> > tickets.
>
> resizing the enventor window. resized a few steps (like 0.2 sec with of
> drags)
> and book. e aborts. restart - resize it again for a bit... 2 sec later ..
> bam e
> aborts. ... rinse and repeat. again and again. thus why i consider this
> highly
> unsocial to go aborting on something so simple. i was totally unable to
> resize
> enventor to a sensible size because of this.
>
> you don't SEE the error... it's some transient along-the way thing.
>
> x11. nvidia drivers. sandybridge i7-2600. nvidia 970gtx. need probably
> another
> 20 or 30 windows around at the time so things get a bit more sluggish. the
> slower the machine the easier it is to trigger (triggable on gtx970,
> i7-4790
> but takes much more time).
>
> as for bt's ... eina_log happily provides them for all errors... :) it at
> least
> doesn't  hang my entire desktop with a white box of death.
>
> > By changing this to a regular error, it is no longer possible for me to
> > gather crucial information about the issue from users of development
> > builds, and the underlying bug that you have triggered will remain
> unsolved
> > and propagate to release builds. This is a codepath which is reached on
> > every resize operation for every window on both X11 and Wayland, so in
> the
> > case that the error occurs under any other circumstance (although I have
> > never triggered it in the ~4 years that I have been running this exact
> > piece of code), it will be extremely difficult for me to resolve any
> issue
> > which I am not able to trigger myself.
>
> repeated above.
>
> > Based on the above, I would suggest the following course of action to
> help
> > me resolve the issue:
> > 1) Revert this commit
> > 2) File a ticket using the crashdump which this error provides
>
> and live with e crashing every time i resize a window? how many other
> people
> get this and just go aaargh! e is unstable!". here is how i see issues like
> this:
>
> if it's an issue that directly impacts usability doing something common
> (this
> does and happens again and again doing the above) there will be people
> affected
> and fixing it to not happen is a major priority to get into git ASAP.
> tickets
> or not. when i looked ... it just didn't warrant this level of "just crash
> -
> users love that". it's not critical at all. it's an effectively invisible
> visual glitch (you explicitly just checked pixmap and window size match).
> visually i never can see it. it fixes itself up before the resize is done.
> it
> does not WARRANT a critical. why the pixmap doesnt match the window size is
> probably a really intricate syncronisation issue somewhere that is going to
> take a llooooooooong time to hunt and in this case just "doesn't matter".
> it
> could even be driver-side (as things get more sluggish on the server side
> and
> buffer allocations for resized pixmaps may take a lot longer etc.).
>
> FYI despite this check here i SOMETIMES fine one of my terminology windows
> being "blurry" (pixmap != window size) at the END of a resize with
> everything
> stopped/stable... and this CRI doesn't catch it... :) it's very rare and i
> have
> no reliable way to reproduce it.
>
> here's a suggestion:
>
> actually gather the bt's with no interruption like eina_log does... (maybe
> add
> an eina api to do this?) then process them into something readable with
> eina_btlog and have e at some time later offer to upload these (like
> shot.php
> screenshots work) as a report? you'd get a hell of a lot more reports on
> issues AND users would not complain because you automated the reporting
> process
> to "hit ok". don't pop up a dialog every time it happens... just log it.
> flag... and maybe 15 mins later when idle, report "i have 4 issues logged.
> can
> i report them? here they are ok/cancel"...
>
> > If the issue is preventing you from using your system or you lack the
> time
> > to file a ticket, there are still options available which do not impact
> my
> > ability to solve issues of this type:
>
> pretty showstopper when i can't resize a window... i think you've raised an
> issue far beyond it's importance. the point of e is to be stable day to
> day.
> this particular test here i just can't see warrants forcing a crash.
>
> > * Locally disable the error
> > * Use a stable release
>
> in this case the bt isn't going to help you other than "pixmap and window
> don't
> match". you won't know why... why may even have nothing to do with our
> code at
> all... :) my view is that this doesn't warrant crashing all of e to get a
> bt
> that isn't helping.
>
> > On Tue, Jun 20, 2017 at 10:32 PM Carsten Haitzler <[email protected]>
> > wrote:
> >
> > > raster pushed a commit to branch master.
> > >
> > >
> > >
> http://git.enlightenment.org/core/enlightenment.git/commit/?id=e288852393d27cadd58f0862758d21bbe6cf24ab
> > >
> > > commit e288852393d27cadd58f0862758d21bbe6cf24ab
> > > Author: Carsten Haitzler (Rasterman) <[email protected]>
> > > Date:   Wed Jun 21 11:31:24 2017 +0900
> > >
> > >     e comp object - stop being cricical where pixmap and win size dont
> > > match
> > >
> > >     now i resize some windows and am in a white box of death each
> time...
> > >     this is really unfriendly... so downgrade to an err ad this is a
> > >     recoverable error.
> > > ---
> > >  src/bin/e_comp_object.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
> > > index c02069b28..c81fad531 100644
> > > --- a/src/bin/e_comp_object.c
> > > +++ b/src/bin/e_comp_object.c
> > > @@ -2550,7 +2550,7 @@ _e_comp_smart_resize(Evas_Object *obj, int w,
> int h)
> > >                    //evas_object_size_hint_min_set(cw->obj, pw, ph);
> > >                 //}
> > >               if ((ww != pw) || (hh != ph))
> > > -               CRI("CW RSZ: %dx%d || PX: %dx%d", ww, hh, pw, ph);
> > > +               ERR("CW RSZ: %dx%d || PX: %dx%d", ww, hh, pw, ph);
> > >            }
> > >          evas_object_resize(cw->effect_obj, w, h);
> > >          if (cw->zoomobj) e_zoomap_child_resize(cw->zoomobj, pw, ph);
> > >
> > > --
> > >
> > >
> > >
> >
> ------------------------------------------------------------------------------
> > Check out the vibrant tech community on one of the world's most
> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> > _______________________________________________
> > enlightenment-devel mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >
>
>
> --
> ------------- Codito, ergo sum - "I code, therefore I am" --------------
> The Rasterman (Carsten Haitzler)    [email protected]
>
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to