Bug#962320: facter crashes with "free(): invalid pointer"

2020-06-23 Thread Giovanni Mascellani
Il 13/06/20 11:05, Giovanni Mascellani ha scritto:
> No problems in line of principle, but I am not sure I understand what
> would this solve: the conflict between two different versions of Boost
> arises when the same executable links against both (through different
> dependencies). There is no problem in having both versions installed at
> the same time.
> 
> So, given that we have to make sure that bullseye packages link only
> against 1.71 (or whatever it will be, but just one version), what is to
> be gained by having the Break: indication?

Ping?

Thanks, Giovanni.
-- 
Giovanni Mascellani 
Postdoc researcher - Université Libre de Bruxelles



signature.asc
Description: OpenPGP digital signature


Bug#962320: facter crashes with "free(): invalid pointer"

2020-06-13 Thread Giovanni Mascellani
Hi,

Il 09/06/20 17:06, Adrian Bunk ha scritto:
> For avoiding similar problems for people upgrading from buster,
> it would be good if for both 1.71 and whatever version of Boost
> will be released in Buster the library packages will add a Breaks:
> on the corresponding libboost-*1.67.0 package.

No problems in line of principle, but I am not sure I understand what
would this solve: the conflict between two different versions of Boost
arises when the same executable links against both (through different
dependencies). There is no problem in having both versions installed at
the same time.

So, given that we have to make sure that bullseye packages link only
against 1.71 (or whatever it will be, but just one version), what is to
be gained by having the Break: indication?

Thanks, Giovanni.
-- 
Giovanni Mascellani 
Postdoc researcher - Université Libre de Bruxelles



signature.asc
Description: OpenPGP digital signature


Processed: Re: Bug#962320: facter crashes with "free(): invalid pointer"

2020-06-09 Thread Debian Bug Tracking System
Processing control commands:

> reassign -1 src:boost1.71
Bug #962320 [libfacter3.11.0] facter crashes with "free(): invalid pointer"
Bug reassigned from package 'libfacter3.11.0' to 'src:boost1.71'.
No longer marked as found in versions facter/3.11.0-4.1.
Ignoring request to alter fixed versions of bug #962320 to the same values 
previously set
> reassign 962527 src:boost1.71
Bug #962527 [puppet] puppet crashes with Segmentation fault
Bug reassigned from package 'puppet' to 'src:boost1.71'.
No longer marked as found in versions puppet/5.5.19-1.
Ignoring request to alter fixed versions of bug #962527 to the same values 
previously set
> reassign 962523 src:boost1.71
Bug #962523 [facter] Facter crash on startup during adding external facts
Bug reassigned from package 'facter' to 'src:boost1.71'.
No longer marked as found in versions facter/3.11.0-4.1.
Ignoring request to alter fixed versions of bug #962523 to the same values 
previously set
> forcemerge -1 962527 962523
Bug #962320 [src:boost1.71] facter crashes with "free(): invalid pointer"
Bug #962527 [src:boost1.71] puppet crashes with Segmentation fault
Severity set to 'grave' from 'critical'
Bug #962523 [src:boost1.71] Facter crash on startup during adding external facts
Merged 962320 962523 962527
> affects -1 libfacter3.11.0 puppet facter
Bug #962320 [src:boost1.71] facter crashes with "free(): invalid pointer"
Bug #962523 [src:boost1.71] Facter crash on startup during adding external facts
Bug #962527 [src:boost1.71] puppet crashes with Segmentation fault
Added indication that 962320 affects libfacter3.11.0, puppet, and facter
Added indication that 962523 affects libfacter3.11.0, puppet, and facter
Added indication that 962527 affects libfacter3.11.0, puppet, and facter
> retitle -1 libboost-*1.71.0 packages need Breaks: libboost-*1.67.0
Bug #962320 [src:boost1.71] facter crashes with "free(): invalid pointer"
Bug #962523 [src:boost1.71] Facter crash on startup during adding external facts
Bug #962527 [src:boost1.71] puppet crashes with Segmentation fault
Changed Bug title to 'libboost-*1.71.0 packages need Breaks: libboost-*1.67.0' 
from 'facter crashes with "free(): invalid pointer"'.
Changed Bug title to 'libboost-*1.71.0 packages need Breaks: libboost-*1.67.0' 
from 'Facter crash on startup during adding external facts'.
Changed Bug title to 'libboost-*1.71.0 packages need Breaks: libboost-*1.67.0' 
from 'puppet crashes with Segmentation fault'.

-- 
962320: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=962320
962523: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=962523
962527: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=962527
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#962320: facter crashes with "free(): invalid pointer"

