Bug#791888: lvm2: segfaults when activating LVs other than /

Bastian Blank waldi at debian.org
Sat Jul 11 19:18:03 UTC 2015


Control: severity -1 serious
Control: retitle -1 libdevmapper1.02.1 - ABI change in dm_tree_node_add_cache_target

On Sat, Jul 11, 2015 at 05:23:43PM +0200, Bastian Blank wrote:
> On Thu, Jul 09, 2015 at 11:41:48AM +0200, Nicolas Noirbent wrote:
> > After upgrading to the latest version of libdevmapper1.02.1 from
> > unstable, I found myself unable to mount my /home logical volume due
> > to a segfault in libdevmapper.so.1.02.1:
> > # grep segfault /var/log/kern.log
> > Jul  9 11:20:46 briareos kernel: [    8.184718] lvm[1639]: segfault at 80 ip 00007f80cf3f14ef sp 00007ffe0aa24050 error 4 in libdevmapper.so.1.02.1[7f80cf3d9000+46000]
> > Jul  9 11:20:46 briareos kernel: [   30.719648] lvchange[1955]: segfault at 80 ip 00007f4c1ebf14ef sp 00007ffef827eca0 error 4 in libdevmapper.so.1.02.1[7f4c1ebd9000+46000]
> > Jul  9 11:20:46 briareos kernel: [   84.536668] lvchange[1990]: segfault at 80 ip 00007fad611b74ef sp 00007ffda2685610 error 4 in libdevmapper.so.1.02.1[7fad6119f000+46000]
> 
> I can't reproduce this problem.  The address in the kernel message shows
> a problem somewhere in the dm_tree_* functions, according to objdump it
> is dm_tree_find_node_by_uuid.

Found it:

| lvcreate[605]: segfault at 80 ip 00007f80cd8294ef sp 00007ffc76944f90 error 4 in libdevmapper.so.1.02.1[7f80cd811000+46000]

The reason is an API/ABI change in dm_tree_node_add_cache_target:

|  int dm_tree_node_add_cache_target(struct dm_tree_node *node,
|                                   uint64_t size,
| +                                 uint64_t feature_flags, /* DM_CACHE_FEATURE_* */
|                                   const char *metadata_uuid,
|                                   const char *data_uuid,
|                                   const char *origin_uuid,
| -                                 uint32_t chunk_size,
| -                                 uint32_t feature_flags, /* DM_CACHE_FEATURE_* */
| -                                 unsigned core_argc,
| -                                 const char *const *core_argv,
| +                                 const struct dm_config_node *policy,
|                                   const char *policy_name,
| -                                 unsigned policy_argc,
| -                                 const char *const *policy_argv);
| +                                 uint32_t chunk_size);

Bastian

-- 
Women are more easily and more deeply terrified ... generating more
sheer horror than the male of the species.
		-- Spock, "Wolf in the Fold", stardate 3615.4



More information about the pkg-lvm-maintainers mailing list