On 06/08/15 23:27, Andrew Williams wrote:
> Hi guys,
>
> Thanks for the help - still rather confuse though - no more info as far
> as I can see...
>
> (gdb) p eo_data_scope_get(editor->entry, elm_code_widget_class_get())
> $3 = (void *) 0x0
> (gdb) p eo_class_name_get(eo_class_get(editor->entry))
> $4 = 0x0
> (gdb) p eo_class_name_get(editor->entry)
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007fffec54c48e in vfprintf () from /usr/lib/libc.so.6
> The program being debugged was signaled while in a function called from GDB.
> GDB remains in the frame where the signal was received.
> To change this behavior use "set unwindonsignal on".
> Evaluation of the expression containing the function
> (eo_class_name_get) will be abandoned.
> When the function is done executing, GDB will silently stop.
>
> Still confused, switching to valgrind to try and figure something out.

For all I remember, we test validity for both cases, so it's weird it 
would crash. The pointer definitely seems wrong, but I wonder how it can 
be so corrupt that it crashes. Looking forward to your report.

--
Tom.

>
> Cheers,
> Andy
>
> On Wed, 22 Jul 2015 at 08:50 Daniel Zaoui <daniel.za...@samsung.com
> <mailto:daniel.za...@samsung.com>> wrote:
>
>     On Wed, 22 Jul 2015 08:31:35 +0100
>     Tom Hacohen <t...@osg.samsung.com <mailto:t...@osg.samsung.com>> wrote:
>
>     According to git, Jeremy did that two years ago.
>     Personally, I like it this way as it is easier for debugging. And
>     well, I never needed to get the name of a class, but always of an
>     object.
>
>      > When was that changed? Isn't it kinda wrong to do it now that both Eo
>      > classes and objects are "Eo *"? Because when you invoke this on
>      > classes you want to get the class class, how do you do the detection?
>      > Feels a bit inconsistent to me.
>      >
>      > --
>      > Tom.
>      >
>      >
>      > On 22/07/15 08:28, Daniel Zaoui wrote:
>      > > On Wed, 22 Jul 2015 08:21:02 +0100
>      > > Tom Hacohen <t...@osg.samsung.com <mailto:t...@osg.samsung.com>>
>     wrote:
>      > >
>      > > Hey boy, you don't need anymore eo_class_get in the middle! ;-)
>      > >
>      > >> p eo_class_name_get(eo_class_get(editory->entry))
>      > >>
>      > >> As Daniel said though, this shouldn't and can't happen. The only
>      > >> reason why this function would return NULL is an error. It
>     works by
>      > >> adding an offset to the data pointer, so as long as it passes
>      > >> (basic) validation, it should at least return something.
>      > >>
>      > >> --
>      > >> Tom.
>      > >>
>      > >> On 22/07/15 07:31, Daniel Zaoui wrote:
>      > >>> Hi,
>      > >>>
>      > >>> I never saw this kind of behavior, except if your object has been
>      > >>> freed (should see error prints) or your pointer is NULL or
>     even if
>      > >>> your object is not of the correct type.
>      > >>>
>      > >>> Do you see any Eo error messages? Can you "p
>      > >>> eo_class_name_get(editor->entry)"? Can you enter the function and
>      > >>> give more info on what happens inside? Maybe some thread deletes
>      > >>> the object when another tries to access?
>      > >>>
>      > >>> JackDanielZ
>      > >>>
>      > >>> On Tue, 21 Jul 2015 23:19:07 +0000
>      > >>> Andrew Williams <a...@andywilliams.me
>     <mailto:a...@andywilliams.me>> wrote:
>      > >>>
>      > >>>> Hi,
>      > >>>>
>      > >>>> I'm trying to trace down a really annoying bug but it's proving
>      > >>>> illusive. I have some Eo objects (the Elm_Code_Widget) that
>      > >>>> stores a lot of information in it's associated data object. This
>      > >>>> works most of the time but on some occasions - potentially
>     in the
>      > >>>> vicinity of different thread access, but not reliably
>      > >>>> reproducible
>      > >>>> - the data seems to be NULL.
>      > >>>>
>      > >>>> p eo_data_scope_get(editor->entry, elm_code_widget_class_get())
>      > >>>> $5 = (void *) 0x0
>      > >>>> (this call normally returns a pointer to an Elm_Code_Widget_Data
>      > >>>> struct)
>      > >>>>
>      > >>>> Can anyone suggest why this could happen - what sort of error is
>      > >>>> it likely I have created that could cause this behaviour?
>      > >>>> It's driving me crazy as for the most part it works fine but
>     some
>      > >>>> combination of time and/or memory setup and/or threading
>     seems to
>      > >>>> trip it up.
>      > >>>>
>      > >>>> Many thanks for any suggestions,
>      > >>>> Andrew
>      > >>>>
>     
> ------------------------------------------------------------------------------
>      > >>>> Don't Limit Your Business. Reach for the Cloud.
>      > >>>> GigeNET's Cloud Solutions provide you with the tools and support
>      > >>>> that you need to offload your IT needs and focus on growing your
>      > >>>> business. Configured For All Businesses. Start Your Cloud Today.
>      > >>>> https://www.gigenetcloud.com/
>      > >>>> _______________________________________________
>      > >>>> enlightenment-devel mailing list
>      > >>>> enlightenment-devel@lists.sourceforge.net
>     <mailto:enlightenment-devel@lists.sourceforge.net>
>      > >>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>      > >>>
>      > >>>
>      > >>>
>     
> ------------------------------------------------------------------------------
>      > >>> Don't Limit Your Business. Reach for the Cloud.
>      > >>> GigeNET's Cloud Solutions provide you with the tools and support
>      > >>> that you need to offload your IT needs and focus on growing your
>      > >>> business. Configured For All Businesses. Start Your Cloud Today.
>      > >>> https://www.gigenetcloud.com/
>      > >>> _______________________________________________
>      > >>> enlightenment-devel mailing list
>      > >>> enlightenment-devel@lists.sourceforge.net
>     <mailto:enlightenment-devel@lists.sourceforge.net>
>      > >>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>      > >>>
>      > >>
>      > >>
>      > >>
>     
> ------------------------------------------------------------------------------
>      > >> Don't Limit Your Business. Reach for the Cloud.
>      > >> GigeNET's Cloud Solutions provide you with the tools and support
>      > >> that you need to offload your IT needs and focus on growing your
>      > >> business. Configured For All Businesses. Start Your Cloud Today.
>      > >> https://www.gigenetcloud.com/
>      > >> _______________________________________________
>      > >> enlightenment-devel mailing list
>      > >> enlightenment-devel@lists.sourceforge.net
>     <mailto:enlightenment-devel@lists.sourceforge.net>
>      > >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>      > >
>      >
>
>
>     
> ------------------------------------------------------------------------------
>     Don't Limit Your Business. Reach for the Cloud.
>     GigeNET's Cloud Solutions provide you with the tools and support that
>     you need to offload your IT needs and focus on growing your business.
>     Configured For All Businesses. Start Your Cloud Today.
>     https://www.gigenetcloud.com/
>     _______________________________________________
>     enlightenment-devel mailing list
>     enlightenment-devel@lists.sourceforge.net
>     <mailto:enlightenment-devel@lists.sourceforge.net>
>     https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
*

------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to