On 6 December 2016 at 10:43, Gustavo Sverzut Barbieri <[email protected]> wrote:
> On Mon, Dec 5, 2016 at 9:49 PM, Carsten Haitzler <[email protected]> > wrote: > > On Mon, 5 Dec 2016 01:29:19 -0200 Gustavo Sverzut Barbieri < > [email protected]> > > said: > > > >> improved but not ideal. > >> > >> what if we hint based on current x object domain, if they differ you > >> can say that it's from a different thread... also hint on how to fix, > >> maybe a wiki page that we show the link there. > > > > that isn't actually better. 99% of the time it's actually an invalid > object > > entirely. not just accessing from another thread. you should add that > question > > there too. also ask if the object has been deleted or unreferenced to 0 > yet? > > also ask if the object is meant to be accessible but > > ecore_thread_main_loop_begin() (and end() to end the segment) have not > been > > called yet? > Nope because we haven't started resolving the object ID yet, only its domain. Which is why I kept the message simpler than the generic one. In fact I think the generic message gives too much information that has no value for actual users, without explaining why the object id is wrong (is it not an object? has it maybe been invalidated? etc...) > my point is - you can ask questions all day long and make this error > huge. the > > object id is invalid where it is being accessed. WHY could be many > reasons but > > you've been given the breakdown of the components of the ID and current > domains > > whcih canhelp diagnose thread issues if they are there. > > with new EO_LIFECYCLE_DEBUG you have these information, you can know > if the object was created, deleted and so on... then you could help > the user, not flood him with data. > > See the new envvar + libeo_dbg.so (eo_debug), then you get valgrind > like information: > > object was created as eoid, obj (real ptr), class... [x seconds ago] > <backtrace of creation> > object was deleted as eoid, obj (real ptr), class... [x seconds ago] > <backtrace of deletion> > object is already dead > > or "object is still alive". > > in the second case, you can print "but it's in a different domain". -- Jean-Philippe André ------------------------------------------------------------------------------ Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today.http://sdm.link/xeonphi _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
