Skip to content

Conversation

@crusaderky
Copy link
Contributor

@crusaderky crusaderky commented Oct 17, 2025

The filter segfaults when faced with char** data.
Working on a fix. The current PR demonstrates the problem (uncomment H5Pset_filter to trigger the segfault).

XREF silx-kit/hdf5plugin#364

@crusaderky
Copy link
Contributor Author

Unsure why CI is not being triggered?

@FrancescAlted
Copy link
Member

Unsure why CI is not being triggered?

Because there is not a proper CI set yet (we typically test this plugin manually with PyTables). Would you like to provide one?

Also, I don't see the fix in the PR (apparently it was reverted in a commit?). Also missing the PR for the hdf5-blosc2 plugin.

@crusaderky
Copy link
Contributor Author

Unsure why CI is not being triggered?

Because there is not a proper CI set yet (we typically test this plugin manually with PyTables). Would you like to provide one?

Yes, happy to work on it.

Also, I don't see the fix in the PR (apparently it was reverted in a commit?).

Yes, I'm working on it.
I just got to a roadblock. I discovered that the underlying issue is that, for H5T_VARIABLE dtypes, libhdf5 invokes neither the can_apply nor the set_local callbacks. As a result cd_values[0:5] are uninitialised (or initialised to 0, if you are using h5py). It can be worked around by forcing typesize=1 when writing, but you'll end up with uninitialised values on disk which is really not ideal. I need to investigate libhdf5 to see if I and h5py are doing anything wrong or if we need an libhdf5 fix.

Also missing the PR for the hdf5-blosc2 plugin.

Also working on it. It's the same problem.

@crusaderky crusaderky force-pushed the strings branch 8 times, most recently from 83c52f8 to f537f9f Compare October 22, 2025 13:11
const char* complist;
char errmsg[256];

assert(cd_nelmts >= 4);
Copy link
Contributor Author

@crusaderky crusaderky Oct 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

test_strings crashes here if you remove the workaround hack from it. blosc_set_local did not run so this is valued 0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants