Showing posts with label Bugs and Issues. Show all posts
Showing posts with label Bugs and Issues. Show all posts

Wednesday, July 15, 2009

.NET SDK Development Error

I have a strange issue while developing a .NET application with the BusinessObjects Enterprise XI 3.1 SDK/API.

I am trying to delete users from the repository which is a fairly straightforward task. The problem is that I receive an error message with the following text:

ERROR: User.RemoveUsers():System.Runtime.InteropServices.COMException (0x80041E09):Failed to commit objects to server :Delete operation failed.
at CrystalDecisions.Enterprise.ISInfoStore.Commit(ISInfoObjects InfoObjects)
at CrystalDecisions.Enterprise.InfoStore.Commit(InfoObjects infoObjects)
...

Here are an excerpt of the C# source code lines causing the error:

...
IObjects.Delete(IObject);
IStore.Commit(IObjects);
//IObject.DeleteNow();
...

First you make an delete of the InfoObject (which is a User object in this case) by using the Delete() method of the InfoObjects collection. The next source code line commits the deletion back to the repository (database) using the Commit() method of the InfoStore object. The error occurs when trying to commit.

I have also tried to use the commented source code line, the DeleteNow() method of the InfoObject object, but with the exact same problem.

For the fun of it I translated the source code to VBScript using COM SDK in WSH instead with the exact same source code lines. This worked without any problem. VBScript source code excerpt shown below:

...
oInfoObjects.Delete(oUser)
oInfoStore.Commit(oInfoObjects)
...

To make it even more interesting I translated the code to Java. The code for deleting users in Java is the very same. And it also worked without any issues. Java source code excerpt shown below:

...
infoObjects.delete(infoObject);
infoStore.commit(infoObjects);
...

I have also tried to compile and run the .NET version of my application in a BOE XI R2 environment but with no luck, the same error message occured.

So my question is: There must be something I am missing here - can someone explain what I am doing wrong?

Thursday, January 22, 2009

Authentication And Scheduling Problems

We have had strange issues in BusinessObjects Enterprise XI R2 and 3.0 where;

  1. Log in with AD Authentication stops working. A timeout occurs after a while. Users without AD aliases can log on without any problems.
  2. When scheduling reports the report job gets stuck in status Pending.

These two issues started at the same time but we interpreted them as separate issues. That was a wrong assumption.

After a lot of investigation and testing we isolated the problem to the BOE DB repository. The problem was due to changes in the availability of one of the AD groups that was registered under AD Authentication in CMC/Authentication. The same problem would occur if a NT group would be removed or made unavailable.

The solution for this problem was to remove the group that caused the system to hang. After that, it all worked again.

We have had these issues a number of times now in different systems and it's mind-boggling how the functionality in the system can be designed in this way. This function is a core part of the system and should not have this behavior!

Why does the scheduling stop working if there are verification problems against a domain? Well, when the CMS starts a scheduled job it checks to see if the user has the rights to run the report. At that point the system does a verification against the group and if that group are unavailable the session is hung until timed out.

Does anyone else had similar issues?

Wednesday, January 7, 2009

Tuesday, November 11, 2008

Migration to BusinessObjects Enterprise XI 3.0 - part 5?

The question mark in the heading above states that I am not completely sure at this time that the issue described below is due to the migration phase.

We have noticed a strange behaviour in one of our Universes in the BOE XI 3.0 environment. The Universe has been migrated from BOE XI R2. The Universe has a last modified date that is newer than the date in BOE XI R2 environment. Ok, that is not very strange. The strange thing is that the revision number is identical! And we know for sure that the Universe has been changed. One inner join (BOE XI R2) has suddenly become an outer join (BOE XI 3.0). One more observation is that the last modified by user also has changed. As no one (as far as we know) has changed the Universe these questions arises:

  • Why has the join changed if no one has altered the Universe?
  • If no one has changed the Universe and the join has been altered due to an migration bug, why has the date and user changed?
  • If someone has changed the Universe, why is the revision number identical between the systems?

The new date in the Universe is not the migration date.

