CAT/BULK: Cannot add records with 1-character RDA carrier code
- Article Type: General
- Product: Voyager
- Product Version: 8.2.0
Symptoms
When record for import has 338 subfield b with 1 character carrier code
- BulkImport fails with
Assertion failed: strlen(carr) == 2, file index_sql__ppc.cxx
- Cataloging gives 65099/440 and exits on Save to DB.
-
Similar error
Assertion failed: strlen(cont) == 3
when 336 |b is not exactly 3 characters. -
Issue does not impact RDA fields in Authority records.
Defect Status
Issue VYG-5153 is resolved for Voyager 9.1.0 and higher.
Replication steps
- Import affected record via BulkImport.
- Error thrown at command line:
Assertion failed: strlen(carr) == 2, file index_sql__ppc.cxx'
and might also give'/tmp/Pdobulkimport.2071.20131206.1447[2]: 2081 Abort(coredump)
- BulkImport process stops.
- Data for bib written to bib_master & bib_data. No data written to bib_text, bib_carrier, bib_content, bib_media.
- For same record, import via Cataloging client and Save to DB.
- Receive run-time errors 65099 / 440.
- Client closes, lose any unsaved work.
Workaround
- Ensure records contain 2-character 338 |b prior to import. Open failed record in Cataloging & resave or import the same record again.
- Updating 336 |b or 338 |b to correct the value may cause the same error messages, but the updated record will be saved to the database and the problem will not persist going forward from that point unless the field is reverted to a code shorter than the expected character length.
- Article last edited: 16-Oct-2014