Bug#963932: Duplicate symbol json_object_iter_next in json-c, jansson

2020-06-29 Thread Michael Biebl
On Sun, 28 Jun 2020 22:11:20 +0200 Chris Hofstaedtler 
wrote:
> * Chris Hofstaedtler  [200628 20:10]:
> > your libraries BOTH export a symbol named json_object_iter_next,
> > causing crashes for binaries that end up loading both (possibly
> > transitively).

Comparing the .symbols files of both libraries, there is also
json_object_get which clashes.


Apparently there is also json-glib, which is entangled in that naming
issue as well.
It has the following clashing symbols with json-c

 json_object_equal
 json_object_get_type
 json_object_iter_next

See https://gitlab.gnome.org/GNOME/json-glib/-/issues/33

We should probably clone this issue and reassign to src:json-glib,src:json-c



signature.asc
Description: OpenPGP digital signature


Bug#963932: Duplicate symbol json_object_iter_next in json-c, jansson

2020-06-28 Thread Chris Hofstaedtler
* Chris Hofstaedtler  [200628 20:10]:
> your libraries BOTH export a symbol named json_object_iter_next,
> causing crashes for binaries that end up loading both (possibly
> transitively).
[..]

Upstream bugs:

https://github.com/json-c/json-c/issues/621

https://github.com/akheron/jansson/issues/523

Chris



Bug#963932: Duplicate symbol json_object_iter_next in json-c, jansson

2020-06-28 Thread Chris Hofstaedtler
Control: reassign -1 jansson,json-c
Control: affects -1 firewalld
Control: severity -1 serious

Dear json-c and jansson Maintainers,

your libraries BOTH export a symbol named json_object_iter_next,
causing crashes for binaries that end up loading both (possibly
transitively).

This is currently the case in Debian for firewalld, which loads
libmount1 and libnftables1, which use json-c and jansson
respectively. firewalld then crashes because of this.

Some detail:

* Michael Biebl  [200628 21:27]:
> Am 28.06.20 um 21:16 schrieb Chris Hofstaedtler:
> 
> > $ ldd /usr/lib/x86_64-linux-gnu/libmount.so.1
> > libjson-c.so.4 => /lib/x86_64-linux-gnu/libjson-c.so.4 
> > (0x7f289aec6000)
> > ...
> > 
> > $ ldd /usr/lib/x86_64-linux-gnu/libnftables.so.1
> > libjansson.so.4 => /lib/x86_64-linux-gnu/libjansson.so.4 
> > (0x7f71ffd16000)
> > ...
> > 
> > $ nm -Dg /lib/x86_64-linux-gnu/libjson-c.so.4 | grep json_object_iter
> > 6fe0 T json_object_iter_begin
> > 7000 T json_object_iter_end
> > 7040 T json_object_iter_equal
> > 7050 T json_object_iter_init_default
> > 7010 T json_object_iter_next
> > 7020 T json_object_iter_peek_name
> > 7030 T json_object_iter_peek_value
> > $ nm -Dg /lib/x86_64-linux-gnu/libjansson.so.4 | grep json_object_iter
> > 9030 T json_object_iter
> > 9050 T json_object_iter_at
> > 90b0 T json_object_iter_key
> > 9080 T json_object_iter_next
> > 9b00 T json_object_iter_set_new
> > 90d0 T json_object_iter_value
[..]
> Agreed, this should be tracked separately.

Please find a way to fix this situation.

Thanks,
Chris