Strange stuff is an understatement. Do anyone have an reasonable explanation for this?

Monday, November 3, 2008

Assert Failure

We have had alot of logging about assert failures in the log files for our different BusinessObjects Enterprise systems. I contacted Business Objects support to try to get an explanation of these messages and if we should act on any of them.

The answer is that the log files with assert failures are only interesting when there are some specific issues with the system. When a certain problem arises the support goes through the assert failure log files to try to get an explanation. And as you can see in the examples below the source code file name and line number is logged to ease up the trace.

I also asked if there was some way to turn that logging off and the answer was No.

Assertion generally stops the execution of code but Business Objects said that their assertion doesn't. If you don't know what assertion is you can take a minute or two and read this article from Wikipedia http://en.wikipedia.org/wiki/Assertion_(computing).

Here are some examples of assert failures that we experienced in one of our BOXI 3.0 environments.

[Mon Oct 13 08:30:39 2008] 304 7312 assert failure: (.\frsresmgr.cpp:1242). (false : FileResourceMgr::unlockFile: Cannot find entry for file E:\Business Objects\BusinessObjects Enterprise 12.0\FileStore\Input\a_049\017\036\2363697\~fc_23f0568ca38e233.xls).

[Mon Oct 20 06:36:24 2008] 12112 3684 assert failure: (d:\titan_rtm\src\framework\servers\cpp\cms\include\infoobj.h:787). (GetPropString( id, ret, bSearchWireObj ) : no message).

[Mon Oct 27 10:00:42 2008] 9288 9724 assert failure: (.\sessionmgr.cpp:271). (beforeAuthen != serverAuthen && afterAuthen == serverAuthen : no message).

[Thu Oct 02 14:41:43 2008] 7228 1864 assert failure: (.\secssoplugin_impl.cpp:62). (0 : UnInitializePlugin() -- Unexpected Exception!).

[Thu Oct 02 14:41:43 2008] 7228 1864 assert failure: (.\secssoplugin_impl.cpp:62). (0 : UnInitializePlugin() -- Unexpected Exception!).

[Tue Sep 23 19:52:26 2008] 2444 2440 assert failure: (.\auditsubsystem_impl.cpp:1233). (cuidToIdMap.Lookup( auditCUID, auditId ) : Auditor::CreateRecordsForServer - the AuditingService seems to be missing from this deployment.).

[Wed Oct 01 10:46:49 2008] 7028 3824 assert failure: (.\auditsubsystem_impl.cpp:1233). (cuidToIdMap.Lookup( auditCUID, auditId ) : Auditor::CreateRecordsForServer - the AuditingService seems to be missing from this deployment.).

[Wed Oct 01 10:47:51 2008] 7028 6824 assert failure: (.\ScheduleObject.cpp:199). (0 : no message).

[Wed Oct 01 10:47:51 2008] 7028 6824 assert failure: (.\ScheduleObject.cpp:253). (0 : objectId[2278305] is missing SI_NEXTRUNTIME property; isRunnable[true], hasScheduleStatus[false]=[9], hasProgress[false]=[0], hasOutcome[false]=[0].).

[Wed Oct 01 20:00:12 2008] 8072 6944 assert failure: (.\wireob.cpp:749). (state == foundFlag : no message).

[Wed Oct 01 20:00:12 2008] 8072 6944 assert failure: (.\wireob.cpp:775). (false : Error: Wrong number of parameters in URL ).

