Blackberry Internal Error 4238
Tong Family Blog: Blackberry Internal Error #4238. Darn it I got this error again. And of course I'm the number 1 site on google covering it. Talk about self-referential! You will get this bizzare error if you are trying to use a public folder for a contact. There are two things you have to do. First, make sure there is a null private folder that is included and second make sure you are using *uncached mode* for Exchange.
This is quite hard to do:
First, go to Start/Control Panel/Mail/Show Profiles/Add (this is for Outlook 2003 btw) and type in a new profile name, like "uncached for blackberry". Then go to Add New Mail Account/Microsoft Exchange Server/. Here is the magic entry, unclick *Use Exchange Cached Mode* Then type in your Exchange server and user name and choose Next and Finish
Here is how you set that, start Blackberry Desktop Manager, btw it doesn't matter how Outlook accesses things, Blackberry Desktop Manager has its own ideas about what profile to run. Click on Intellisync/Configure PIM/Address Book/Options and there will be the profile that you should have set up to be an entry for "uncached for blackberry" and click on it.
If you're curious to see what happens if you don't do this, you end up trying to debug Pumasync's confusion with Body fields as noted below
In any case, Blackberry reports this error for "Notes":http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/8021/7919/8120/8121/Support_-_Internal_Error_4238_Transaction_Cancelled.html?nodeid=21285 which I don't have as well as for "Exchange":http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/8021/7919/7921/Support_-_Internal_Error_4238_Transaction_Canceled_for_Microsoft_Outlook.html?nodeid=766063&vernum=0 where all it says is send an error log to Blackberry. That is helpful 🙁
Looking inside the magic file ptrace.log (do a search for this on your machine, it is hidden away in a Blackberry data file, I see a host of error messages that aren't like the one's I resolved before "Last Puma Error":https://www.tongfamily.com/guide/gadgets/2004/10/24/final_fix_for_blackberry_7230_windows_xp_sp2_and_outlook_2003.html, but seem to indicate similar problems with Pumatech. Arggh....so I tried the same fix, delete the entire Blackberry folder and start all over. Start Exchange and make sure it is in uncached mode (create a special Blackberry profile for OUtlook to do this). Then start the Desktop Manager and it will recreate the entire profile, hopefully correctly.
Last time it seemed like using the Cached mode was the problem, so make sure you never select that. Unfortunately, I still get the same message. Seems to happen at record 144 in my contact list (I don't know which one that is though!). Here is the error in ptrace.log. From rim.log, you can see the database record number, but this isn't visible anywhere in Outlook 🙁
Blackberry advises turning on "advanced logging":http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/8021/7919/8125/How_To_-_Enable_advanced_logging_for_Intellisync.html?nodeid=25974&vernum=12 which goes through a complex process, but it tells you exactly where it barfed:
# Configure the iloptcfg.cfg file, complete the following steps:
##. Open the iloptcfg.cfg file in Microsoft Notepad. The file is located in one of the following directories depending on your operating system:
*** In Windows 98: C:\Program Files\Research In Motion\BlackBerry\Intellisync\
*** In Windows 2000 or Windows XP: C:\Document and Settings\
## Change the MultiJobTraceLog value to 200 (the default is 1). This setting will generate the PtTrace.log file.
## Change the TifLog value to 100 (the default is 0). This setting will generate the tif.log file.
## Save the file.
Then you rerun the synchronization for just the application that failed, in this case contacts for me. This generates the two log files, which you then take and email to blackberry and pray.
Trolling through tif.log, I see that it died trying to read the subject field or the body field of a particular record it looks like the body field is causing the problem. Its a variable length field which is a text description of the person, so I'm guessing there is a bug in either Exchange or in the Pumatech where if the field is invalid then the synchronizer crashes. In my case, all the records have a bad body somehow. Only records with a something in that field seem to die. You can just copy it around or add or delete the field, something is wrong internally in the record
Mon Jan 03 22:13:17 2005: Error 0x35e3000a.904069130.30067 at D:\Work\Mav1039513_301\dev\ilxolk2\olkapi\pumapist.cpp line 737
Mon Jan 03 22:13:25 2005: Error 0.30078 at D:\Work\Mav1039513_301\dev\ilxolk2\olkapi\pumapie.cpp line 1158
Mon Jan 03 22:13:25 2005: Error 2005_BODY.30078.30016 at D:\Work\Mav1039513_301\dev\ilxolk2\olk_Export.cpp line 799
Mon Jan 03 22:13:25 2005: Error 30016.30016 at D:\Work\Mav1039513_301\core\sync_sdk\il_sdk\sdk_data.cpp line 1385
Mon Jan 03 22:13:25 2005: Error 4238.0 at D:\Work\Mav1039513_301\core\xlator_libs\ilxtrans\CILFIELD.CPP line 208
Mon Jan 03 22:13:25 2005: Error Body.4238.0 at D:\Work\Mav1039513_301\core\xlator_libs\ilxtrans\CILREC.CPP line 324
Mon Jan 03 22:13:25 2005: Error 4238.0 at D:\Work\Mav1039513_301\core\xlator_libs\ilxtrans\CILTRANS.CPP line 698
Mon Jan 03 22:13:25 2005: Error 4238.4238 at D:\Work\Mav1039513_301\core\sync_sdk\il_sdk\Ilx_sdk.cpp line 168
22:13:25.493: Translation Unit Status: User=200b1d33, rc=4238, Phase=20, TrErr=4238, SysErr=0 at D:\Work\Mav1039513_301\core\engine\ilx_v3\XLATEV3.cpp line 488
Mon Jan 03 22:13:25 2005: Error 4238.4238 at D:\Mav1039513.82_17\core\engine\xlate\XLATE.CPP line 2999
Mon Jan 03 22:13:25 2005: Error 4238.4238 at D:\Mav1039513.82_17\core\engine\xlate\XLATE.CPP line 2726
Mon Jan 03 22:13:25 2005: Error 4238.4238 at D:\Mav1039513.82_17\core\engine\xlate\XLATE.CPP line 2350
Mon Jan 03 22:13:25 2005: Error 4238.4238 at D:\Mav1039513.82_17\core\engine\xlate\XLATE.CPP line 3444