BIC changes and ninja

Aleix Pol aleixpol at kde.org
Thu Jul 2 09:09:34 UTC 2015


On Thu, Jul 2, 2015 at 9:30 AM, Milian Wolff <mail at milianw.de> wrote:
> Hey all, esp. Aleix.
>
> I'm using ninja for a while now and really like the performance I get. But
> today / yesterday night I hit a really bad issue. In
> kdevplatform:8fc6453bfaf6d85e51071a0bd460701c63e95df7 I introduced a binary
> incompatible change. I used that then e.g. for the feature in
> kdevelop:28cc1e5fd43ec4f21477251e4104e3a42b221640, and the unit tests worked
> fine. But running the real KDevelop I saw tons of strange crashes. Debugging
> it, I saw that quite some plugins, such as the CMakeBuilder, did not get
> recompiled by ninja and thus still referenced the old, now broken interface of
> the IPluginController. This lead to loadPlugin(QString) being called instead
> of pluginForExtension(...), causing all kinds of havoc. I now make cleaned
> both kdevplatform and kdevelop and build from scratch - lo and behold, it
> works properly now...
>
> But this is really unacceptable to me. With make, I never had any such issues.
> Have anyone of you noticed similar behavior with ninja? Or is maybe something
> else going one on my machine? Also note that I use an ext4 file system mounted
> with noatime (it's on a SSD) - could that be the reason?
>
> Can anyone reproduce the above issue maybe? Just checkout the latest master
> and build, then see whether it works or crashes in strange places, or asserts
> when not finding some plugin.

I've had to trigger updates at some point when modifying other
projects. If you know how to reproduce it, maybe it would be worth
reporting as a bug in cmake...

Aleix


More information about the KDevelop-devel mailing list