From: Thomas S. <tho...@ui...> - 2012-05-23 13:06:47
|
hi, i just detected this: Uncaught <table style="border: 1px" cellspacing="0">\n<tr><td colspan="3" style="background: #ff9999"> <b>File_MARC_Exception</b>: Tag "00" is not a valid tag. in <b>/usr/share/php/File/MARC/Control_Field.php</b> on line <b>78</b></td></tr>\n<tr><td colspan="3" style="background-color: #aaaaaa; text-align: center; font-weight: bold;">Exception trace</td></tr>\n<tr><td style="text-align: center; background: #cccccc; width:20px; font-weight: bold;">#</td><td style="text-align: center; background: #cccccc; font-weight: bold;">Function</td><td style="text-align: center; background: #cccccc; font-weight: bold;">Location</td></tr>\n<tr><td style="text-align: center;">0</td><td>File_MARC_Field->__construct('00')</td><td>/usr/share/php/File/MARC/Control_Field.php:78</td></tr>\n<tr><td style="text-align: center;">1</td><td>File_MARC_Control_Field->__construct('00', false)</td><td>/usr/share/php/File/MARC.php:332</td></tr>\n<tr><td style="text-align: center;">2</td><td>File_MARC->_decode('00784na\xc2\xa6 a22002…') in /usr/share/php/File/MARC/Field.php on line 83, referer: http://138.232.114.235/vufind-1.2/Search/Results?filter=institution:big when selecting the unknown format items here: http://138.232.114.235/vufind-1.2/Search/Results?lookfor=&type=AllFields&filter[]=institution%3A%22big%22&filter[]=format%3A%22Unknown%22&view=list i guess that a certain record is causing this, but i could not identity the record yet to isolate the problem. thanks in advance for any hints. t. |
From: Demian K. <dem...@vi...> - 2012-05-23 13:25:03
|
You might be able to catch the problem record by modifying web/RecordDrivers/Factory.php: include_once $path; if (class_exists($driver)) { try { $obj = new $driver($record); } catch (Exception $e) { $obj = new IndexRecord($record); echo "Problem loading $driver driver for record " . $obj->getUniqueId(); } return $obj; } (Untested code, but hopefully that gives you the general idea). Once you've figured out which record is causing the problem, it may be possible to determine whether there is a problem in the File_MARC libraries or if it's just a corrupt record that needs to be fixed on your end. It would be interesting to find out how it got through SolrMarc successfully but then blew up in PHP. - Demian > -----Original Message----- > From: Thomas Schwaerzler [mailto:tho...@ui...] > Sent: Wednesday, May 23, 2012 9:07 AM > To: vufind tech > Subject: [VuFind-Tech] uncaught exception in version 1.2 > > hi, > > i just detected this: > > Uncaught <table style="border: 1px" cellspacing="0">\n<tr><td > colspan="3" style="background: #ff9999"> <b>File_MARC_Exception</b>: Tag > "00" is not a valid tag. in > <b>/usr/share/php/File/MARC/Control_Field.php</b> on line > <b>78</b></td></tr>\n<tr><td colspan="3" style="background-color: > #aaaaaa; text-align: center; font-weight: bold;">Exception > trace</td></tr>\n<tr><td style="text-align: center; background: #cccccc; > width:20px; font-weight: bold;">#</td><td style="text-align: center; > background: #cccccc; font-weight: bold;">Function</td><td > style="text-align: center; background: #cccccc; font-weight: > bold;">Location</td></tr>\n<tr><td style="text-align: > center;">0</td><td>File_MARC_Field- > >__construct('00')</td><td>/usr/share/php/File/MARC/Control_Field.php:78</td>< > /tr>\n<tr><td style="text-align: center;">1</td><td>File_MARC_Control_Field- > >__construct('00', > false)</td><td>/usr/share/php/File/MARC.php:332</td></tr>\n<tr><td > style="text-align: center;">2</td><td>File_MARC->_decode('00784na\xc2\xa6 > a22002…') in /usr/share/php/File/MARC/Field.php on line 83, referer: > http://138.232.114.235/vufind-1.2/Search/Results?filter=institution:big > > > when selecting the unknown format items here: > > http://138.232.114.235/vufind- > 1.2/Search/Results?lookfor=&type=AllFields&filter[]=institution%3A%22big%22&fi > lter[]=format%3A%22Unknown%22&view=list > > > i guess that a certain record is causing this, but i could not identity > the record yet to isolate the problem. > > thanks in advance for any hints. > > t. > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Vufind-tech mailing list > Vuf...@li... > https://lists.sourceforge.net/lists/listinfo/vufind-tech |
From: Phil F. <pc...@wm...> - 2012-05-23 13:51:49
|
We had the same problem, and added a little bit of exception handling in the MarcRecord class. Our constructor now looks like this. public function __construct($record) { // Call the parent's constructor... parent::__construct($record); // Also process the MARC record: $marc = trim($record['fullrecord']); // check if we are dealing with MARCXML $xmlHead = '<?xml version'; if (strcasecmp(substr($marc, 0, strlen($xmlHead)), $xmlHead) === 0) { $marc = new File_MARCXML($marc, File_MARCXML::SOURCE_STRING); } else { $marc = preg_replace('/#31;/', "\x1F", $marc); $marc = preg_replace('/#30;/', "\x1E", $marc); $marc = new File_MARC($marc, File_MARC::SOURCE_STRING); } try{ $this->marcRecord = $marc->next(); } catch(Exception $e){ PEAR::raiseError(new PEAR_Error('Cannot Process MARC Record - ID:'.$record['id'])); } if (!$this->marcRecord) { PEAR::raiseError(new PEAR_Error('Cannot Process MARC Record')); } } Hope that helps, Phil On Wed 23 May 2012 09:24:51 AM EDT, Demian Katz wrote: > You might be able to catch the problem record by modifying web/RecordDrivers/Factory.php: > > include_once $path; > if (class_exists($driver)) { > try { > $obj = new $driver($record); > } catch (Exception $e) { > $obj = new IndexRecord($record); > echo "Problem loading $driver driver for record " . $obj->getUniqueId(); > } > return $obj; > } > > (Untested code, but hopefully that gives you the general idea). Once you've figured out which record is causing the problem, it may be possible to determine whether there is a problem in the File_MARC libraries or if it's just a corrupt record that needs to be fixed on your end. It would be interesting to find out how it got through SolrMarc successfully but then blew up in PHP. > > - Demian > >> -----Original Message----- >> From: Thomas Schwaerzler [mailto:tho...@ui...] >> Sent: Wednesday, May 23, 2012 9:07 AM >> To: vufind tech >> Subject: [VuFind-Tech] uncaught exception in version 1.2 >> >> hi, >> >> i just detected this: >> >> Uncaught<table style="border: 1px" cellspacing="0">\n<tr><td >> colspan="3" style="background: #ff9999"> <b>File_MARC_Exception</b>: Tag >> "00" is not a valid tag. in >> <b>/usr/share/php/File/MARC/Control_Field.php</b> on line >> <b>78</b></td></tr>\n<tr><td colspan="3" style="background-color: >> #aaaaaa; text-align: center; font-weight: bold;">Exception >> trace</td></tr>\n<tr><td style="text-align: center; background: #cccccc; >> width:20px; font-weight: bold;">#</td><td style="text-align: center; >> background: #cccccc; font-weight: bold;">Function</td><td >> style="text-align: center; background: #cccccc; font-weight: >> bold;">Location</td></tr>\n<tr><td style="text-align: >> center;">0</td><td>File_MARC_Field- >>> __construct('00')</td><td>/usr/share/php/File/MARC/Control_Field.php:78</td>< >> /tr>\n<tr><td style="text-align: center;">1</td><td>File_MARC_Control_Field- >>> __construct('00', >> false)</td><td>/usr/share/php/File/MARC.php:332</td></tr>\n<tr><td >> style="text-align: center;">2</td><td>File_MARC->_decode('00784na\xc2\xa6 >> a22002…') in /usr/share/php/File/MARC/Field.php on line 83, referer: >> http://138.232.114.235/vufind-1.2/Search/Results?filter=institution:big >> >> >> when selecting the unknown format items here: >> >> http://138.232.114.235/vufind- >> 1.2/Search/Results?lookfor=&type=AllFields&filter[]=institution%3A%22big%22&fi >> lter[]=format%3A%22Unknown%22&view=list >> >> >> i guess that a certain record is causing this, but i could not identity >> the record yet to isolate the problem. >> >> thanks in advance for any hints. >> >> t. >> >> >> ------------------------------------------------------------------------------ >> Live Security Virtual Conference >> Exclusive live event will cover all the ways today's security and >> threat landscape has changed and how IT managers can respond. Discussions >> will include endpoint security, mobile security and the latest in malware >> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ >> _______________________________________________ >> Vufind-tech mailing list >> Vuf...@li... >> https://lists.sourceforge.net/lists/listinfo/vufind-tech > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Vufind-tech mailing list > Vuf...@li... > https://lists.sourceforge.net/lists/listinfo/vufind-tech |