[lxc-devel] ABI breakage

Lukasz Pawelczyk l.pawelczyk at samsung.com
Fri May 29 14:34:18 UTC 2015


Hi,

We're using LXC in some of our projects and we've found that ABI gets
broken without soname changes. And I don't mean extended (where
versioning would be enough), I mean broken.

Eg. this commit:

18aa217bb187b551206fe66075229ba382a1dbe4

It adds destroy_with_snapshots() function pointer inside a lxc_container
struct effectively breaking every application that's been linked with a
previous version and use pointers below that function.

A quick diff between 1.0.0 and 1.1.2 shows that 2 functions in total has
been added in the middle of a struct:
destroy_with_snapshots()
snapshot_destroy_all()

and 4 others at the end (that will cause problems in case of downgrades
without ABI versioning).

The soname between 1.0 and 1.1 has not changed as far as I can see.

Does this mean that LXC ABI is unreliable and can't be trusted?


-- 
Lukasz Pawelczyk
Samsung R&D Institute Poland
Samsung Electronics





More information about the lxc-devel mailing list