[Wed Oct 01 20:00:12 2008] 8072 6944 assert failure: (.\infosessionmgr.cpp:913). (false : Couldn't get token).

[Fri Oct 24 08:27:55 2008] 8668 8504 assert failure: (.\DocumentConnectionRepository_common.cpp:78). (0 :
ReportSourceRepositoryCommon::getServerDisabled(): m_varSvrFactory is NULL).

Monday, October 20, 2008

Migration to BusinessObjects Enterprise XI 3.0 - part 4

One of the more serious issues after the migration from XI R2 was that all (about 640) schedules where missing! Not a single one had been migrated. This was clearly a problem with the migration tool.
The explanation from Business Objects was that the permissions where incorrect applied in the old environment and because of that all schedules where lost. I don't buy that at all. All other reports with instances were there and working but only the reports with scheduling where erratic. The schedules where created by a huge amount of different users and rights. The fact that exactly all schedules are missing points to the fact that it must be due to a bug in the migration tool.

The error is occurring when viewing history on a scheduled report or if you try to schedule it again. The error messages are different depending on the report type.

Crystal Reports error message

HTTP Status 500



HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346) com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137) javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
root cause
java.lang.NullPointerException com.businessobjects.clientaction.crystalreport.history.SendToAbleCustomColumn.render(SendToAbleCustomColumn.java:75) com.businessobjects.components.explorer.model.impl.ColumnWrapper.render(ColumnWrapper.java:113) com.businessobjects.jsf.explorer.renderkit.ResizableContentListViewRenderer.displayNode2(ResizableContentListViewRenderer.java:447) com.businessobjects.jsf.explorer.renderkit.ResizableContentListViewRenderer.displayNode(ResizableContentListViewRenderer.java:380) com.businessobjects.jsf.explorer.renderkit.ResizableContentListViewRenderer.renderHtml(ResizableContentListViewRenderer.java:994) com.businessobjects.jsf.explorer.renderkit.ResizableContentListViewRenderer.encodeBegin(ResizableContentListViewRenderer.java:112) javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:703) javax.faces.render.Renderer.encodeChildren(Renderer.java:136) javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:721) javax.faces.render.Renderer.encodeChildren(Renderer.java:138) javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:721) javax.faces.webapp.UIComponentTag.encodeChildren(UIComponentTag.java:629) javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:566) org.apache.jsp.jsp.CrystalReport_005fHistory.history_jsp._jspx_meth_ure_explorer_0(history_jsp.java:1694) org.apache.jsp.jsp.CrystalReport_005fHistory.history_jsp._jspService(history_jsp.java:492) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346) com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137) javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.
--------------------------------------------------------------------------------
Apache Tomcat/5.5.20

Web Intelligence error message

The page cannot be found

The workaround for this type of issue is to save the report with new name and reschedule it. We didn't get a fix from Business Objects for this problem.

Tuesday, October 7, 2008

Migration to BusinessObjects Enterprise XI 3.0 - part 2

As I mentioned in my previous post the migration process went fine and all the system tests we performed afterwards did not show any strange behaviour or irregularities.

But... As the users started using the system a number of strange things have emerged. Some of the issues are very serious!

I will post back shortly some of our findings and how we solved them and some that we probably won't solve. As it looks right now we will probably start up the BOXI R2 environment again until all issues have been solved in the new environment.

The case has been reported to SAP/Business Objects and their technicians are currently trying to find a solution.

My opinion is that there are a problem with the migration tool... Time will tell if I am right...

Monday, June 9, 2008

Web Intelligence And Tomcat Error

Platform:
BusinessObjects XI

If you receive the error "Could not get an output file for the document." with error code RWI 00134 there is a problem with Tomcat.



The error source are unknown to me but if there are anyone knowing this it would be interesting to learn. As this problem is isolated to Tomcat the problem is only visible in the Java platform. The code RWI stands for ReportEngine Web Intelligence which means that the problem is only affecting Web Intelligence reports.

The solution is to restart Tomcat.

There exist an error description from Business Objects but it doesn't give much information other that it could be a memory related problem:

Cause
While serializing a document state, an error occurred. This might be due to insufficient memory or an I/O error.
Action
Ensure that there is sufficient memory available. Also, check for any we bi.properties customization.

Friday, April 25, 2008

Desktop Intelligence Permission Problem

Platform:
Desktop Intelligence
BusinessObjects XI, XI Release 2

A common problem is when you delete a report from the repository and then realises that it was a mistake removing it. Even though you have a local copy of the report you can't open it. This is because BOE is validating the rights against the repository and when the report does not exist there it can't be opened.

If you try to open that report in Desktop Intelligence you will get an error stating: You are not authorized to use this document. (FRM00008).



