Activity log for bug #814215

Date Who What changed Old value New value Message
2011-07-21 18:16:33 William Good bug added bug
2011-07-21 18:17:49 William Good description The plugin API defines a function which returns a null-terminated array of c-style strings. This memory is allocated (by malloc) in the plugin, and then expected to be freed using free() in the calling code (SoundSourceProxy::something). This works well where the plugin and mixxx binary are linked to the same C runtime DSO, as is typically the case in Linux, but Windows has more MSVCRT DSOs in the wild than the galaxy has stars (give or take) and different CRT DSOs can use different memory structures in their malloc implementation; this manifests itself in segmentation faults/access violations on plugin usage in Windows. Because we can't guarantee (and shouldn't expect) the two objects to be linked to the same CRT DSO, it's imperative that the unit allocating the memory also be responsible for freeing it; therefore, the plugin API must be modified so that this is the case. The plugin API defines a function which returns a null-terminated array of c-style strings. This memory is allocated (by malloc) in the plugin, and then expected to be freed using free() in the calling code (SoundSourceProxy::something). This works well where the plugin and mixxx binary are linked to the same C runtime DSO, as is typically the case in Linux, but Windows has more MSVCRT DSOs in the wild than the galaxy has stars (give or take) and different CRT DSOs can use different memory structures in their malloc implementation; this manifests itself in segmentation faults/access violations on plugin usage in Windows. Because we can't guarantee (and shouldn't expect) the two objects to be linked to the same CRT DSO, it's imperative that the unit allocating the memory also be responsible for freeing it; therefore, the plugin API must be modified so that this is the case. See https://code.launchpad.net/~mixxxdevelopers/mixxx/features_m4a_win7/+merge/67111
2011-10-09 19:06:22 Launchpad Janitor branch linked lp:~mixxxdevelopers/mixxx/fixes-plugins-mempassing
2011-10-09 19:26:35 William Good mixxx: importance Medium Critical
2011-10-09 19:27:59 William Good mixxx: status Confirmed In Progress
2011-11-02 00:59:13 RJ Skerry-Ryan mixxx: status In Progress Fix Committed
2011-12-25 03:23:55 RJ Skerry-Ryan mixxx: status Fix Committed Fix Released
2022-10-08 19:02:54 Swiftb0y bug watch added https://github.com/mixxxdj/mixxx/issues/5954
2022-10-08 19:02:55 Swiftb0y lock status Unlocked Comment-only