ENOVIA Studio Modeling Platform Troubleshooting

This section discusses issues users must be aware of when using the Studio Modeling Platform. Some of these are platform-specific and others apply to all installations.

This page discusses:

See Also
Miscellaneous Troubleshooting
Implementation Troubleshooting

Accessing Remote File Systems

Problem

When accessing or storing files on a remote host machine, you receive the following message:

Storage Manager: Cannot create or open file hostname: /path/filename(Permission denied) (100101)

This occurs if you are attempting to access a remote captured store and the host machine is not currently allowing you access.

Solution

3DSpace uses NFS to access remote captured stores. Check that the remote machine's file system is exported to the NFS clients. Ask your System Administrator to export the necessary file systems. This is controlled by appropriate entries in the remote system's /export file.

All machines that contain 3DSpace captured stores that will be accessed via NFS must be running:

  • the RPC portmapper daemon
  • NFS
  • mountd daemons

The mounted daemons must be started with the appropriate options so unreserved ports may be used for NFS mounts. Failure to do this will result in access only being allowed when users are logged in as root. The options for various platforms are described below.

Crash on Checkin

Problem

3DSpace crashes when the network connection goes down while checking in a file.

Reason

If 3DSpace cannot commit or abort a transaction, an error displays explaining that a non-recoverable error has occurred. When the error dialog box is dismissed, 3DSpace gracefully exits. The app is not crashing.

Errors during Administration

Problem

Attempts to add a new type or perform other administrative functions fail with errors similar to:

Error #1200060 Can't create new derived from for the type ORA-12154: TNS:could not resolve service name
Solution

For administrative work done in the Business or MQL apps, all server objects are accessed. For this reason, machines used for these functions must have an Oracle database alias configured for each server object. For example, for a system with two servers with connectstring values of "SanDiego" and "SanJose", administrator's machines must have two Oracle database aliases configured named "SanDiego" and "SanJose".

Installation on Linux

Problem

After installing an 3DSpace client (either Studio Modeling Platform or 3DSpace Service), when you attempt to connect to the database you receive the following error:

ORA-07268: szguns: getpwuid error
Solution

Open the etc/passwd file and append a plus sign followed by a colon (+:). This allows both NIS and local users.

Localized Character display

Problem

German umlauts or other European characters are not displayed correctly on Windows.

Solution

In some cases, Oracle Instant Client may not find the proper NLS registry settings. To override the registry settings, set NLS_LANG as an environment variable. For example:

NLS_LANG=GERMAN_GERMANY.WE8ISO8859P15

Localized Decimal Character Settings

Problems

When the database and localization files are setup to use European character sets with a comma as the decimal character, the following Oracle error message may be generated:

ORA-01722 invalid number ...
Solution

The system decimal symbol must be synchronized with the character implied by the Oracle database setting for NLS_LANG. System Administrators can use the following MQL command to set the system decimal symbol:

set system decimal .;

Refer to the MQL Guide for more information about the set system decimal command.

Overriding defaults in NLS_LANG

NLS_NUMERIC_CHARACTERS specifies the decimal character (the character that separates the integer and decimal parts of a number) as well as the group separator (the character that separates integer groups, i.e. thousands, millions, etc.), overriding the defaults established by the territory defined in either NLS_LANG or NLS_TERRITORY, whichever is in use. The characters are specified in the following format:

NLS_NUMERIC_CHARACTERS = "[DEC_CHAR][GROUP_SEP]"

The two characters specified must be single-byte, and different from each other. The characters CANNOT be any numeric character, plus (+), hyphen (-), less than sign (<), or greater than sign (>), but either MAY BE a space. For example, to set the decimal character to a comma and the group separator to a period, the parameter should be set in the Oracle initialization file (init<SID>.ora) as follows:

NLS_NUMERIC_CHARACTERS = ",."
Using alternate decimal characters with SQL

When the decimal character is not a period (.) or when a group separator is specified, numbers appearing in SQL statements must be enclosed in quotes. For example, with the value of NLS_NUMERIC_CHARACTERS as set above, the following SQL statement requires quotation marks around the numeric literals:

INSERT INTO SIZES (ITEMID, WIDTH, QUANTITY) VALUES (618, '45,5', TO_NUMBER('1.234','9G999'));
Using alternate decimal characters with Tcl

Tcl 8.0 does not tolerate anything but a period as a decimal separator. The problem exhibits itself if you try to use the Tcl expr command as follows:

set retVal [expr 8,5 + 4,2]

If MX_DECIMAL_SYMBOL is set to comma(,) (Oracle only), all real numbers from the 3DSpace database are converted to have a comma as the decimal separator. If you must perform Tcl arithmetic and you have any users that have MX_DECIMAL_SYMBOL set to comma(,), you should incorporate the following program into the user's Tcl library, and call it in place of the Tcl expr command to evaluate decimal numbers:

