On Sat, 17 Sep 2011 17:59:31 +0200 wagner frederic <frederic.wag...@imag.fr>
said:

cedric found a race condition in eina_file. should be fixed now in svn. :)

> hi everyone,
> 
> i'm moving on on my little pdf viewer and I have a segfault bound to 
> the photocam widget.
> 
> the code is still compiled against latest svn trunk.
> 
> reproducing the bug can be done this way:
> 
> source code: 
> http://www-id.imag.fr/Laboratoire/Membres/Wagner_Frederic/main.c
> two pdf files to open:
> http://www-id.imag.fr/Laboratoire/Membres/Wagner_Frederic/small.pdf
> http://www-id.imag.fr/Laboratoire/Membres/Wagner_Frederic/big.pdf
> 
> as a dependency you need poppler-utils (pdfinfo and pdftoppm)
> 
> two scenarios:
> 1) open small.pdf
>       zoom in
>       open big.pdf
> 
>       -> you can only see a subpart of big.pdf with size equal
>       to size of small.pdf
> 
> 2) open big.pdf
>       zoom out
>       open small.pdf
> 
>       -> segfault
> 
> here is gdb output:
> 
> Program received signal SIGSEGV, Segmentation fault.
> evas_image_load_file_data_jpeg_internal (ie=0x87b1d0,
> map=0x7ffff194c000, 
>     size=36281, error=0x7fffffffdc6c) at evas_image_load_jpeg.c:658
>       658                                      *ptr2 = ARGB_JOIN(0xff,
>       ptr[0], ptr[1], ptr[2]);
> 
> with the following stack trace:
> 
> #0  evas_image_load_file_data_jpeg_internal (ie=0x87b1d0, 
>     map=0x7ffff194c000, size=36281, error=0x7fffffffdc6c)
>     at evas_image_load_jpeg.c:658
> #1  0x00007ffff14fbf1e in evas_image_load_file_data_jpeg (ie=0x87b1d0, 
>     file=<optimized out>, key=<optimized out>, error=0x7fffffffdc6c)
>     at evas_image_load_jpeg.c:903
> #2  0x00007ffff784f0fb in evas_common_load_rgba_image_data_from_file (
>     ie=0x87b1d0) at evas_image_load.c:338
> #3  0x00007ffff7827e87 in evas_cache_image_load_data (im=0x87b1d0)
>     at evas_cache_image.c:1197
> #4  0x00007ffff78515ab in evas_common_rgba_image_scalecache_do (
>     ie=0x87b1d0, dst=0x7fffe8006750, dc=0x63f250, smooth=<optimized out>, 
>     src_region_x=0, src_region_y=0, src_region_w=512, src_region_h=512, 
>     dst_region_x=874, dst_region_y=213, dst_region_w=184, dst_region_h=184)
>     at evas_image_scalecache.c:799
> #5  0x00007ffff1f887ad in eng_image_draw (data=<optimized out>, 
>     context=0x63f250, surface=0x7fffe8006750, image=0x87b1d0, src_x=0, 
>     src_y=0, src_w=512, src_h=512, dst_x=874, dst_y=213, dst_w=184, 
>     dst_h=184, smooth=0) at evas_engine.c:544
> #6  0x00007ffff77e2bab in evas_object_image_render (obj=0x7ffff170a150, 
>     output=0x62f4c0, context=0x63f250, surface=0x7fffe8006750, x=0, y=0)
>     at evas_object_image.c:2898
> #7  0x00007ffff781c508 in evas_render_mapped (e=0x632fd0, 
>     obj=0x7ffff170a150, context=0x63f250, surface=0x7fffe8006750, off_x=0, 
>     off_y=0, mapped=0, ecx=0, ecy=0, ecw=1920, ech=1118)
>     at evas_render.c:1062
> #8  0x00007ffff781efb6 in evas_render_updates_internal (e=0x632fd0, 
>     make_updates=1 '\001', do_draw=1 '\001') at evas_render.c:1378
> #9  0x00007ffff6717054 in _ecore_evas_x_render (ee=0x633b30)
>     at ecore_evas_x.c:397
> #10 0x00007ffff67143c1 in _ecore_evas_idle_enter (data=<optimized out>)
>     at ecore_evas.c:51
> #11 0x00007ffff693065e in _ecore_call_task_cb (data=<optimized out>, 
>     func=<optimized out>) at ecore_private.h:246
> #12 _ecore_idle_enterer_call () at ecore_idle_enterer.c:165
> #13 0x00007ffff6931cfb in _ecore_main_loop_iterate_internal (once_only=0)
>     at ecore_main.c:1718
> #14 0x00007ffff693233f in ecore_main_loop_begin () at ecore_main.c:861
> #15 0x00000000004022bf in elm_main (argc=<optimized out>, 
>     argv=<optimized out>) at main.c:288
> #16 0x00007ffff744eead in __libc_start_main ()
>    from /lib/x86_64-linux-gnu/libc.so.6
> #17 0x0000000000401759 in _start ()
> 
> I also tried a quick run of valgrind but he seems to complain about other
> kind of problems.
> 
> am I doing something wrong here ? 
> I tried to invalidate the caches with elm_all_flush but it didn't 
> change anything.
> 
> Fred
> -- 
> Frederic WAGNER  
> Assistant professor ENSIMAG - INPG
> Laboratoire d'Informatique de Grenoble - MOAIS team
> http://www-id.imag.fr/Laboratoire/Membres/Wagner_Frederic/perso.html
> 
> ------------------------------------------------------------------------------
> BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
> http://p.sf.net/sfu/rim-devcon-copy2
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    ras...@rasterman.com


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to