← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1750619] Re: Static CompRegion destruction causes memory corruption at compiz exit

 

This bug was fixed in the package compiz -
1:0.9.12.3+16.04.20180221-0ubuntu1

---------------
compiz (1:0.9.12.3+16.04.20180221-0ubuntu1) xenial; urgency=medium

  * Region: define static const functions returning infinite and empty
    regions (LP: #1750619)

 -- Marco Trevisan (Treviño) <mail@xxxxxxxxx>  Wed, 21 Feb 2018 17:42:11
+0000

** Changed in: compiz (Ubuntu Xenial)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1750619

Title:
  Static CompRegion destruction causes memory corruption at compiz exit

Status in compiz package in Ubuntu:
  Fix Released
Status in compiz source package in Xenial:
  Fix Released

Bug description:
  [ Impact ]

  Unity could crash when closed with some memory corruption error

  [ Test case ]

  Run unity, loging in and out multiple times, you should get no crash
  report or /var/lib/crash file mentioning compiz.

  [ Regression potential ]

  Really none, the change could only cause compilation issues, not
  really anything for the user changed.

  
  ---------

  
  Valgrind is a good friend here...

  ==30842== Memcheck, a memory error detector
  ==30842== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
  ==30842== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
  ==30842== Command: ./test-decorations-input-mixer
  ==30842==
  Gtk-Message: 12:17:20.414: Failed to load module "canberra-gtk-module"
  Gtk-Message: 12:17:20.483: Failed to load module "unity-gtk-module"
  Gtk-Message: 12:17:22.584: Failed to load module "canberra-gtk-module"
  Gtk-Message: 12:17:22.699: Failed to load module "canberra-gtk-module"
  m_GLCtx = glXCreateContext(m_X11Display, m_X11VisualInfo, 0, GL_TRUE);
  WARN  2018-02-20 12:17:37 xim.controller XIMController.cpp:103 IBus natively supported.
  Cleaning up window 178257923
  curThreadState = 0x15b427e0
  DispatchCurrentUnref, currents are 1
  DEstroying context 0x1f2687e0
  m_GLCtx = NULL;
  ==30842== Invalid read of size 8
  ==30842==    at 0x68EA1E4: XDestroyRegion (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
  ==30842==    by 0x4130A16: CompRegion::~CompRegion() (region.cpp:113)
  ==30842==    by 0x8A8F239: __cxa_finalize (cxa_finalize.c:56)
  ==30842==    by 0x76D6B02: ??? (in /tmp/NUX_INSTALL/lib/libcompiz_core.so.0.9.13.1)
  ==30842==    by 0x4011219: _dl_fini (dl-fini.c:235)
  ==30842==    by 0x8A8EEBF: __run_exit_handlers (exit.c:83)
  ==30842==    by 0x8A8EF19: exit (exit.c:105)
  ==30842==    by 0x8A741C7: (below main) (libc-start.c:342)
  ==30842==  Address 0x15943e10 is 16 bytes inside a block of size 32 free'd
  ==30842==    at 0x4C30D3B: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==30842==    by 0x68EA1F4: XDestroyRegion (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
  ==30842==    by 0x4130A16: CompRegion::~CompRegion() (region.cpp:113)
  ==30842==    by 0x8A8F239: __cxa_finalize (cxa_finalize.c:56)
  ==30842==    by 0x40E5432: ??? (in /tmp/NUX_INSTALL/lib/compiz/libopengl.so)
  ==30842==    by 0x4011219: _dl_fini (dl-fini.c:235)
  ==30842==    by 0x8A8EEBF: __run_exit_handlers (exit.c:83)
  ==30842==    by 0x8A8EF19: exit (exit.c:105)
  ==30842==    by 0x8A741C7: (below main) (libc-start.c:342)
  ==30842==  Block was alloc'd at
  ==30842==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==30842==    by 0x68EA03A: XCreateRegion (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
  ==30842==    by 0x4130A2A: CompRegion::init() (region.cpp:120)
  ==30842==    by 0x41307CB: CompRegion::CompRegion() (region.cpp:56)
  ==30842==    by 0x4131E29: __static_initialization_and_destruction_0(int, int) (region.cpp:43)
  ==30842==    by 0x4131E73: _GLOBAL__sub_I_region.cpp (region.cpp:441)
  ==30842==    by 0x4010AD9: call_init.part.0 (dl-init.c:72)
  ==30842==    by 0x4010BEA: call_init (dl-init.c:30)
  ==30842==    by 0x4010BEA: _dl_init (dl-init.c:120)
  ==30842==    by 0x4000ED9: ??? (in /lib/x86_64-linux-gnu/ld-2.26.so)
  ==30842==
  ==30842== Invalid free() / delete / delete[] / realloc()
  ==30842==    at 0x4C30D3B: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==30842==    by 0x68EA1EC: XDestroyRegion (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
  ==30842==    by 0x4130A16: CompRegion::~CompRegion() (region.cpp:113)
  ==30842==    by 0x8A8F239: __cxa_finalize (cxa_finalize.c:56)
  ==30842==    by 0x76D6B02: ??? (in /tmp/NUX_INSTALL/lib/libcompiz_core.so.0.9.13.1)
  ==30842==    by 0x4011219: _dl_fini (dl-fini.c:235)
  ==30842==    by 0x8A8EEBF: __run_exit_handlers (exit.c:83)
  ==30842==    by 0x8A8EF19: exit (exit.c:105)
  ==30842==    by 0x8A741C7: (below main) (libc-start.c:342)
  ==30842==  Address 0x15943e60 is 0 bytes inside a block of size 8 free'd
  ==30842==    at 0x4C30D3B: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==30842==    by 0x68EA1EC: XDestroyRegion (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
  ==30842==    by 0x4130A16: CompRegion::~CompRegion() (region.cpp:113)
  ==30842==    by 0x8A8F239: __cxa_finalize (cxa_finalize.c:56)
  ==30842==    by 0x40E5432: ??? (in /tmp/NUX_INSTALL/lib/compiz/libopengl.so)
  ==30842==    by 0x4011219: _dl_fini (dl-fini.c:235)
  ==30842==    by 0x8A8EEBF: __run_exit_handlers (exit.c:83)
  ==30842==    by 0x8A8EF19: exit (exit.c:105)
  ==30842==    by 0x8A741C7: (below main) (libc-start.c:342)
  ==30842==  Block was alloc'd at
  ==30842==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==30842==    by 0x68EA04C: XCreateRegion (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
  ==30842==    by 0x4130A2A: CompRegion::init() (region.cpp:120)
  ==30842==    by 0x41307CB: CompRegion::CompRegion() (region.cpp:56)
  ==30842==    by 0x4131E29: __static_initialization_and_destruction_0(int, int) (region.cpp:43)
  ==30842==    by 0x4131E73: _GLOBAL__sub_I_region.cpp (region.cpp:441)
  ==30842==    by 0x4010AD9: call_init.part.0 (dl-init.c:72)
  ==30842==    by 0x4010BEA: call_init (dl-init.c:30)
  ==30842==    by 0x4010BEA: _dl_init (dl-init.c:120)
  ==30842==    by 0x4000ED9: ??? (in /lib/x86_64-linux-gnu/ld-2.26.so)
  ==30842==
  ==30842== Invalid free() / delete / delete[] / realloc()
  ==30842==    at 0x4C30D3B: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==30842==    by 0x68EA1F4: XDestroyRegion (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
  ==30842==    by 0x4130A16: CompRegion::~CompRegion() (region.cpp:113)
  ==30842==    by 0x8A8F239: __cxa_finalize (cxa_finalize.c:56)
  ==30842==    by 0x76D6B02: ??? (in /tmp/NUX_INSTALL/lib/libcompiz_core.so.0.9.13.1)
  ==30842==    by 0x4011219: _dl_fini (dl-fini.c:235)
  ==30842==    by 0x8A8EEBF: __run_exit_handlers (exit.c:83)
  ==30842==    by 0x8A8EF19: exit (exit.c:105)
  ==30842==    by 0x8A741C7: (below main) (libc-start.c:342)
  ==30842==  Address 0x15943e00 is 0 bytes inside a block of size 32 free'd
  ==30842==    at 0x4C30D3B: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==30842==    by 0x68EA1F4: XDestroyRegion (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
  ==30842==    by 0x4130A16: CompRegion::~CompRegion() (region.cpp:113)
  ==30842==    by 0x8A8F239: __cxa_finalize (cxa_finalize.c:56)
  ==30842==    by 0x40E5432: ??? (in /tmp/NUX_INSTALL/lib/compiz/libopengl.so)
  ==30842==    by 0x4011219: _dl_fini (dl-fini.c:235)
  ==30842==    by 0x8A8EEBF: __run_exit_handlers (exit.c:83)
  ==30842==    by 0x8A8EF19: exit (exit.c:105)
  ==30842==    by 0x8A741C7: (below main) (libc-start.c:342)
  ==30842==  Block was alloc'd at
  ==30842==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==30842==    by 0x68EA03A: XCreateRegion (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
  ==30842==    by 0x4130A2A: CompRegion::init() (region.cpp:120)
  ==30842==    by 0x41307CB: CompRegion::CompRegion() (region.cpp:56)
  ==30842==    by 0x4131E29: __static_initialization_and_destruction_0(int, int) (region.cpp:43)
  ==30842==    by 0x4131E73: _GLOBAL__sub_I_region.cpp (region.cpp:441)
  ==30842==    by 0x4010AD9: call_init.part.0 (dl-init.c:72)
  ==30842==    by 0x4010BEA: call_init (dl-init.c:30)
  ==30842==    by 0x4010BEA: _dl_init (dl-init.c:120)
  ==30842==    by 0x4000ED9: ??? (in /lib/x86_64-linux-gnu/ld-2.26.so)
  ==30842==
  current theadd at destroy table 0
  ==30842==
  ==30842== HEAP SUMMARY:
  ==30842==     in use at exit: 1,443,511 bytes in 16,537 blocks
  ==30842==   total heap usage: 190,069 allocs, 173,536 frees, 62,998,214 bytes allocated
  ==30842==
  ==30842== LEAK SUMMARY:
  ==30842==    definitely lost: 6,255 bytes in 263 blocks
  ==30842==    indirectly lost: 898 bytes in 45 blocks
  ==30842==      possibly lost: 3,794 bytes in 28 blocks
  ==30842==    still reachable: 1,362,788 bytes in 15,635 blocks
  ==30842==                       of which reachable via heuristic:
  ==30842==                         length64           : 3,176 bytes in 59 blocks
  ==30842==                         newarray           : 2,064 bytes in 49 blocks
  ==30842==         suppressed: 0 bytes in 0 blocks
  ==30842== Rerun with --leak-check=full to see details of leaked memory
  ==30842==
  ==30842== For counts of detected and suppressed errors, rerun with: -v
  ==30842== ERROR SUMMARY: 6 errors from 3 contexts (suppressed: 0 from 0)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/1750619/+subscriptions