05-03-2011 03:07 PM
I am attempting to import records in RSXML format using the following code:
if( (iRet=pLitCiterDB->ImportRecords(pXML->c_str(),NULL,false,NULL,NULL,NULL,NULL,NULL)) != kServiceNoErr )
This causes EndNote to crash, without really giving much useful information (to me at least). (I've included WinDbg output at the bottom) For the record, pXML just contains "<records> </records>" and the database is a newly created, empty database.
Passing a reference to an IRecordListPtr fixes this; however, the API states that this parameter can be NULL.
if( (iRet=pLitCiterDB->ImportRecords(pXML->c_str(),NULL,false,NULL,&pImportedList,NULL,NULL,NULL)) != kServiceNoErr )
In this scenario, I am importing records into an empty database, so I have not yet run into a situation where I will have duplicate or replaced records. If I do have duplicates or replaced records, will I need to pass a reference to the respective fields to avoid having this error?
(2614.236c): Access violation - code c0000005 (first chance) First chance exceptions are reported before any exception handling. This exception may be expected and handled. eax=00000000 ebx=001edd20 ecx=00000000 edx=008e790c esi=0012f804 edi=0012f9f4 eip=0050e5f7 esp=0012f5c8 ebp=0012f5cc iopl=0 nv up ei ng nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010282 *** ERROR: Module load completed but symbols could not be loaded for EndNote.exe EndNote+0x10e5f7: 0050e5f7 8b08 mov ecx,dword ptr [eax] ds:0023:00000000=????????
0:000> !analyze -v ******************************************************************************* * * * Exception Analysis * * * ******************************************************************************* *** ERROR: Symbol file could not be found. Defaulted to export symbols for c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll - *** ERROR: Module load completed but symbols could not be loaded for C:\WINDOWS\WinSxS\x86_Microsoft.VC90.MFC_1fc8b3b9a1e18e3b_9.0.30729.5570_x-ww_d5fe2ecb\mfc90u.dll *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.6002.22509_x-ww_c7dad023\gdiplus.dll - *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Program Files\EndNote X4\LIBMYSQLD.dll - GetPageUrlData failed, server returned HTTP status 404 URL requested: http://watson.microsoft.com/StageOne/EndNote_exe/14_0_0_4845/EndNote_exe/14_0_0_4845/0010e5f7.htm?Re... FAULTING_IP: EndNote+10e5f7 0050e5f7 8b08 mov ecx,dword ptr [eax] EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff) ExceptionAddress: 0050e5f7 (EndNote+0x0010e5f7) ExceptionCode: c0000005 (Access violation) ExceptionFlags: 00000000 NumberParameters: 2 Parameter[0]: 00000000 Parameter[1]: 00000000 Attempt to read from address 00000000 FAULTING_THREAD: 0000236c DEFAULT_BUCKET_ID: NULL_POINTER_READ PROCESS_NAME: EndNote.exe ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at "0x%08lx" referenced memory at "0x%08lx". The memory could not be "%s". EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at "0x%08lx" referenced memory at "0x%08lx". The memory could not be "%s". EXCEPTION_PARAMETER1: 00000000 EXCEPTION_PARAMETER2: 00000000 READ_ADDRESS: 00000000 FOLLOWUP_IP: EndNote+10e5f7 0050e5f7 8b08 mov ecx,dword ptr [eax] MOD_LIST: <ANALYSIS/> NTGLOBALFLAG: 70 APPLICATION_VERIFIER_FLAGS: 0 MANAGED_STACK: (TransitionMU) 0012F814 0A34905A EndNotePlugin!<Module>.Init(RSServices.CServiceRequest*)+0x3c2 (TransitionUM) MANAGED_STACK_COMMAND: _EFN_StackTrace LAST_CONTROL_TRANSFER: from 00717e0a to 0050e5f7 ADDITIONAL_DEBUG_TEXT: Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD] PRIMARY_PROBLEM_CLASS: NULL_POINTER_READ BUGCHECK_STR: APPLICATION_FAULT_NULL_POINTER_READ STACK_TEXT: 0012f814 0a34905a endnoteplugin!_Module_.Init+0x3c2 SYMBOL_NAME: endnoteplugin!_Module_.Init FOLLOWUP_NAME: MachineOwner MODULE_NAME: endnoteplugin IMAGE_NAME: EndNotePlugin.dll DEBUG_FLR_IMAGE_TIMESTAMP: 4dc04e20 STACK_COMMAND: _EFN_StackTrace ; dt ntdll!LdrpLastDllInitializer BaseDllName ; dt ntdll!LdrpFailureData ; ** Pseudo Context ** ; kb FAILURE_BUCKET_ID: NULL_POINTER_READ_c0000005_EndNotePlugin.dll!_Module_.Init BUCKET_ID: APPLICATION_FAULT_NULL_POINTER_READ_endnoteplugin!_Module_.Init WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOne/EndNote_exe/14_0_0_4845/4bfd5f91/EndNote_exe/14_0_0_4845/4bfd5f... Followup: MachineOwner ---------
I'm using the following:
EndNoteX4
Visual Studio 2010
Thanks!
-Nathan
05-06-2011 10:07 AM
I just tried importing with the reset of the fields set to NULL and it did work for me, so your second call should work fine:
if( (iRet=pLitCiterDB->ImportRecords(pXML->c_str(),NULL,false,NULL,&pImportedList,NULL,NULL,NULL)) != kServiceNoErr )
07-17-2015 03:25 AM
Mhm... I have teh same problem and I can't find a good answer nowhere.