Hello, I have already applied a patch #76
and when I want to start to repair, it gives me this error:
An AJAX HTTP error occurred.
HTTP Result Code: 200
Debugging information follows.
Path: /batch?id=118&op=do_nojs&op=do
StatusText: OK
ResponseText: TypeError: Argument 1 passed to image_field_repair_process_table_range() must be of the type array, null given, called in /home/xxxxxxxx/modules/contrib/image_field_repair/image_field_repair.inc on line 57 in image_field_repair_process_table_range() (line 133 of /home/xxxxx/modules/contrib/image_field_repair/image_field_repair.inc).| Comment | File | Size | Author |
|---|---|---|---|
| #3 | 2931750-3.patch | 2.26 KB | Anonymous (not verified) |
| #3 | 2931750-3-test-only.patch | 1.82 KB | Anonymous (not verified) |
Comments
Comment #2
fietserwinI am sorry but fail to se how this error could occur. Can you indicate:
- the number of image fields your site has.
- whether they are versioned.
- what type of storage is used for these fields.
- the number of records per image field table.
- is there any warning (that precedes this error message) in the watchdog or php log?
Comment #3
Anonymous (not verified) commentedThis happens when there are holes in the $tables array after the
filter(). A simple solution is just reindexing array.The proof test shows the process when the middle table (
node_image2_empty) is empty.Comment #5
fietserwinI thought array_filter() returns a new array without keeping keys, so now I understand how this error might occur. Thanks for reporting and providing a patch and a test. Though it is a basic test, it is a start.
Fixed and committed.