2020-06-09 Thread Adrian Bunk
Control: reassign -1 src:boost1.71
Control: reassign 962527 src:boost1.71
Control: reassign 962523 src:boost1.71
Control: forcemerge -1 962527 962523
Control: affects -1 libfacter3.11.0 puppet facter
Control: retitle -1 libboost-*1.71.0 packages need Breaks: libboost-*1.67.0

On Sat, Jun 06, 2020 at 09:31:47AM +0200, Vincent Bernat wrote:
> Package: libfacter3.11.0
> Version: 3.11.0-4.1
> Severity: grave
>...
> Versions of packages libfacter3.11.0 depends on:
>...
> ii  libboost-filesystem1.67.0  1.67.0-18
> ii  libboost-locale1.67.0  1.67.0-18
> ii  libboost-program-options1.67.0 1.67.0-18
> ii  libboost-regex1.67.0 [libboost-regex1.67.0-icu63]  1.67.0-18
> ii  libboost-system1.67.0  1.67.0-18
>...
> ii  libcpp-hocon0.1.7  0.1.7-1+b2
>...
> ii  libleatherman1.4.2 1.4.2+dfsg-2+b1
>...

This ends up one binary using both Boost 1.67 and Boost 1.71 at the
same time, which is not working:
$ ldd /usr/bin/facter | grep boost
libboost_program_options.so.1.67.0 => 
/lib/x86_64-linux-gnu/libboost_program_options.so.1.67.0 (0x7f8294a63000)
libboost_locale.so.1.67.0 => 
/lib/x86_64-linux-gnu/libboost_locale.so.1.67.0 (0x7f8294463000)
libboost_system.so.1.67.0 => 
/lib/x86_64-linux-gnu/libboost_system.so.1.67.0 (0x7f829445c000)
libboost_filesystem.so.1.67.0 => 
/lib/x86_64-linux-gnu/libboost_filesystem.so.1.67.0 (0x7f829443e000)
libboost_regex.so.1.67.0 => 
/lib/x86_64-linux-gnu/libboost_regex.so.1.67.0 (0x7f8294308000)
libboost_date_time.so.1.67.0 => 
/lib/x86_64-linux-gnu/libboost_date_time.so.1.67.0 (0x7f8293c8)
libboost_chrono.so.1.67.0 => 
/lib/x86_64-linux-gnu/libboost_chrono.so.1.67.0 (0x7f8293c75000)
libboost_locale.so.1.71.0 => 
/lib/x86_64-linux-gnu/libboost_locale.so.1.71.0 (0x7f8293b98000)
libboost_thread.so.1.71.0 => 
/lib/x86_64-linux-gnu/libboost_thread.so.1.71.0 (0x7f8293b6c000)
libboost_thread.so.1.67.0 => 
/lib/x86_64-linux-gnu/libboost_thread.so.1.67.0 (0x7f8293b3d000)
libboost_log.so.1.67.0 => /lib/x86_64-linux-gnu/libboost_log.so.1.67.0 
(0x7f82934e)
libboost_log_setup.so.1.67.0 => 
/lib/x86_64-linux-gnu/libboost_log_setup.so.1.67.0 (0x7f8293431000)
libboost_atomic.so.1.67.0 => 
/lib/x86_64-linux-gnu/libboost_atomic.so.1.67.0 (0x7f829342c000)
$

Short-term this should be fixed when the following bugs are fixed
resulting in recompilation with Boost 1.71:
#960416 leatherman: FTBFS with boost 1.71
#959573 facter FTBFS with yaml-cpp 0.6.3

For avoiding similar problems for people upgrading from buster,
it would be good if for both 1.71 and whatever version of Boost
will be released in Buster the library packages will add a Breaks:
on the corresponding libboost-*1.67.0 package.

cu
Adrian



Bug#962320: facter crashes with "free(): invalid pointer"

2020-06-06 Thread Vincent Bernat
Package: libfacter3.11.0
Version: 3.11.0-4.1
Severity: grave

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Hey!

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
set = {__val = {0, 1431634051, 94476679444720, 139623352393688, 0, 
94476679915560, 94476680133744, 139623355011525, 17, 94476679449080, 6481, 
94476679118894, 272, 256, 4, 94476679118984}}
pid = 
tid = 
ret = 
#1  0x7efc9e30f55b in __GI_abort () at abort.c:79
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, 
sa_mask = {__val = {0, 511101108348, 390842024046, 140728013449808, 2, 44, 
18446744073709551504, 140728013450096, 13742199053743279360, 0, 
140728013450112, 94476682378416,
  140728013450304, 140728013450096, 140728013449824, 0}}, sa_flags 
