GNOME client SEGFAULT when reading frame from daemon
Issue generated from Tuleap's migration script. Originally submitted by: Stepan Salenikovich (ssalenik)
Ocasional SEGFAULT while reading frame. Usually around the time the renderer is either stopping or starting. The frame memory seems to not be valid anymore... (gdb) bt full \#0 0x00007ffff6f5fcb0 in \_\_sanitizer::internal\_memcpy(void\*, void const\*, unsigned long) (dest=dest@entry=0x7fffd8a31800, src=src@entry=0x7fffcea6c060, n=n@entry=2560) at ../../../../src/libsanitizer/sanitizer\_common/sanitizer\_libc.cc:52 i = 0 d = 0x7fffd8a31800 '\\276' ... s = 0x7fffcea6c060 \#1 0x00007ffff6f2ca93 in \_\_interceptor\_memcpy(void\*, void const\*, \_\_sanitizer::uptr) (to=0x7fffd8a31800, from=0x7fffcea6c060, size=2560) at ../../../../src/libsanitizer/asan/asan\_interceptors.cc:381 \#2 0x00007fffed53784e in \_cogl\_bitmap\_copy\_subregion (\_\_len=2560, \_\_src=0x7fffcea6c060, \_\_dest=) at /usr/include/x86\_64-linux-gnu/bits/string3.h:51 srcdata = 0x7fffcea6c060 dstdata = bpp = line = 0 succeeded = 0 \#3 0x00007fffed53784e in \_cogl\_bitmap\_copy\_subregion (src=src@entry=0x6210002381a0, dst=dst@entry=0x6210002384a0, src\_x=src\_x@entry=0, src\_y=src\_y@entry=0, dst\_x=dst\_x@entry=0, dst\_y=dst\_y@entry=0, width=640, height=480, error=0x7fffffffda10) at ./cogl-bitmap.c:154 srcdata = 0x7fffcea6c060 dstdata = bpp = line = 0 succeeded = 0 \#4 0x00007fffed53b1cd in \_cogl\_bitmap\_convert\_into\_bitmap (src\_bmp=src\_bmp@entry=0x6210002381a0, dst\_bmp=dst\_bmp@entry=0x6210002384a0, error=error@entry=0x7fffffffda10) at ./cogl-bitmap-conversion.c:402 src\_data = dst\_data = src = dst = tmp\_row = src\_rowstride = 2560 dst\_rowstride = 2560 y = width = 640 height = 480 src\_format = COGL\_PIXEL\_FORMAT\_BGRA\_8888 dst\_format = COGL\_PIXEL\_FORMAT\_BGRA\_8888\_PRE need\_premult = 1 \#5 0x00007fffed53d55c in \_cogl\_bitmap\_convert (src\_bmp=src\_bmp@entry=0x6210002381a0, dst\_format=COGL\_PIXEL\_FORMAT\_BGRA\_8888\_PRE, error=0x7fffffffda10) at ./cogl-bitmap-conversion.c:509 dst\_bmp = 0x6210002384a0 width = 640 height = ctx = \#6 0x00007fffed53d66f in \_cogl\_bitmap\_convert\_for\_upload (src\_bmp=src\_bmp@entry=0x6210002381a0, internal\_format=internal\_format@entry=COGL\_PIXEL\_FORMAT\_RGBA\_8888\_PRE, can\_convert\_in\_place=can\_convert\_in\_place@entry=0, error=error@entry=0x7fffffffda10) at ./cogl-bitmap-conversion.c:610 closest\_format = ctx = src\_format = \#7 0x00007fffed55f798 in \_cogl\_atlas\_texture\_convert\_bitmap\_for\_upload (bmp=bmp@entry=0x6210002381a0, internal\_format=COGL\_PIXEL\_FORMAT\_RGBA\_8888\_PRE, internal\_format@entry=COGL\_PIXEL\_FORMAT\_BGRA\_8888\_PRE, can\_convert\_in\_place=can\_convert\_in\_place@entry=0, error=error@entry=0x7fffffffda10, atlas\_tex=) at ./cogl-atlas-texture.c:545 upload\_bmp = override\_bmp = \#8 0x00007fffed55fbcc in \_cogl\_atlas\_texture\_allocate (loader=, loader=, error=0x7fffffffda10, atlas\_tex=0x60f0000a3---Type to continue, or q to quit--- c90) at ./cogl-atlas-texture.c:840 tex = 0x60f0000a3c90 bmp = 0x6210002381a0 can\_convert\_in\_place = 0 internal\_format = COGL\_PIXEL\_FORMAT\_BGRA\_8888\_PRE bmp\_format = COGL\_PIXEL\_FORMAT\_BGRA\_8888 width = 640 height = 480 upload\_bmp = atlas\_tex = 0x60f0000a3c90 loader = \#9 0x00007fffed55fbcc in \_cogl\_atlas\_texture\_allocate (tex=0x60f0000a3c90, error=0x7fffffffda10) at ./cogl-atlas-texture.c:897 atlas\_tex = 0x60f0000a3c90 loader = \#10 0x00007fffed557f9b in cogl\_texture\_allocate (texture=0x7fffd8a31800, texture@entry=0x60f0000a3c90, error=0x7fffcea6c060, error@entry=0x7fffffffda10) at ./cogl-texture.c:1398 \#11 0x00007fffed5711c6 in \_cogl\_texture\_new\_from\_bitmap (bitmap=bitmap@entry=0x6210002381a0, flags=flags@entry=COGL\_TEXTURE\_NONE, internal\_format=internal\_format@entry=COGL\_PIXEL\_FORMAT\_ANY, can\_convert\_in\_place=can\_convert\_in\_place@entry=0, error=error@entry=0x7fffffffda70) at ./deprecated/cogl-auto-texture.c:227 atlas\_tex = 0x60f0000a3c90 ctx = 0x61f000008c80 tex = internal\_error = 0x0 \#12 0x00007fffed5714c9 in cogl\_texture\_new\_from\_data (error=0x7fffffffda70, data=0x7fffcea6c060 , rowstride=2560, internal\_format=COGL\_PIXEL\_FORMAT\_ANY, format=COGL\_PIXEL\_FORMAT\_BGRA\_8888, flags=COGL\_TEXTURE\_NONE, height=480, width=0, ctx=) at ./deprecated/cogl-auto-texture.c:168 bmp = 0x6210002381a0 tex = ignore\_error = 0x0 tex = 0xa00 ctx = \#13 0x00007fffed5714c9 in cogl\_texture\_new\_from\_data (width=width@entry=640, height=height@entry=480, flags=flags@entry=COGL\_TEXTURE\_NONE, format=format@entry=COGL\_PIXEL\_FORMAT\_BGRA\_8888, internal\_format=internal\_format@entry=COGL\_PIXEL\_FORMAT\_ANY, rowstride=rowstride@entry=2560, data=0x7fffcea6c060 ) at ./deprecated/cogl-auto-texture.c:193 ignore\_error = 0x0 tex = 0xa00 ctx = \#14 0x00007ffff4af897b in clutter\_image\_set\_data (image=0x61900006f100 [ClutterImage], data=0x7fffcea6c060 , pixel\_format=COGL\_PIXEL\_FORMAT\_BGRA\_8888, width=640, height=480, row\_stride=2560, error=0x7fffffffdc00) at ./clutter-image.c:258 priv = 0x61900006f0f0 \_\_FUNCTION\_\_ = "clutter\_image\_set\_data" \#15 0x00000000004dc10c in clutter\_render\_image(VideoWidgetRenderer\*) (wg\_renderer=) at /home/ssalenikovich/projects/ring-client-gnome/src/video/video\_widget.cpp:587 frame\_data = ROW\_STRIDE = 2560 lock = renderer = BPP = 4 actor = 0x6290004c69f0 [ClutterActor] \_\_PRETTY\_FUNCTION\_\_ = "void clutter\_render\_image(VideoWidgetRenderer\*)" image\_new = 0x61900006f100 \#16 0x00000000004dddce in check\_frame\_queue(VideoWidget\*) (self=) at /home/ssalenikovich/projects/ring-client-gnome/src/video/video\_widget.cpp:612 \_\_PRETTY\_FUNCTION\_\_ = "gboolean check\_frame\_queue(VideoWidget\*)" ---Type to continue, or q to quit--- priv = 0x62500014b560 \#17 0x00007ffff53565e3 in g\_timeout\_dispatch (source=0x60b00035c6c0, callback=, user\_data=) at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:4545 timeout\_source = 0x60b00035c6c0 again = \#18 0x00007ffff5355b4d in g\_main\_context\_dispatch (context=0x60f00000e9b0) at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:3122 dispatch = 0x7ffff53565d0 prev\_source = 0x0 was\_in\_call = 0 user\_data = 0x62500014b6d0 callback = 0x4ddd1f cb\_funcs = cb\_data = 0x603000654040 need\_destroy = source = 0x60b00035c6c0 current = 0x615000008380 i = 0 \#19 0x00007ffff5355b4d in g\_main\_context\_dispatch (context=context@entry=0x60f00000e9b0) at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:3737 \#20 0x00007ffff5355f20 in g\_main\_context\_iterate (context=context@entry=0x60f00000e9b0, block=block@entry=1, dispatch=dispatch@entry=1, self=) at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:3808 max\_priority = 2147483647 timeout = 3 some\_ready = 1 nfds = allocated\_nfds = 4 fds = 0x6030004eb110 \#21 0x00007ffff5355fcc in g\_main\_context\_iteration (context=0x60f00000e9b0, context@entry=0x0, may\_block=may\_block@entry=1) at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:3869 retval = \#22 0x00007ffff591667c in g\_application\_run (application=0x62500000d140 [RingClient], argc=, argv=0x7fffffffdf98) at /build/buildd/glib2.0-2.44.1/./gio/gapplication.c:2308 arguments = 0x603000007480 status = 0 \_\_FUNCTION\_\_ = "g\_application\_run" \#23 0x00000000004b6b40 in main(int, char\*\*) (argc=2, argv=0x7fffffffdf98) at /home/ssalenikovich/projects/ring-client-gnome/src/main.cpp:45 client = 0x62500000d140 [RingClient] (gdb) (gdb) f 14 \#14 0x00007ffff4af897b in clutter\_image\_set\_data (image=0x61900006f100 [ClutterImage], data=0x7fffcea6c060 , pixel\_format=COGL\_PIXEL\_FORMAT\_BGRA\_8888, width=640, height=480, row\_stride=2560, error=0x7fffffffdc00) at ./clutter-image.c:258 258 ./clutter-image.c: No such file or directory.