#############################################################
# File Name: mxExpr.tcl
# Description: Workaround for tcl-proc \"expr\" working with \",\"
############################################################# 
proc Expr { args } { 
   if { [ regsub -all \",\" $args \".\" args ] } { 
      set sRet [ expr $args ] 
      regsub \\\\\\. $sRet \",\" sRet 
   } else { 
   set sRet [ expr $args ] 
   return $sRet 
   } 
} 
#############################################################

If you must perform O/S arithmetic with Tcl, such as working with file sizes or other real numbers from the OS, and LANG is set to define comma as decimal separators, you may need to use the mxExpr function defined above to handle those calculations.

3DSpace supports a deprecated environment setting (MX_TCL_ANSI_NUMERIC) to force the decimal separator to be period(.) when tcl programs run, but this is only suitable for use in single-threaded (Studio Modeling Platform) environments, since it modifies the system LOCALE setting which affects all other threads in the process.

The behavior of a multi-threaded server running with this setting is unpredictable, and is not supported.

When used in a desktop environment, the behavior is as follows:

  • If MX_TCL_ANSI_NUMERIC=true, 3DSpace overrides the LC_NUMERIC setting during execution of Tcl programs to establish a period (.) as the decimal setting. This causes operating system utilities to return floating point values in a form that is suitable for performing arithmetic using the Tcl expr procedure. Values obtained from MQL commands will continue to be returned using the character set by MX_DECIMAL_SYMBOL.
  • If MX_TCL_ANSI_NUMERIC=false, (the default) the setting for LC_NUMERIC is used and Tcl calls to the operating system will return floating point values according to the LOCALE settings in the OS.

Rollback Segment Error

An error similar to the following may occur if Oracle rollback segments are not large enough:

System Error: #1: ORA-01562: failed to extend rollback segment number 2 ORA-01650: unable to extend rollback segment R01 by 64 in tablespace RBS

This means that the rollback segment being used needs to be enlarged. Generally this occurs in the following circumstances:

  • Deleting lots of IconMail;
  • Data loading using explicit transaction boundaries;
  • Upgrading the database
  • Clearing vaults or the entire database (clear all;)
  • Any customization that uses large transaction boundaries;

The storage manager or sqlplus may be used to increase the size of the "next extent" for the rollback segment to accommodate the size of the transaction. Typically, there is a maximum of 121 rollback segments, so the product of the next extent and 120 must exceed the total size of all files being accessed within this one transaction. Refer to Oracle documentation on Storage Manager for information on performing this task.

Color Mapping

Problem
  • When entering the Studio Modeling Native Apps, the colors are incorrect or unavailable after other external apps have exhausted the color resources. The Studio Modeling Native Apps colors display incorrectly or you receive the error message xalloc color cells.
  • After exiting the desktop, colors for the desktop are incorrect.
Reason

The problem occurs because the desktop works best when sharing the default colormap as originally defined by MIT's X11 standard. However, 3DSpace, requires large amounts of color.

Solution 1 (Linux)

Run the X standard colormap utility to define the standard colormap properties. This utility, xstdcmap, is provided in the <INSTALL_PATH>/etc/<PLATFORM>/ directory. Executing the following will correct the color mapping problem by automatically loading the default color mapping:

<INSTALL_PATH>/ etc/<PLATFORM>/ xstdcmap -delete default <INSTALL_PATH>/ etc/<PLATFORM>/ xstdcmap -default

The default colormap should generally be loaded after the X server is started and before the desktop (and the Window Manager), can allocate color cells. This can be accomplished through methods that vary with each platform.

Solution 2 (Linux and WINDOWS)

There are two flags available that can be passed to the desktop that will regulate colormap usage. The flags may be added to the command line or setup scripts as follows:

-standardcolormax <DECIMAL> -sharedcolormax <DECIMAL>

Where <DECIMAL> represents a real number between 0 and 1.

The standard flag represents the fraction of the standard colormap that 3DSpace will control. The default is .75, which should be adjusted to ensure that appropriate colors are available to other desktops. Setting this flag to zero will cause no standard colors to be allocated.

The shared flag represents the fraction of the shared colormap (that is, the Windows or X default colormap) that is allocated for 3DSpace. This defaults to 1, which means that 3DSpace has access to the entire colormap for custom colors. Setting this value to zero means that 3DSpace will use a private colormap. When the private color map is used, the active desktop window will look fine, but the inactive windows may give up their colors until they become active. This may appear as "flashes" when switching between desktop apps.

If both of the above solutions are used in unison and the problem still occurs, the colormapping of the other apps should be examined.

Launching Apps in Windows

Problem

On all Windows platforms, Studio Modeling Native Apps windows are not repainted while the launched desktop is executing. This causes no harm, but can be visually unappealing.

Solution

By setting a preference called MX_WIN_MIN_ON_LAUNCH, a user can cause all Studio Modeling Platform windows to be minimized during the execution of the launched desktop. When the launched desktop terminates, the Studio Modeling Native Apps windows are restored. The value assigned to this preference is True or False. When set to True, the Studio Modeling Native Apps windows are minimized. The default is False. This preference is read from the enovia.ini file prior to each launching.