Module pointer not removed from registry when plugin load fails
Bug #616870 reported by
Andrew Hutchings
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Drizzle |
Fix Released
|
Medium
|
Andrew Hutchings | ||
7.0 |
Fix Released
|
Medium
|
Andrew Hutchings | ||
Dexter |
Fix Released
|
Medium
|
Andrew Hutchings |
Bug Description
When a module fails to initialize in plugin_finalize it is cleaned up but the module's pointer is still stored in registry so during shutdown the loader tries to remove the module again causing a segfault.
I have reproduced this by making InnoDB plugin fail to start.
To fix this the following code in plugin_finalize also needs to remove the module from the registry:
if (plugin_
Related branches
lp:~linuxjedi/drizzle/drizzle-bug-616870
- Monty Taylor: Approve
-
Diff: 44 lines (+12/-0)3 files modifieddrizzled/module/loader.cc (+3/-0)
drizzled/module/registry.cc (+8/-0)
drizzled/module/registry.h (+1/-0)
Changed in drizzle: | |
importance: | Undecided → Medium |
Changed in drizzle: | |
assignee: | nobody → Andrew Hutchings (thelinuxjedi) |
status: | New → Confirmed |
Changed in drizzle: | |
status: | Confirmed → In Progress |
Changed in drizzle: | |
status: | In Progress → Fix Committed |
To post a comment you must log in.
Awaiting Patrick to migrate some mtr2 features so we can build a test case for my fix