There are a number of possible workarounds for this problem, one being that you create a dummy report in the repository with the same name as the report you just deleted. Then you find out the path and file name through Central Management Console. Browse to the report folder in Input File Repositry Server and delete the file (remember the file name). Add the original report to the same place and change it's name to the same as the deleted file. Now you are able to import it into Desktop Intelligence.

This solution doesn't work in all situations and it's not a supported method. Manually deleting files from FRS is NOT a good idea in most cases. With this particual problem there exist a different solution that will solve this.

  1. Open Desktop Intelligence - check the Use in Offline Mode checkbox when logging in.


  2. Open the report.
  3. Save your report - check the Save for all users checkbox.


  4. Close Desktop Intelligence.
  5. Open Desktop Intelligence - login to your repository, not in offline mode.
  6. It should now be possible to open the report and publish it to the repository.

And, yes, a backup is also one way out of this...

Wednesday, April 23, 2008

Tracing in BusinessObjects

Platform:
Windows
BusinessObjects XI, XI Release 2
Crystal Enterprise 8.5, 9, 10

Tracing to log files on the server is an effective method to get more information for a possible problem. All server trace files are located in the logging folder, for BusinessObjects XIR2 the path is \Business Objects\BusinessObjects Enterprise 11.5\Logging\. For Crystal Enterprise the path is a bit different.

Default there are some tracing going on in the log folder but you can enable extended logging for every BusinessObjects server installed.

To enable tracing for a server, follow these steps:

  1. Open Central Configuration Manager (CCM).
  2. Choose the server you want to trace and stop that service.
  3. Open properties for the service.
  4. Add -trace as a parameter switch to the command line.
  5. Start the service.
  6. A new trace file with the same name as the server EXE is now located in the logging folder.

Business Objects KBase article for Unix trace instructions:
http://technicalsupport.businessobjects.com/KanisaSupportSite/search.do?cmd=displayKC&docType=kc&externalId=c2016966&sliceId=&dialogID=20798617&stateId=1%200%2020800000

But wait! There is more!

There is another way to get even more trace information from the Desktop Intelligence and Web Intelligence servers. This is only valid for BusinessObjects XI and XIR2 platforms. The extra logging creates a number of XML files with extensive information about the context of the report that is being run. These files are placed in a folder specified in a INI file.

This is what you have to do:

  1. Create three environment variables (the path can be different):
    BO_TRACE_CONFIGDIR = C:\Temp
    BO_TRACE_CONFIGFILE = C:\Temp\BO_Trace.ini
    BO_TRACE_LOGDIR = C:\Temp
  2. Create the INI file specified above with the following content:
    active = true;
    importance = xs;
    size = 1000000;
    keep = true;
  3. Restart the servers.

After you run a report there will be a number of trace files in a subfolder in the folder specified in BO_TRACE_LOGDIR. I double checked on Business Objects site about this last tracing setup, and it should work for both Web Intelligence and Desktop Intelligence. I never got it to work for Desktop Intelligence though, neither for Job or Report Server.

IMPORTANT: Remember to remove all tracing when debugging is done. All trace activities to log files requires extra resources from the server.

Monday, January 21, 2008

Object Naming Problem

One of our customers have had problem naming objects, in this case user objects, that have similar user names. Only the letter v and w differs.
The problem is that if you create a user with the name abcv you can't create a user named abcw. After alot of investigation from Business Objects technicians the problem was isolated to the regional and language settings in the server OS. We had Swedish settings when we installed BusinessObjects Enterprise which caused this problem. The settings needed to be English during installation for some reason. Even if we changed settings later it didn't work. The server regional and language settings are stored in the repository database in some way.

The solution for this problem was:

  1. Change the server OS regional and language options to English.
  2. Create a new repository database.
  3. Stop the CMS.
  4. Copy all the data from the old repository to the new one.
  5. Change the CMS datasource to the new database.
  6. Start the CMS.
  7. Problem gone!

Friday, October 19, 2007

SMTP Error

Scheduled reports with e-mail sending functionality fail with the error message specified below:

write error. CrystalEnterprise.Smtp: SMTP_E_EXCEEDED_STORAGE(552)

