If we've already freed the plugin, we can't call to it.
Looks like there's some raciness where set_handler_for_input_source() gets called to after a plugin has already been freed (or was never properly initialized).
In this case here, we're seeing the following: SegvAnalysis: Segfault happened at: 0x7f5027cb8b09 <ply_renderer_set_handler_for_input_source+89>: mov 0x78(%rax),%rax PC (0x7f5027cb8b09) ok source "0x78(%rax)" (0x32785c6174612ddc) not located in a known VMA region (needed readable region)! destination "%rax" ok
In other words, renderer is good; but when trying to read at address 0x78 from renderer->plugin_interface, we reach out of the readable memory.
Make sure renderer->plugin_interface isn't already NULL, that does appear to fix some of the plymouth crashes evidenced in the Ubuntu plymouth bug: https://bugs.launchpad.net/ubuntu/+source/plymouth/+bug/1794292