home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 29 Fixes_o / 29-Fixes_o.zip / csd212.rme < prev    next >
Text File  |  1996-01-15  |  28KB  |  695 lines

  1. # @(#) 1.4 src/buildcsd/README.CSD, som, som2.1
  2. # 4/27/95 08:09:29 /27/95 19:04:23|
  3. # 10H9767, 10H9769
  4. # (C) COPYRIGHT International Business Machines Corp. 1992,1995
  5. # All Rights Reserved
  6. # Licensed Materials - Property of IBM
  7.  
  8. Instructions for using the CSD212 update for SOMobjects 2.1
  9. ====================================================================
  10.  
  11. To use this update you must have already installed SOMobjects on your
  12. system.  This update works for the Toolkit, Workstation, and Workgroup.
  13. To begin the update you need to be in the SOMBASE directory.
  14.  
  15. YOU MUST ALSO ENSURE THAT THE "SOMBASE", "PATH", "LIBPATH", "SMINCLUDE",
  16. ENVIRONMENT VARIABLES HAVE BEEN SET-UP ACCORDING TO THE SOMobjects 2.1
  17. INSTALLATION INSTRUCTIONS.
  18.  
  19. DISK REQUIREMENTS:
  20. =================
  21. You must have 10MB of free disk space prior to installing this update.
  22. Following the update there are some files that you can remove to reclaim
  23. space.
  24.  
  25. Please ensure that you have AT LEAST 1MB free in the directory that
  26. you are running this update AFTER you have downloaded and UNPACKED
  27. the update program and file.
  28.  
  29.  
  30. OS/2 Users:
  31. ==========
  32.  
  33. Change to the drive in which SOM is installed (e.g. C:)
  34. D:\> C:
  35.  
  36. Change directory to %SOMBASE% (assume %SOMBASE% = "C:\SOM"):
  37. C:\> cd %SOMBASE%
  38.  
  39. Download the csd files "csd212.ex@" and "csd212.os@" to the %SOMBASE%
  40. directory.  Before using the update you will need to unpack these files:
  41. C:\SOM> unpack csd212.ex@
  42. C:\SOM> unpack csd212.os@
  43.  
  44. You are now ready to run the update:
  45. C:\SOM> csd212
  46.  
  47. NOTE:
  48. =====
  49. By default, the CSD will only overwrite files that are older than the ones
  50. contained in the CSD data file.
  51. If you want to force the overwrite, regardless of the dates then you
  52. should type:
  53. C:\SOM> csd212 -f
  54.  
  55. The update will do three main things:
  56.  
  57. 1) Update any files that have changed since the last update.
  58. 2) Update the syslevel files.
  59. 3) Rebuild header files. (This will take most of the time.)
  60.  
  61. YOU MUST NOW REBOOT THE SYSTEM TO FINISH THE UPDATE!
  62.  
  63. Note: the update for this CSD does not update your CONFIG.SYS file like
  64. earlier SOMobjects CSD's.
  65.  
  66. You may delete the following files after the update:
  67.    csd212.ex@
  68.    csd212.os@
  69.    csd212.exe
  70.    csd212.os2
  71.  
  72. ---------------------- The update is finished. -----------------------------
  73.  
  74. AIX Users:
  75. ==========
  76.  
  77. Login as "root".
  78. (Ensure that LIBPATH, PATH, and SMINCLUDE are still set-up according to
  79. the SOMobjects 2.1 installation instructions after you have logged in
  80. as "root".)
  81.  
  82. Change directory to $SOMBASE (assume $SOMBASE = "/usr/lpp/som"):
  83. /#> cd $SOMBASE
  84.  
  85. FOR AIX 3.2.5
  86. =============
  87.  
  88. Download the csd files "csd212.325.Z" and "csd212.aix.Z" to the $SOMBASE
  89. directory. Before using the update you will need to uncompress these files:
  90. /usr/lpp/som#> uncompress csd212.325.Z csd212.aix.Z
  91. /usr/lpp/som#> chmod a+x csd212.325
  92.  
  93. You are now ready to run the update:
  94. /usr/lpp/som#> csd212.325
  95.  
  96. *********************************************************************
  97.  
  98. FOR AIX 4.1.1
  99. =============
  100.  
  101. Download the csd files "csd212.411.Z" and "csd212.aix.Z" to the $SOMBASE
  102. directory. Before using the update you will need to uncompress these files:
  103. /usr/lpp/som#> uncompress csd212.411.Z csd212.aix.Z
  104. /usr/lpp/som#> chmod a+x csd212.411
  105.  
  106. You are now ready to run the update:
  107. /usr/lpp/som#> csd212.411
  108.  
  109. *********************************************************************
  110.  
  111. NOTE:
  112. =====
  113. By default, the CSD will only overwrite files that are older than the ones
  114. contained in the CSD data file.
  115. If you want to force the overwrite, regardless of the dates then you
  116. should type:
  117. /usr/lpp/som#> csd212.325 -f
  118. or
  119. /usr/lpp/som#> csd212.411 -f
  120.  
  121. The update will do three main things:
  122.  
  123. 1) Update any files that have changed since the last update.
  124. 2) Set the fix level for installp (for somk only).
  125. 3) Rebuild header files. (This will take most of the time.)
  126.  
  127. ---------------------- The update is finished. -----------------------------
  128.  
  129.  
  130. Interface Repository File Notes:
  131. ================================
  132.  
  133. * Interface Repository Files (IR Files):
  134.   This update includes two new IR Files in the "etc" directory:
  135.   "somnew.ir" and "som212.ir".
  136.  
  137.   "somnew.ir" is a complete IR File replacement for the GA "som.ir"
  138.   "som212.ir" contains just the idl files that have changed since GA.
  139.  
  140.   If you haven't changed the GA "som.ir" (this is the most likely case)
  141.   then you can replace it with "somnew.ir":
  142.  
  143.     OS/2:
  144.     C:\> cd %SOMBASE%/etc
  145.     C:\%SOMBASE%\ETC> ren som.ir somir.ga
  146.     C:\%SOMBASE%\ETC> ren somnew.ir som.ir
  147.  
  148.     AIX:
  149.     cd /usr/lpp/somtk/etc, or
  150.        /usr/lpp/somws/etc, or
  151.        /usr/lpp/somwg/etc
  152.     $ mv som.ir somir.ga
  153.     $ mv somnew.ir som.ir
  154.  
  155.   If you have changed the GA "som.ir" then you can pickup the changes
  156.   by adding "som212.ir" into your SOMIR path, for example:
  157.  
  158.     OS/2:
  159.     C> set SOMIR=%SOMBASE%\etc\som212.ir;%SOMBASE%\etc\som.ir;SOM.IR
  160.  
  161.     AIX:
  162.     $  SOMIR="$SOMBASE/etc/som212.ir:$SOMBASE/etc/som.ir:./som.ir";
  163.        export SOMIR
  164.  
  165.   Or, if you have the all of the ".idl" files available and the SOM Compiler
  166.   "sc", you can rebuild the IR file:
  167.  
  168.     OS/2:
  169.     C> set SOMIR=%SOMBASE%\etc\som.ir
  170.     C> cd %SOMBASE%\include
  171.     C> sc -usir *.idl
  172.  
  173.     AIX:
  174.     $  SOMIR="$SOMBASE/etc/som.ir"; export SOMIR
  175.     $  cd $SOMBASE/include
  176.     $  sc -usir *.idl
  177.  
  178.  
  179. Fixes included in Update CSD211
  180. =======================================
  181.  
  182. CSD211 - New distribution utility
  183.  
  184. Feature number: 10419
  185.  
  186. Note:  The new distribution utility is provided as-is to assist
  187.        people who install distributed applications.  It is NOT
  188.        to be considered part of any SOMobjects product and will
  189.        not be supported.
  190.  
  191.  
  192. Implementation Repository Distribution
  193. --------------------------------------
  194.  
  195. The Implementation Repository distribution utility has been written
  196. to provide a means to distribute server and class information across
  197. Implementation Repositories.  Since the selected information can be
  198. distributed to other Implementation Repositories, the Implementation
  199. Repository no longer needs to be shared.  With this utility,
  200. information in the Implementation Repository can be grouped according
  201. to selection identifiers.  A distribution file can be created using
  202. the selection identifiers to decide which information is to be
  203. included.  The distribution file can then be transported to other
  204. hosts and the information can be applied to the other Implementation
  205. Repositories.
  206.  
  207. The Implementation Repository distribution utility uses selection
  208. identifiers to group the server and class information to be
  209. distributed to other Implementation Repositories.  A selection
  210. identifier is a string, with a maximum of 49 bytes, which is used to
  211. group server information to be distributed. (Note:  on OS/2 and AIX,
  212. selection identifiers are implemented as class associations in the
  213. Implementation Repository.  The selection identifiers will be preceded
  214. with a "*" to denote that the class is really a selection identifier.)
  215.  
  216. The Implementation Repository Distribution utility is a command line
  217. utility with four options:  add selection identifier, remove selection
  218. identifier, create distribution file, apply distribution file.
  219.  
  220.  
  221. Add selection identifier
  222.  
  223.    To add a selection identifier to a server in the Implementation
  224.    Repository, specify the "a" option, followed by the selection
  225.    identifier and then the alias name of the server.  For example:
  226.  
  227.              dstf  "a" "Headquarters_1" "Headquarters"
  228.  
  229.    associates the selection identifier "Headquarters_1" with the
  230.    server alias "Headquarters" in the Implementation Repository.
  231.  
  232.  
  233. Remove selection identifier
  234.  
  235.    To remove a selection identifier from a server in the
  236.    Implementation Repository, specify the "r" option, followed
  237.    by the selection identifier and then the alias name of the
  238.    server.  For example:
  239.  
  240.              dstf  "r" "Headquarters_1" "Headquarters"
  241.  
  242.    removes the association of selection identifier "Headquarters_1"
  243.    with the server alias "Headquarters" in the Implementation
  244.    Repository.
  245.  
  246.  
  247. Create Distribution File
  248.  
  249.    To create an Implementation Repository distribution file to be
  250.    distributed to other Implementation Repositories,  specify the
  251.    "C" option, followed by the name of the file to be created and
  252.    a list of selection identifier to be included in the file.
  253.    For example:
  254.  
  255.              dstf  "C" "My_Company" "My_Company_Headquarters"
  256.                    "My_Company_Branch1" "My_Company_Branch2"
  257.  
  258.    creates a distribution file "My_Company" containing the server and
  259.    class information for all servers associated with the selection
  260.    identifiers  "My_Company_Headquarters" "My_Company_Branch1"
  261.    "My_Company_Branch2".
  262.  
  263.    A distribution file can also be created to contain all information
  264.    in an Implementation Repository by specifying "*ALL" for the
  265.    selection identifier.  For example:
  266.  
  267.              dstf "C" "All_Implrep" "*ALL"
  268.  
  269.    creates a distribution file "All_Implrep" that contains all the
  270.    information in the Implementation Repository.
  271.  
  272.  
  273. Apply Distribution File
  274.  
  275.    To apply an Implementation Repository distribution file to the
  276.    Implementation Repositories, specify the "A" option, followed by
  277.    the name of the file to be applied, the apply option, and a list
  278.    of selection identifiers to be applied.  There are 2 options that
  279.    can be used when applying a distribution file:
  280.       "10" Merge - Add any new server information in the distribution
  281.                    file to the implementation repository.  Update any
  282.                    existing server with the information in the
  283.                    distribution file.
  284.       "20" Replace - Remove any entries in the Implementation
  285.                    Repository that are associated with the specified
  286.                    selection identifier.  Add the entries from the
  287.                    distribution file to the Implementation Repository.
  288.  
  289.    For example:
  290.              dstf  "A" "My_Company" "10" "My_Company_Headquarters"
  291.                    "My_Company_Branch1" "My_Company_Branch2"
  292.  
  293.    applies the distribution file "My_Company" for all servers
  294.    associated with the selection identifiers  "My_Company_Headquarters"
  295.    "My_Company_Branch1" "My_Company_Branch2".  Any existing servers in
  296.    the Implementation Repository associated with the specified
  297.    selection identifiers will be updated using the information in the
  298.    distribution file.  If a server associated with a selection
  299.    identifier does not exist in the distribution file, its information
  300.    in the Implementation Repository will not be changed.
  301.  
  302.  
  303.              dstf  "A" "My_Company" "20" "My_Company_Headquarters"
  304.                    "My_Company_Branch1" "My_Company_Branch2"
  305.  
  306.    applies the distribution file "My_Company" for all servers
  307.    associated with the selection identifiers  "My_Company_Headquarters"
  308.    "My_Company_Branch1" "My_Company_Branch2".  Any existing servers in
  309.    the Implementation Repository associated with the specified
  310.    selection identifiers will be deleted and replaced with the entries
  311.    from the distribution file.
  312.  
  313.  
  314. Restriction(s)
  315.  
  316.    The distribution tool currently has the limitation that
  317.    a distribution file cannot be applied to a nonexistent
  318.    Implementation Repository.  (There must be valid files
  319.    in the directory specified by SOMDDIR before attempting
  320.    to apply a distribution file.)
  321.  
  322. ----------------------------------------------------------------------
  323.  
  324. CSD211 - New DSOM functions
  325.  
  326. (Defect 9772)
  327.  
  328. Two new DSOM functions have been added:
  329.  
  330.         SOMD_YesORBfree is a companion to SOMD_NoORBfree.
  331.         It signifies that the application, which had previously
  332.         called SOMD_NoORBfree, now wishes to free ORB-allocated
  333.         memory using ORBfree rather than SOMFree.
  334.  
  335.         SOMD_QueryORBfree allows an application to determine
  336.         whether SOMD_NoORBfree or SOMD_YesORBfree has been
  337.         called (whether an application should be freeing ORB-allocated
  338.         memory using ORBfree or SOMFree).  It returns TRUE if ORBfree
  339.         should be used and FALSE if SOMFree should be used.
  340.  
  341. Notes regarding SOMD_NoORBfree/SOMD_YesORBfree and SOMD_QueryORBfree:
  342.  
  343. 1.  SOMD_NoORBfree and SOMD_YesORBfree affect global process state,
  344. hence these functions must be used carefully by threaded applications
  345. to avoid conflict.
  346.  
  347. 2.  Applications must be written to insure that the same mode of
  348. memory management is in effect when memory is allocated as when it
  349. is freed; otherwise, memory leaks will result.  For example, if an
  350. application calls SOMD_NoORBfree, makes a remote method call resulting
  351. in some memory being allocated, calls SOMD_YesORBfree, then (because
  352. SOMD_QueryORBfree now returns TRUE), calls ORBfree on that memory, the
  353. memory will not be freed.  Similarly, if an application calls
  354. SOMD_YesORBfree, makes a remote call, calls SOMD_NoORBfree, then
  355. (becuase SOMD_QueryORBfree now returns FALSE), uses SOMFree to free
  356. the data structure, then although the data structure itself is freed,
  357. the memory that DSOM uses to maintain information about the memory
  358. (e.g., its TypeCode) will not be freed.
  359.  
  360. ----------------------------------------------------------------------
  361.  
  362. CSD211 - Features
  363.  
  364. Features
  365. --------
  366.  
  367.  7359 - It's not a fatal error to delete an unregistered server
  368.         via regimpl - an error message will be produced only when
  369.         SOMDDEBUG is set
  370.  8011 - Allow servers to be designated nonstoppable - via a new
  371.         "-n {onooff}" option to regimpl.  When a server is registered
  372.         as nonstoppable, neither the "dsom stop" command nor the
  373.         somdShutdownServer method can be used to terminate the server.
  374.  
  375. ----------------------------------------------------------------------
  376.  
  377. CSD211 - Defects
  378.  
  379. Defects
  380. -------
  381.  3256      The COM emitter adds invalid comments to the .c file
  382.  3406      The .xh compiler generates annoying messages
  383.  3561      Incorrect marshalling of TypeCodes in DSOM
  384.  6369      Fixes for problems in 2.1 Collection Classes
  385.             1. somf_TDictionary_somfKeyAtM and
  386.                somf_TDictionary_somfKeyAtMF get a "Segmentation fault
  387.                (core dumped)" if the value being passed is not in
  388.                the dictionary.
  389.             2. somf_TCollection_somfMember will delete objects
  390.                from the collection.
  391.             3. If somf_TDeque_somfTDequeInitD is called on a non-empty
  392.                TDeque, the objects from the second TDeque are added to
  393.                it.
  394.             4. somf_TPrimitiveLinkedList_somfRemove will core dump if
  395.                user tries to remove an object that does not exist in
  396.                the linked list.
  397.             5. somf_TSet_somfXorSS does not set the count correctly
  398.                under certain conditions.
  399.             6. somf_TSortedSequence_somfOccurrencesOf will core dump
  400.                if it is called on a TSortedSequence object that is
  401.                empty.
  402.  6466      problem with size of unions calculated in tcSize
  403.  6989      If somf_TSequence_somfCreateIterator is not overridden,
  404.            incorrect message will be displayed.
  405.  7206      Comment such as "// /_Fachtyp_/" causes exception when using
  406.            sc.
  407.  7223      Error message is not generated by the C and C++ emitters if
  408.            noself modifier is used for methods.
  409.  7290      The // comment at begin of IDL file causes incorrect error
  410.            message when running 'sc'.
  411.  7334      If the staticdata modifier is used for an attribute or
  412.            instance variable the instance data access macro is defined
  413.            incorrectly in the .ih.
  414.  7436      The pdl emitter still assumes that there is only a single
  415.            interface or module) per idl file, and emits duplicate
  416.            information into the pdl file.
  417.  7447      TypeCode_size & TypeCode_alignment not computed correctly on
  418.            AIX for structs containing doubles
  419.  7516      If the somfTPriorityQueue class is used, _somfInsert will
  420.            insert objects into the wrong order.
  421.  7779      emitih: BeginInitializer generated incorrectly
  422.  7879      SOM generated macro name '_value' conflicts with the '_value'
  423.            field of the CORBA standard type 'any'.
  424.  7921      DSOM does not marshall 'any' parameter with TypeCode tk_null
  425.            or tk_void
  426.  8046      sc -r option
  427.  8060      SOM Compiler problem - duplicate sequence type nodes.
  428.  8068      SOMD peer example for Windows has unneeded DSOMEventCallBack
  429.            and TimerEventCallBack
  430.  8076      The file produced by newemit (gen_emit.efc) does not handle
  431.            opening the emitfile correctly.
  432.  8161      If the source file is not in current directory, no PDL file
  433.            is emitted by the PDL Emitter and "The file cannot be found."
  434.            message is generated.
  435.  8187      Deadlock after invoking oneway method from a DSOM server
  436.  8218      DSOM does not correctly marshall an out struct containing a
  437.            NULL string
  438.  8219      Error in SOM compiler help message
  439.  8237      Ability to specify multithreaded server using pregimpl
  440.            (OS/2 only)
  441.  8339      In C++ binding, the .xh and .xih files are generated
  442.            differently between using "=" and ":". A coredump will
  443.            be generated if metaclass : ... is used.
  444.  8362      Error in the CTOI.CMD file when converting .CSC files to
  445.            .IDL files.
  446.  8396      Only the comment at the end of a union will be handled by
  447.            the emitter and the emitter framework. Comments within
  448.            the union are ignored.
  449.  8420      If object pointers are in the struct, only the first object
  450.            pointer is handled correctly by the .h compiler.
  451.  8503      Allow a DSOM client to continue communicating with a server
  452.            after the server goes down and comes back up
  453.  8556      -d option on sc
  454.  8615      SOM produces unfriendly error message "YOU LOSE BIGTIME"
  455.            when an iterator is used before calling somfFirst
  456.  8702      DSOM PERSIST_STORE error (AIX)
  457.  9218      regimpl problem writing to read-only file (regimpl terminates
  458.            with no error message unless SOMDDEBUG is set)
  459.  9306      Name clash between som and cset (identifier "version" in
  460.            somdtype.idl)
  461.  9463      Using delete operator with proxies
  462.  9571      If an overloaded initializer is declared with no additional
  463.            parameters, any initializers declared after it will not be
  464.            properly emitted in the .xh file.
  465.  9694      A class object is implicitely created each time the dll
  466.            is loaded and never freed.
  467.  9740      On OS/2 there is no way to have all classes traced as
  468.            described in the documentation (2.1 Users Guide, pg 10-9).
  469.  9772      How to know when SOMD_NoORBfree has been called.  (A new
  470.            function, SOMD_QueryORBfree, has been added.)
  471.  9863      Having a large set of -I include paths generates an error
  472.            message even if emptyfile.idl is empty.
  473.  9876      When sommBeforeMethod returns FALSE, the primary method is
  474.            still invoked
  475. ----------------------------------------------------------------------
  476.  
  477. CSD211 - Duplicate or not reproducible defects
  478.  
  479.  
  480. The following defects are either duplicates of fixed defects
  481. or are not reproducible under the new level:
  482.  
  483. Defects
  484. -------
  485.  2657      memory leaks found when using contents method
  486.  3387      _System calling convention.
  487.  5457      Possible Persistence Framework bugs
  488.  6015      Persistence Framework woe
  489.  6425      unknown SOMFree calls
  490.  7510      scopes, bugs and docs
  491.  7570      Name clashes
  492.  8500      InterfaceRepository, CSet++ HeapView Debugger and memory leak
  493.  8654      Variable syntax error in somenv.csh
  494.  8805      GPF on server when server started after an abnormal stop
  495.  8870      Before/After hook used with DSOM
  496.  8922      passthru behavior
  497.  9158      Change default for .xh emitter to be "-mnocfront" instead
  498.            of "-mcfront"
  499.  9864      somDestruct called more often than needed
  500.  
  501. ----------------------------------------------------------------------
  502.  
  503. Fixes included in this Update CSD212
  504. ===========================================
  505.  
  506. ----------------------------------------------------------------------
  507.  
  508. CSD212 - Compiler/Emitter Changes
  509.  
  510.  
  511. 1. The mapping for IDL interface typedefs has been fixed. The previous
  512.    mapping was virtually unusable in the case of C++, and very strange
  513.    in the case of (nonCORBA) C bindings. Because the fix can result in
  514.    the need to change source code, the CSD provides the original
  515.    behavior by default. To access the fix, use -mitdfix (for interface
  516.    typedef fix) on the sc command line when generating bindings.
  517.  
  518.         Example of IDL containing an interface typedef:
  519.  
  520.         #include <somobj.idl>
  521.         interface X : SOMObject {
  522.                 typedef SOMObject MyObject;
  523.                 ...
  524.         };
  525.  
  526.  
  527. 2. The C++ emitters can now use C passthru statements. If -mpassh
  528.    is used on the sc command line and the xh emitter doesn't find a
  529.    C_xh passthru in the IDL, then the C_h passthru will be used. If
  530.    -mpassih is used on the sc command line and the xih emitter doesn't
  531.    find a C_xih passthru, then the C_ih passthru will be used.
  532.  
  533. ----------------------------------------------------------------------
  534.  
  535. CSD212 - DSOM Changes
  536.  
  537.  SOMDTHREADPEER Environment Variable
  538.  
  539.   There is a new environment variable for DSOM that should be used for
  540.   the following situation:
  541.  
  542.   There are two peer server processes, PeerA and PeerB, each running
  543.   as a multi-threaded DSOM server.  PeerA executes a method, call it
  544.   PeerB_m1, on a PeerB object.  The PeerB_m1 method calls a PeerA
  545.   method, call it PeerA_m2, a method call that executes at the PeerA
  546.   machine.  The PeerA_m2 method calls a PeerB method, call it PeerB_m3,
  547.   a method call that executes at the PeerB machine.
  548.  
  549.        PeerA Server                         PeerB Server
  550.        ------------                         ------------
  551.  
  552.        (PeerA thread 1)  - - - - - - - - -> method PeerB_m1
  553.                                             (PeerB thread 1)
  554.                                                   o
  555.                                                   o
  556.        method PeerA_m2 <- - - - - - - - - - - - - o
  557.        (PeerA thread 2)
  558.              o
  559.              o
  560.              o - - - - - - - - - - - - - -> method PeerB_m3
  561.                                             (PeerB thread 2)
  562.  
  563.   At this point the two peers will deadlock.  This is because
  564.   both PeerA thread 1 and thread 2 are awaiting a message from
  565.   PeerB, and the response from method PeerB_m3 will be received
  566.   by the wrong thread (PeerA thread 1).
  567.  
  568.   There is an environment variable setting which can be used to
  569.   alleviate this situation.  If SOMDTHREADPEER environment variable
  570.   is set (SOMDTHREADPEER=1), it will allow the two peers to complete
  571.   their method requests correctly.
  572.  
  573.   On OS/2 there is no performance penalty involved with the use of
  574.   the SOMDTHREADPEER environment variable. On AIX there is a slight
  575.   penalty due to the necessity for AIX DSOM to poll its message queue.
  576.  
  577.  
  578.  DSOM - Interface Repository File Permissions
  579.  
  580.   Please ensure that last (righmost) file in the SOMIR directory
  581.   hierarchy has write permissions set.  In the event this is not
  582.   the case, DSOM will generate an IR NOT FOUND exception upon
  583.   startup.
  584.  
  585. ----------------------------------------------------------------------
  586.  
  587. CSD212 - Defects
  588.  
  589. The following are Customer Reported Defects that have been fixed
  590.  
  591. Defects
  592. -------
  593. 2845    Comment Processing
  594. 3026    compiler accepts oneway together with a raises()
  595. 5649    oneway method and SOM compiler
  596. 7590    Infinite Loop in somm__get_somRegisteredClasses
  597. 7987    noenv and noself on nonprocedure methods.
  598. 8413    somf_TSortedSequence / duplicate objects
  599. 8573    Wrong component information in syslevel files
  600. 8852    newemit messages.
  601. 8896    TSet Union Operation
  602. 8922    passthru behavior
  603. 9014    FW and Forward References
  604. 9191    somc problem?
  605. 9260    Troubles in C++ with an object array
  606. 9720    emitter bug and WWW4SOM problem
  607. 9793    Bad IR lookup
  608. 9938    Reintroduced nonstatic, wrong method being called?
  609. 10006   SOMMSingleInstance not working correctly
  610. 10057   Minor annoyance updating som.ir on OS/2
  611. 10059   DSOM BAD_TYPECODE error
  612. 10385   Bad TypeCode returned from OperationDef describe
  613. 10464   Windows SOM Compiler command buffer length test error
  614. 10539   Class methods not being overridden correctly
  615. 10610   SOMMSingle Instance metaclass and C++ binding
  616. 11167   csd2.11 breaks working application
  617. 11297   _describe_contents max_returned_objs problem
  618. 11315   sequenceElement Bug
  619. 11459   somdeallocate modifier -- need status of old problem
  620. 11559   Recovery of client app/machine when server goes down ..
  621. 11762   regimpl failure and SOMIR environment variable
  622. 11860   Compatibility problem with SOMobjects 2.1
  623. 11875   override somDefaultInit or somDestruct
  624. 11994   sompOpen -- inconsistencies between parent and child
  625. 12043   CSD 2.1.1, somDefaultConstAssign -- compiler error
  626. 12202   Sequence in emitter
  627. 12250   somSubstituteClass error w/ multiple inheritance
  628. 12279   Emitter FW
  629. 12783   DSOM problem when parameters are sequences of unions
  630.  
  631.  
  632. ----------------------------------------------------------------------
  633.  
  634. CSD212 - Duplicate or not reproducible Customer reported defects
  635.  
  636. The following are either duplicates of fixed defects or are not
  637. reproducible on the new level:
  638.  
  639. Defects
  640. -------
  641. 1229  IR Module Error
  642. 2390  IR info freed prematurely?
  643. 2993  Is it possible to run DSOM with collection classes?
  644. 3162  internal error in emitir
  645. 3547  IR questions Again
  646. 6628  Access Violation :: after upgrade 2.02-2.04 memory allocation
  647. 7177  Creating DSOM PrimitiveLinkedList with DSOM MLinkables
  648. 9220  object_owns_parameters
  649. 9406  Interface Repository: lookup_modifier corrupts input
  650. 9668  Comments in somcls.h
  651. 9839  SOM.IR Performance benchmark
  652. 10451 irdump problems
  653. 11576 SOMobjects for AIX
  654. 11886 memory leak at csd level 2.1.1
  655. 13140 Bad OperationDescriptions from OS/2 SOMobjects 2.1
  656. 13211 fopen error with sc -spdl
  657. 13284 AIX 4.1 and SOM 2.1 CSD install - broken
  658.  
  659. ----------------------------------------------------------------------
  660.  
  661. CSD212 - Internally generated defects
  662.  
  663. The following are defects generated from internal sources
  664. that have been fixed in this CSD level:
  665.  
  666. Defects
  667. -------
  668. 3856   5854   6496   6954   7658   7870   8196   8447
  669. 8596   8609   8728   8831   9041   9043   9093   9385
  670. 9612   9652   9687   9849   9887  10073  10141  10162
  671. 10460 10518  10555  10811  10851  10882  10889  10912
  672. 10948 11099  11106  11122  11182  11191  11193  11257
  673. 11296 11313  11342  11355  11365  11369  11370  11390
  674. 11393 11412  11430  11432  11438  11493  11518  11519
  675. 11523 11550  11551  11594  11616  11629  11632  11656
  676. 11687 11724  11738  11740  11741  11760  11766  11782
  677. 11786 11787  11803  11809  11916  11946  11948  11986
  678. 11996 12003  12018  12028  12042  12095  12111  12120
  679. 12156 12175  12179  12225  12231  12263  12303  12325
  680. 12383 12429  12437  12452  12499  12506  12511  12591
  681. 12749 12817  12828  12831  12877  12921  12939  12947
  682. 12955 12991  13002  13026  13031  13036  13037  13040
  683. 13067 13069  13071  13075  13077  13090  13100  13122
  684. 13126 13128  13136  13137  13141  13142  13145  13152
  685. 13162 13210  13223  13267  13285  13307  13333  13355
  686. 13408 13460  13470  13474  13476  13480  13482  13489
  687. 13491 13502  13504  13522  13546  13548  13550  13554
  688. 13584 13598  13615  13626  13631  13633  13640  13657
  689. 13658 13667  13671  13679  13684  13685  13686  13688
  690. 13717 13722  13777  13815  13830  13846  13852  13858
  691. 13859 13905  14005  14009  14010  14012  14065  14066
  692. 14147 14270  14541  16329
  693.  
  694. ----------------------------------------------------------------------
  695.