The error is not due to BOE. The error message (SMTP_E_EXCEEDED_STORAGE) is a standard SMTP error, in this case it's because the attachment hit the mail size limit. This limit is configured in the SMTP Service on the SMTP server.

Here is how to find the size limit of the SMTP server:

  1. Check which e-mail server you are using (CMC: Home > Servers > #SERVERNAME#.reportjobserver > Email (SMTP) Destination).
  2. Open a cmd.exe and type 'telnet <#SERVERNAME#> 25'.
  3. If you have entered the right server name you are now connected.
  4. Type 'EHLO'.
  5. Look at the SIZE value in the response from the server. In the example below the size has been set to ~8 MB.


Friday, October 5, 2007

Fix Pack 2.5 issues

I have found three small issues when installing FP2.5 that could be of interest. Environment is BOXIr2 SP2 on Windows Server.

  1. When installing the FP the folder businessobjects (/tomcat/work/Catalina/localhost) is removed but not created again. This has to be a glitch in the automatic deployment of war-files. If you deploy it manually this is not any problem.
  2. In the checklist for the manual deployment when uninstalling FP2.5, the file jsfplatformwar.xml (/tomcat/conf/Catalina/localhost) is missing. This is not due to FP2.5, the file is not there if I check my BOXIr2 SP2 environment either. Is there an error in the Fix Pack Installation and Deployment guide document or? Is there anyone who knows what this file is for?
  3. Four error messages when starting up the environment after installing the FP. The error was regarding Performance Management in some way. I don't know what effects this caused, if any.

One positive note about FP's is that they are now visible in the Add or Remove Programs dialog for easier overview and uninstallment.

Tuesday, July 31, 2007

Error starting CMS Service

If the CMS service won't start and there are one or both of the following error messages in the Event Viewer, it's most likely that you have a firewall somewhere that is blocking your traffic.

1) BusinessObjects_CMS: The root server reported an error Initialization Failure.
2) BusinessObjects_CMS: Failed to connect to name server XXXXXXX. Reason: Transport error: unable to retrieve the CMS factory.

The solution is to adjust the firewall settings.

Monday, April 23, 2007

Service Pack 2 issue part III

But I had one issue...

When the installation was done and I tried to logon InfoView (ASP) I got the following error message:

Server Error in '/businessobjects/Enterprise115/InfoView' Application.
--------------------------------------------------------------------------------

Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Sections must only appear once per config file. See the help topic <location> for exceptions.

Source Error:
Line 211: <!-- request length is 80MB -->
Line 212: <httpRuntime maxRequestLength="80000" executionTimeout="2000" />
Line 213: <httpRuntime executionTimeout="1200" />
Line 214: </system.web>
Line 215: <appSettings>

Source File: E:\Business Objects\BusinessObjects Enterprise 11.5\Web Content\Enterprise115\InfoView\web.config Line: 213

--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:1.1.4322.2300; ASP.NET Version:1.1.4322.2300


This problem was isolated to InfoView, I could logon CMC without any problem.

As the error message says, there are two executionTimeout rows. One must go away...
The fix for this is:

  1. Open web.config.
  2. Remove the second executionTimeout occurance row.
  3. Save the file.
  4. Restart IIS.

Service Pack 2 issue part II

I have now successfully installed Service Pack 2 in one of our customers environments.
The scenario I described in my previous post did not happen in this case. But this system had only SP1 and MHF1, not any CHF. My earlier problem with SP2 must depend on a previous CHF install/uninstall?!

Sunday, April 22, 2007

Service Pack 2 issue?

System: BOXIr2 with SP1 and MHF1

I have previously installed CHF16 to get a fix for bug ADAPT00583193 (in CHF15). After the installation the problem went away as expected.
When I saw that SP2 was out I uninstalled CHF16 and installed SP2. Guess what? The bug is back! SP2 is supposed to include CHF13-16 and MHF1.

As I see it:

  • there are a problem with SP2 and the above mentioned bug
  • or there is an issue with those installations that had CHF16 installed before applying SP2.