= -1643662843, sa_restorer = 0x0}
sigs = {__val = {32, 0 }}
#2  0x7efc9e368038 in __libc_message (action=action@entry=do_abort, 
fmt=fmt@entry=0x7efc9e474f3e "%s\n") at ../sysdeps/posix/libc_fatal.c:181
ap = {{gp_offset = 24, fp_offset = 32765, overflow_arg_area = 
0x7ffdcb406b50, reg_save_area = 0x7ffdcb406ae0}}
fd = 
list = 
nlist = 
cp = 
written = 
#3  0x7efc9e36f3da in malloc_printerr (str=str@entry=0x7efc9e4730e0 
"free(): invalid pointer") at malloc.c:5339
No locals.
#4  0x7efc9e370dcc in _int_free (av=, p=, 
have_lock=0) at malloc.c:4173
size = 0
fb = 
nextchunk = 
nextsize = 
nextinuse = 
prevsize = 
bck = 
fwd = 
__PRETTY_FUNCTION__ = "_int_free"
#5  0x7efc9e7c75d4 in __gnu_cxx::new_allocator::deallocate 
(this=0x7ffdcb406c60, __p=) at 
/usr/include/c++/9/ext/new_allocator.h:119
No locals.
#6  std::allocator_traits >::deallocate (__a=..., 
__n=, __p=) at 
/usr/include/c++/9/bits/alloc_traits.h:470
No locals.
#7  std::__cxx11::basic_string, 
std::allocator >::_M_destroy (__size=, 
this=0x7ffdcb406c60) at /usr/include/c++/9/bits/basic_string.h:237
No locals.
#8  std::__cxx11::basic_string, 
std::allocator >::_M_dispose (this=0x7ffdcb406c60) at 
/usr/include/c++/9/bits/basic_string.h:232
No locals.
#9  std::__cxx11::basic_string, 
std::allocator >::~basic_string (this=0x7ffdcb406c60, 
__in_chrg=) at /usr/include/c++/9/bits/basic_string.h:658
No locals.
#10 facter::facts::collection::add_external_facts_dir (this=0x7ffdcb4071a0, 
resolvers=std::vector of length 4, capacity 4 = {...}, dir=..., warn=) at ./lib/src/facts/collection.cc:160
msg = ""
found = false
ec = {m_val = 2, m_cat = 0x7efc9e093070}
search_dir = {static separator = 47 '/', static preferred_separator = 
47 '/', static dot = 46 '.', m_pathname = 
"/home/bernat/.puppetlabs/opt/facter/facts.d"}
#11 0x7efc9e7c7bd8 in facter::facts::collection::add_external_facts 
(this=0x7ffdcb4071a0, directories=std::vector of length 0, capacity 0) at 
./lib/src/facts/collection.cc:197
dir = "/home/bernat/.puppetlabs/opt/facter/facts.d"
__for_range = @0x7ffdcb406d80: std::vector of length 2, capacity 2 = 
{"/home/bernat/.puppetlabs/opt/facter/facts.d", "/home/bernat/.facter/facts.d"}
__for_begin = 
__for_end = 
resolvers = std::vector of length 4, capacity 4 = 
{std::unique_ptr = {get() = 0x55ed1117bbf0}, 
std::unique_ptr = {get() = 0x55ed1117bc30},
  std::unique_ptr = {get() = 
0x55ed1117bc10}, std::unique_ptr = {get() = 
0x55ed1117bc50}}
found = false
#12 0x55ed1001f54c in main (argc=, argv=) at 
./exe/facter.cc:350
inside_facter = ""
external_directories = std::vector of length 0, capacity 0
positional_options = {m_names = std::vector of length 0, capacity 0, 
m_trailing = "query"}
ignore_cache = 
vm = 
lvl = 
blocklist = std::set with 0 elements
custom_directories = std::vector of length 0, capacity 0
hidden_options = {static m_default_line_length = 80, m_caption = "", 
m_line_length = 80, m_min_description_length = 40, m_options = std::vector of 
length 1, capacity 1 = {{px = 0x55ed10eacd80, pn = {pi_ = 0x55ed10e6bae0}}},
  belong_to_group = std::vector of length 1, capacity 64 = 
{false}, groups = std::vector of length 0, capacity 0}
ruby = 
ruby_cleanup = {_callback = 
{> = {}, 
 = {static _M_max_size = 16, static _M_max_align = 8, 
_M_functor = {_M_unused = {_M_object = 0x55ed10e8fc01,
  _M_const_object = 0x55ed10e8fc01, _M_function_pointer = 
0x55ed10e8fc01, _M_member_pointer =  table offset 94476679314432, this 
adjustment 42}, _M_pod_data = 
"\001\374\350\020\355U\000\000*\000\000\000\000\000\000"},
  _M_manager = 0x55ed100200d0 
 
>::_M_manager(std::_Any_data &, const std::_Any_data &, 
std::_Manager_operation)>},
_M_invoker = 0x55ed10020100  >::_M_invoke(const std::_Any_data &)>}}
fmt = 
ttls = std::unordered_map with 0 elements