2015-04-18 10:19 GMT+02:00 Jean-Philippe André <[email protected]>:
> Hi,
>
> Good catch. I wondered a bit as well.
>
> On Sat, Apr 18, 2015 at 3:07 AM, Davide Andreoli <[email protected]>
> wrote:
>
> > 2015-04-17 3:33 GMT+02:00 Jean-Philippe ANDRÉ <[email protected]>:
> >
> > > jpeg pushed a commit to branch master.
> > >
> > >
> > >
> >
> http://git.enlightenment.org/core/enlightenment.git/commit/?id=b30892056e0a527545c8a022cd2b3cdef0ec85af
> > >
> > > commit b30892056e0a527545c8a022cd2b3cdef0ec85af
> > > Author: Jean-Philippe Andre <[email protected]>
> > > Date: Fri Apr 17 10:30:06 2015 +0900
> > >
> > > PackageKit: Fix crash on error
> > >
> > > Sometimes a "normal" error occurs and then the callback is
> > > called with no context data. Then crash boom sigsegv happens.
> > >
> >
> > Seems to me that you are just hiding a bug somewhere else.
> > How can this be called without ctxt?
> > You mentioned packagekit_get_updates() but in that function ctxt is
> > used before the call to _store_error()... it should crash on line 395
> then,
> > how this can happen? Can you explain better your issue?
> >
>
> Here's the code:
>
> pending = eldbus_proxy_call(proxy, "GetUpdates", null_cb, NULL, -1,
> "t", 1);
>
> The data is NULL and didn't realize ctxt was known at that point. Stupid
> me. Will fix.
> I've seen crashes happen quite a few times (maybe blame my proxy for
> network errors).
>
> Let's see if my next commit is the right one ;)
>
Yes, the new one is indeed the proper fix for the crash.
But note that GetUpdates do not use the network, it just request pkit
the list of upgradable package, without refreshing the pakages list,
should never fail as soon as pkit is up and running.
So now when the GetUpdate will fail again you should see an error
in the gadget popup. Please report that error, as probably you will
end up with an unusable gadget, and we will probably need to handle
your error in a better way.
Thanks
>
> Thanks again.
> Best regards,
>
>
> >
> >
> >
> > > ---
> > > src/modules/packagekit/e_mod_packagekit.c | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/src/modules/packagekit/e_mod_packagekit.c
> > > b/src/modules/packagekit/e_mod_packagekit.c
> > > index a2c0683..051d620 100644
> > > --- a/src/modules/packagekit/e_mod_packagekit.c
> > > +++ b/src/modules/packagekit/e_mod_packagekit.c
> > > @@ -220,6 +220,7 @@ static void
> > > _store_error(E_PackageKit_Module_Context *ctxt, const char *err)
> > > {
> > > ERR("PKGKIT: ERROR: %s", err);
> > > + if (!ctxt) return; // see packagekit_get_updates()
> > > if (ctxt->error)
> > > eina_stringshare_replace(&ctxt->error, err);
> > > else
> > >
> > > --
> > >
> > >
> > >
> >
> >
> ------------------------------------------------------------------------------
> > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
> > Develop your own process in accordance with the BPMN 2 standard
> > Learn Process modeling best practices with Bonita BPM through live
> > exercises
> > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual-
> > event?utm_
> > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
> > _______________________________________________
> > enlightenment-devel mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >
>
>
>
> --
> Jean-Philippe André
>
> ------------------------------------------------------------------------------
> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
> Develop your own process in accordance with the BPMN 2 standard
> Learn Process modeling best practices with Bonita BPM through live
> exercises
> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual-
> event?utm_
> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
> _______________________________________________
> enlightenment-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel