mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
LVM2 mirror repository
https://sourceware.org/lvm2/
83258e3385
With pthreaded daemons like 'dmeventd' using liblvm via plugin, lvm2 actually should not 'play' with streams at all - as there could be parallel outputs running. As a current quick workaround just disable change for pthreaded program (gettid() != getpid()). TODO: it's possible the change of buffering actually doesn't serve us any measurable benefit and could be dropped as whole later... Meanwhile this patch is fixing this occasional valgrind race report: Invalid read of size 4 at 0x571892C: vfprintf (in /usr/lib64/libc-2.26.9000.so) by 0x57216B3: fprintf (in /usr/lib64/libc-2.26.9000.so) by 0x5042886: dm_event_log (libdevmapper-event.c:925) by 0x10B015: _dmeventd_log (dmeventd.c:125) by 0x10D289: _unregister_for_event (dmeventd.c:1146) by 0x10E52E: _handle_request (dmeventd.c:1583) by 0x10E6D7: _do_process_request (dmeventd.c:1631) by 0x10E7C6: _process_request (dmeventd.c:1660) by 0x1101A4: main (dmeventd.c:2285) Address 0x6264d30 is 192 bytes inside a block of size 552 free'd at 0x4C2ED68: free (vg_replace_malloc.c:530) by 0x573907D: fclose@@GLIBC_2.2.5 (in /usr/lib64/libc-2.26.9000.so) by 0x6AC5C00: reopen_standard_stream (log.c:189) by 0x6A8E62C: destroy_toolcontext (toolcontext.c:2271) by 0x6BA5C22: lvm_fin (lvmcmdline.c:3339) by 0x6BD5EF3: lvm2_exit (lvmcmdlib.c:123) by 0x6856013: dmeventd_lvm2_exit (dmeventd_lvm.c:103) by 0x66535B8: unregister_device (dmeventd_thin.c:432) by 0x10CBBC: _do_unregister_device (dmeventd.c:926) by 0x10CD74: _monitor_unregister (dmeventd.c:979) by 0x10D094: _monitor_thread (dmeventd.c:1066) by 0x54B35E0: start_thread (in /usr/lib64/libpthread-2.26.9000.so) by 0x57C30EE: clone (in /usr/lib64/libc-2.26.9000.so) Block was alloc'd at at 0x4C2DBBB: malloc (vg_replace_malloc.c:299) by 0x573932B: fdopen@@GLIBC_2.2.5 (in /usr/lib64/libc-2.26.9000.so) by 0x6AC5DC2: reopen_standard_stream (log.c:200) by 0x6A8D11D: create_toolcontext (toolcontext.c:1898) by 0x6BA5B6B: init_lvm (lvmcmdline.c:3319) by 0x6BD5BC8: cmdlib_lvm2_init (lvmcmdlib.c:34) by 0x6BD5F04: lvm2_init (lvm2cmd.c:20) by 0x6855EA7: dmeventd_lvm2_init (dmeventd_lvm.c:67) by 0x665305F: register_device (dmeventd_thin.c:352) by 0x10CB7A: _do_register_device (dmeventd.c:916) by 0x10CEE4: _monitor_thread (dmeventd.c:1006) by 0x54B35E0: start_thread (in /usr/lib64/libpthread-2.26.9000.so) by 0x57C30EE: clone (in /usr/lib64/libc-2.26.9000.so) .... Process terminating with default action of signal 6 (SIGABRT): dumping core at 0x570016B: raise (in /usr/lib64/libc-2.26.9000.so) by 0x5701520: abort (in /usr/lib64/libc-2.26.9000.so) by 0x57437D8: __libc_message (in /usr/lib64/libc-2.26.9000.so) by 0x5743831: __libc_fatal (in /usr/lib64/libc-2.26.9000.so) by 0x5744056: _IO_vtable_check (in /usr/lib64/libc-2.26.9000.so) by 0x574751C: __overflow (in /usr/lib64/libc-2.26.9000.so) by 0x574191A: fputc (in /usr/lib64/libc-2.26.9000.so) by 0x50428E3: dm_event_log (libdevmapper-event.c:934) by 0x10B015: _dmeventd_log (dmeventd.c:125) by 0x10D289: _unregister_for_event (dmeventd.c:1146) by 0x10E52E: _handle_request (dmeventd.c:1583) by 0x10E6D7: _do_process_request (dmeventd.c:1631) by 0x10E7C6: _process_request (dmeventd.c:1660) by 0x1101A4: main (dmeventd.c:2285) |
||
---|---|---|
autoconf | ||
conf | ||
coverity | ||
daemons | ||
doc | ||
include | ||
lib | ||
libdaemon | ||
libdm | ||
liblvm | ||
man | ||
nix | ||
old-tests | ||
po | ||
python | ||
report-generators | ||
reports | ||
scripts | ||
spec | ||
test | ||
tools | ||
udev | ||
unit-tests | ||
.gitignore | ||
acinclude.m4 | ||
aclocal.m4 | ||
configure | ||
configure.in | ||
COPYING | ||
COPYING.LIB | ||
INSTALL | ||
make.tmpl.in | ||
Makefile.in | ||
README | ||
TESTING | ||
VERSION | ||
VERSION_DM | ||
WHATS_NEW | ||
WHATS_NEW_DM |
This tree contains the LVM2 and device-mapper tools and libraries. For more information about LVM2 read the changelog in the WHATS_NEW file. Installation instructions are in INSTALL. There is no warranty - see COPYING and COPYING.LIB. Tarballs are available from: ftp://sourceware.org/pub/lvm2/ ftp://sources.redhat.com/pub/lvm2/ https://github.com/lvmteam/lvm2/releases The source code is stored in git: https://sourceware.org/git/?p=lvm2.git git clone git://sourceware.org/git/lvm2.git mirrored to: https://github.com/lvmteam/lvm2 git clone https://github.com/lvmteam/lvm2.git git clone git@github.com:lvmteam/lvm2.git Mailing list for general discussion related to LVM2: linux-lvm@redhat.com Subscribe from https://www.redhat.com/mailman/listinfo/linux-lvm Mailing lists for LVM2 development, patches and commits: lvm-devel@redhat.com Subscribe from https://www.redhat.com/mailman/listinfo/lvm-devel lvm2-commits@lists.fedorahosted.org (Read-only archive of commits) Subscribe from https://fedorahosted.org/mailman/listinfo/lvm2-commits Mailing list for device-mapper development, including kernel patches and multipath-tools: dm-devel@redhat.com Subscribe from https://www.redhat.com/mailman/listinfo/dm-devel Website: https://sourceware.org/lvm2/ Report upstream bugs at: https://bugzilla.redhat.com/enter_bug.cgi?product=LVM%20and%20device-mapper or open issues at: https://github.com/lvmteam/lvm2/issues The source code repository used until 7th June 2012 is accessible here: http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/?cvsroot=lvm2.