Closed (outdated)
Project:
Feeds
Version:
6.x-1.0-beta10
Component:
Code
Priority:
Major
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
3 Dec 2010 at 20:40 UTC
Updated:
16 Jun 2016 at 20:59 UTC
Jump to comment: Most recent
Hi,
I set Feeds up to import data from a CVS file. I mapped everything out and set it to never refresh, etc. The settings were fine and the csv file was fine. For some reason, the importing never ended and every time I refreshed the content listing page it grew larger and larger. I only had 600 something items in my CSV and I ended up with over 5000 items before i closed the page.
Any ideas?
Comments
Comment #1
eatsleepdev commentedI figured out the problem. The csv I was using needed to be converted to utf8. Works great now
Comment #2
martinbutt commentedCertain characters break the import and put it in to an infinite loop. Using this *nix command will help you locate them:
iconv -f ascii -t utf-8 file-to-import.csv
An error message from the system would be useful.
Comment #3
davidinnes commentedThe priority of a node-generating infinite loop bug should be marked somewhere between major and critical.
Testing with MartinButt's "iconv -f ascii -t utf-8 file-to-import.csv" procedure I was able to generate errors in three out of four common spreadsheet programs (Mac Excel, Mac OpenOffice, Tables, Numbers) by typing the text "würst" in a single cell and then saving or exporting it to a CSV file using each program's default settings. (The Tables default is ASCII-7 so it worked by degrading the data, which accommodates the Feeds bug but, well, degrades data!) "Smart" quotes and dashes break things too.
It's very nice that Feeds import has a Delete Items tab -- based on testing it can delete 10,000 nodes as quickly as it can 500. Which is impressive if and only if one overlooks that one was attempting to import only 100.
Possible fixes:
- Post clear documentation on the Import page
- Fail with a warning as soon as a high-bit characters is encountered
- Ignore high-bit characters in the stream such that they're passed along and stored as expected
- Convert high-bit characters in the stream to low-ASCII (not a good solution)
- Convert high-bit characters in the to numerical (e.g. #0164) HTML character entity equivalents.
- Do... pretty much anything except run a node-generating endless loop.
Comment #4
twistor commented