<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Eclipse Project Release Notes 3.4.1</title>
</head>

<body>

<h1>Eclipse Project Release Notes</h1>
<p>Release 3.4.1<br>
  Last revised Sept 25, 2008</p>
<p align="left"><strong>This software is OSI Certified Open Source Software.<br>
OSI Certified is a certification mark of the Open Source Initiative.&nbsp;</strong></p>
<blockquote>
  <p align="left"><a href="#TargetOperatingEnvironments">1. Target Operating
  Environments</a><br>
  <a href="#Compatibility">2. Compatibility with Previous
  Releases</a><br>
  <a href="#Known Issues">3. Known Issues</a><br>
  <a href="#Running Eclipse">4. Running Eclipse</a><br>
  <a href="#Upgrading">5. Upgrading a Workspace from a Previous Release</a><br>
  <a href="#Interoperability with Previous Releases">6. Interoperability with
  Previous Releases</a><br>
  <a href="#DefectsFixed">7. Defects Fixed since Previous Release</a><br>
  </p>
</blockquote>

<h2>1. <a name="TargetOperatingEnvironments"></a>Target Operating Environments</h2>
<p>In order to remain current, each Eclipse release targets reasonably current
  operating environments. </p>
<p>Most of the Eclipse SDK is &quot;pure&quot; Java code and has no direct dependence
  on the underlying operating system. The chief dependence is therefore on the
  Java Platform itself. Portions of the Eclipse SDK (including the RCP base,
  SWT, OSGi and JDT core plug-ins) are targeted to specific classes of operating
  environments, requiring their source code to only reference facilities available
  in particular class libraries (e.g. J2ME Foundation 1.0, J2SE 1.3 and 1.4,
  etc.). </p>
<p> In general, the 3.4 release of the Eclipse Project is developed on a mix
  of Java 1.4 and Java5 VMs. As such, the Eclipse Project SDK as a whole is targeted
  at both 1.4 and Java5 VMs, with full functionality available for 1.4 level
  development everywhere, and new Java5 specific capabilities available when
  running on a Java5 VM. Similarly, in cases where support has been added for
  Java6 specific features (e.g. JSR-199, JSR-269, etc.) Java6 VMs are required. </p>
<p> <a href="#Appendix1">Appendix 1</a> contains a table that indicates the class
  library level required for each plug-in. </p>
<p>There are many different implementations of the Java Platform running atop
  a variety of operating systems. We focus Eclipse SDK testing on a handful of
  popular combinations of operating system and Java Platform; these are our <em>reference
  platforms</em>. Eclipse undoubtedly runs fine in many operating environments
  beyond the reference platforms we test, including those using Java6 VMs. However,
  since we do not systematically test them we cannot vouch for them. Problems
  encountered when running Eclipse on a non-reference platform that cannot be
  recreated on any reference platform will be given lower priority than problems
  with running Eclipse on a reference platform.</p>
<p> The Eclipse SDK 3.4 is tested and validated on the following reference platforms</p>
<center>
  <table border="1" cellpadding="2" cellspacing="2" width="80%" summary="Eclipse Reference Platforms">
    <tbody>
      <tr align="center">
        <td><b>Reference Platforms</b></td>
      </tr>
      <tr>
        <td><b>Microsoft Windows Vista, x86-32, Win32</b> running (any of):
          <ul>
            <li>Sun Java 2 Standard Edition 5.0 Update 14 for Microsoft Windows</li>
            <li>IBM 32-bit SDK for Windows, Java 2 Technology Edition 5.0, SR6b</li>
            <li>BEA JRockit 27.4.0, for Microsoft Windows</li>
          </ul></td>
      </tr>
      <tr>
        <td><b>Microsoft Windows XP, x86-32, Win32</b> running (any of):
          <ul>
            <li>Sun Java 2 Standard Edition 6.0 Update 4 for Microsoft Windows</li>
            <li>Sun Java 2 Standard Edition 5.0 Update 14 for Microsoft Windows</li>
            <li>IBM 32-bit SDK for Windows, Java 2 Technology Edition 5.0, SR6b</li>
            <li>BEA JRockit 27.4.0, for Microsoft Windows</li>
            <li>Sun Java 2 Standard Edition 1.4.2_16 for Microsoft Windows</li>
            <li>IBM 32-bit SDK for Windows, Java 2 Technology Edition 1.4.2 SR10</li>
          </ul></td>
      </tr>
      <tr>
        <td><b>Red Hat Enterprise Linux 5.0, x86-32, GTK</b> running (any of):
          <ul>
            <li>Sun Java 2 Standard Edition 5.0 Update 14 for Linux x86</li>
            <li>IBM 32-bit SDK for Linux on Intel architecture, Java 2 Technology Edition 5.0, SR6b</li>
            <li>BEA JRockit 27.4.0, for Linux x86</li>
            <li>Sun Java 2 Standard Edition 1.4.2_16 for Linux x86</li>
            <li>IBM 32-bit SDK for Linux on Intel architecture, Java 2 Technology Edition 1.4.2 SR10</li>
          </ul></td>
      </tr>
      <tr>
        <td><b>SUSE Linux Enterprise Server 10, x86-32, GTK</b> running (any
          of):
          <ul>
            <li>Sun Java 2 Standard Edition 5.0 Update 14 for Linux x86</li>
            <li>IBM 32-bit SDK for Linux on Intel architecture, Java 2 Technology Edition 5.0, SR6b</li>
          </ul></td>
      </tr>
      <tr>
        <td><b>Microsoft Windows Vista, x86-64, Win32</b> running (any of):
          <ul>
            <li>Sun Java 2 Standard Edition 5.0 Update 14 for Microsoft Windows (AMD64/EM64T)</li>
            <li>IBM 64-bit SDK for Windows, Java 2 Technology Edition 5.0, SR6b</li>
          </ul></td>
      </tr>
      <tr>
        <td><b>Microsoft Windows XP Professional x64 Edition, x86-64, Win32</b> running (any of):
          <ul>
            <li>Sun Java 2 Standard Edition 5.0 Update 14 for Microsoft Windows (AMD64/EM64T)</li>
            <li>IBM 64-bit SDK for Windows, Java 2 Technology Edition 5.0, SR6b</li>
          </ul></td>
      </tr>
      <tr>
        <td><b>Red Hat Enterprise Linux 4.0 update 2, x86-64, GTK</b> running:
          <ul>
            <li>Sun Java 2 Standard Edition 5.0 Update 14 for Linux x86_64</li>
          </ul></td>
      </tr>
      <tr>
        <td><b>Sun Solaris 10, SPARC, GTK</b> running:
          <ul>
            <li>Sun Java 2 Standard Edition 5.0 Update 14 for Solaris SPARC</li>
          </ul></td>
      </tr>
      <tr>
        <td><b>HP-UX 11i v2, ia64, Motif 2.1, GTK</b> running:
          <ul>
            <li>HP-UX Java 2 Standard Edition 5.0 Update 7 for Itanium</li>
          </ul></td>
      </tr>
      <tr>
        <td><b>IBM AIX 5.3, Power, Motif 2.1</b> running:
          <ul>
            <li>IBM 32-bit SDK, Java 2 Technology Edition 5.0, SR6b</li>
          </ul></td>
      </tr>
      <tr>
        <td><b>Red Hat Enterprise Linux 5.0, Power, GTK</b> running:
          <ul>
            <li>IBM 32-bit SDK for Linux on pSeries architecture, Java 2 Technology Edition 5.0, SR6b</li>
          </ul></td>
      </tr>
      <tr>
        <td><b>SUSE Linux Enterprise Server 10, Power, GTK</b> running:
          <ul>
            <li>IBM 32-bit SDK for Linux on pSeries architecture, Java 2 Technology Edition 5.0, SR6b</li>
          </ul></td>
      </tr>
      <tr>
        <td><b>Apple Mac OS X 10.5, Universal, Carbon</b> running:
          <ul>
            <li>Apple Java 2 Platform Standard Edition (J2SE) 5, service release 4</li>
          </ul></td>
      </tr>
    </tbody>
  </table>
</center>
<p>Because Java 1.4.2 and Java5 based platforms are used for most Eclipse development,
  those platforms are listed here. Although there are teams doing some Java 6
  based development we have not included specific Java6 VMs, since they have
  not yet received the general level of testing we require. <i>We expect that
  Eclipse will work fine on other current Java VMs running on window systems
  supported by SWT, but can not flag these as reference platforms without significant
  community support for testing them.</i></p>
<p>Similarly, although untested, the Eclipse SDK should work fine on other OSes
  that support the same window system. For Win32: NT, 2000, and Server 2003;
  SWT HTML viewer requires Internet Explorer 5 (or higher). For GTK on other
  Linux systems: version 2.2.1 of the GTK+ widget toolkit and associated libraries
  (GLib, Pango); SWT HTML viewer requires Mozilla 1.4GTK2. For Motif on Linux
  systems: Open Motif 2.1 (included); SWT HTML viewer requires Mozilla 1.4GTK2.</p>
<p>SWT is also supported on the QNX Neutrino operating system, x86 processor,
  Photon window system, and <a href="http://wiki.eclipse.org/J9">IBM J9&trade; VM</a>.
  Eclipse 3.4 on Windows or Linux can be used to cross-develop QNX applications.
  (Eclipse 3.4 is unavailable on QNX because there is currently no 1.5 J2SE for
  QNX.)</p>
<h4>Internationalization</h4>
<p>The Eclipse SDK is designed as the basis for internationalized products. The
  user interface elements provided by the Eclipse SDK components, including dialogs
  and error messages, are externalized. The English strings are provided as the
  default resource bundles.</p>
<p>Latin-1 and DBCS locales are supported by the Eclipse SDK on all reference platforms;
  BIDI locales are supported by the Eclipse SDK everywhere but on Motif.</p>
<p>The Eclipse SDK supports GB 18030 (level 1), the Chinese code page standard,
  on Windows XP and 2000, Linux/GTK and the Macintosh.</p>
<p>German and Japanese locales are tested.</p>

<h2>2. <a name="Compatibility"></a>Compatibility with Previous Releases</h2>
<h3>Compatibility of Release 3.4 with 3.3</h3>
<p>Eclipse 3.4 is compatible with Eclipse 3.3 (and, hence, with 3.2, 3.1
  and 3.0).</p>
<p> <strong>API Contract Compatibility:</strong> Eclipse SDK 3.4 is upwards
  contract-compatible with Eclipse SDK 3.3 except in those areas noted in the <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.platform.doc.isv/porting/eclipse_3_4_porting_guide.html" target="_top"> <em>Eclipse
  3.4 Plug-in Migration Guide</em></a>. Programs that use affected APIs and extension
  points need to be ported to Eclipse SDK 3.4 APIs. Downward contract compatibility
  is not supported. There is no guarantee that compliance with Eclipse SDK 3.4
  APIs would ensure compliance with Eclipse SDK 3.3 APIs. Refer to <a href="http://wiki.eclipse.org/index.php/Evolving_Java-based_APIs"> <em>Evolving
  Java-based APIs</em> </a> for a discussion of the kinds of API changes that
  maintain contract compatibility. </p>
<p><strong>Binary (plug-in) Compatibility:</strong> Eclipse SDK 3.4 is upwards
  binary-compatible with Eclipse SDK 3.3 except in those areas noted in the <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.platform.doc.isv/porting/eclipse_3_4_porting_guide.html" target="_top"> <em>Eclipse
  3.4 Plug-in Migration Guide</em></a>. Downward plug-in compatibility is not
  supported. Plug-ins for Eclipse SDK 3.4 are not usable in Eclipse SDK 3.3.
  Refer to <a href="http://wiki.eclipse.org/index.php/Evolving_Java-based_APIs"> <em>Evolving
  Java-based APIs</em> </a> for a discussion of the kinds of API changes that
  maintain binary compatibility. </p>
<p><strong>Source Compatibility:</strong> Eclipse SDK 3.4 is upwards source-compatible
  with Eclipse SDK 3.3 except in the areas noted in the <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.platform.doc.isv/porting/eclipse_3_4_porting_guide.html" target="_top"> <em>Eclipse
  3.4 Plug-in Migration Guide</em></a>. This means that source files written
  to use Eclipse SDK 3.3 APIs might successfully compile and run against Eclipse
  SDK 3.4 APIs, although this is not guaranteed. Downward source compatibility
  is not supported. If source files use new Eclipse SDK APIs, they will not be
  usable with an earlier version of the Eclipse SDK. </p>
<p><strong>Workspace Compatibility:</strong> Eclipse SDK 3.4 is upwards
  workspace-compatible with Eclipse SDK 3.3 unless noted. This means that workspaces
  and projects created with Eclipse SDK 3.3, 3.2, 3.1 or 3.0 can be successfully
  opened by Eclipse SDK 3.4 and upgraded to a 3.4 workspace. This includes both
  hidden metadata, which is localized to a particular workspace, as well as metadata
  files found within a workspace project (e.g., the .project file), which may
  propagate between workspaces via file copying or team repositories. Individual
  plug-ins developed for Eclipse SDK 3.4 should provide similar upwards compatibility
  for their hidden and visible workspace metadata created by earlier versions;
  3.4 plug-in developers are responsible for ensuring that their plug-ins recognize
  3.3, 3.2, 3.1, 3.0, 2.1, and 2.0 metadata and process it appropriately. User
  interface session state may be discarded when a workspace is upgraded. Downward
  workspace compatibility is not supported. A workspace created (or opened) by
  a product based on Eclipse 3.4 will be unusable with a product based an earlier
  version of Eclipse. Visible metadata files created (or overwritten) by Eclipse
  3.4 will generally be unusable with earlier versions of Eclipse. </p>
<p><strong>Non-compliant usage of API's</strong>: All non-API methods and classes,
  and certainly everything in a package with &quot;internal&quot; in its name,
  are considered implementation details which may vary between operating environment
  and are subject to change without notice. Client plug-ins that directly depend
  on anything other than what is specified in the Eclipse SDK API are inherently
  unsupportable and receive no guarantees about compatibility within a single
  release much less with earlier releases. Refer to <a href="http://www.eclipse.org/articles/Article-API%20use/eclipse-api-usage-rules.html"> <em>How
  to Use the Eclipse API</em> </a> for information about how to write compliant
  plug-ins. </p>

<h2>3. <a name="Known Issues"></a> Known Issues</h2>
<blockquote>
  <a href="I-General">
  3.1 General problems</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-General-Startup">3.1.1 Startup</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-General-GCJ">3.1.2 GCJ</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-General-UNC">3.1.3 UNC Paths</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-General-64bitJava">3.1.4 64-bit Java HotSpot(TM) VM</a><br>
  <a href="#I-Platform">3.2 Platform</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Core">3.2.1 Core</a><br>

  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Ant">3.2.2 Ant</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-User-Assistance">3.2.3 User Assistance</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-UI">3.2.4 UI</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Text">3.2.5 Text</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-SWT">3.2.6 SWT</a><br>

  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Team-CVS">3.2.7 Team and CVS</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Install-Update">3.2.8  Install/Update</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Debug">3.2.9 Debug</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Compare">3.2.10 Compare</a><br>
  <a href="#I-JDT">
  3.3 Java development tools (JDT)</a><br>
  <a href="#I-PDE">
  3.4 Plug-in Development Environment (PDE)</a><br>

</blockquote>
<p>Note: Bug numbers refer to the Eclipse project bug database at <a href="http://dev.eclipse.org/bugs/">http://bugs.eclipse.org/bugs/</a></p>

<h3>3.1 <a name="I-General">General problems</a></h3>
<h3>3.1.1 <a name="I-General-Startup">General - Startup</a></h3>
<h4>Installation/Configuration issues that can cause Eclipse to fail start</h4>
<p>Here are some common problems that can cause Eclipse not to start:</p>
<ul>
  <li>As shown <a href="#TargetOperatingEnvironments">above</a>, Eclipse 3.4 requires 
    at least a 1.4.2 VM. Perhaps an older version of the VM is being found in 
    your path. To explicitly specify which VM to run with, use the Eclipse <tt>-vm</tt> 
    command-line argument. (See also the <a href="#Running Eclipse">Running Eclipse</a> 
    section below.)</li>
  <li>
    Running Eclipse on Gentoo Linux may result in the following error message:
    <div style="margin-left: 40px;">
<tt>* run-java-tool is not available for sun-jdk-1.6 on i686<br>* IMPORTANT: some Java tools are not available on some VMs on some architectures</tt>
    </div>

If this occurs, start Eclipse by specifying a -vm argument, either
specify the path to a java vm or use: <tt>eclipse -vm `java-config</tt>
--java` (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=176021">176021</a>)</li>
<li>Eclipse must be installed to a clean directory and not installed over top of
a previous installation. If you have done this then please re-install to a new
directory. If your workspace is in a child directory of your old installation
directory, then see the instructions below on "<a href="#upgrading">Upgrading Workspace from a
Previous Release"</a>.</li>

<li>Java sometimes has difficulty detecting whether a file system is writable. In
particular, the method java.io.File.canWrite() appears to return true in
unexpected cases (e.g., using Windows drive sharing where the share is a
read-only Samba drive). The Eclipse runtime generally needs a writable
configuration area and as a result of this problem, may erroneously detect the
current configuration location as writable. The net result is that Eclipse will
fail to start and depending on the circumstances, may fail to write a log file
with any details. To work around this, we suggest users experiencing this
problem set their configuration area explicitly using the <tt>-configuration</tt> command
line argument. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67719">67719</a>)</li>
</ul>

<h4><b>Invalid characters in install directory prevents Eclipse from starting</b></h4>
<p>Eclipse will fail to launch if installed in a directory whose path
contains certain invalid characters, including :%#&lt;&gt;&quot;!. The
workaround is to install Eclipse in a directory whose path does not contain
invalid characters. (bugs <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=3109">3109</a>
and <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=17281">17281</a>)</p>

<h4>Hanging during class loading when out of permanent generation memory</h4>
<p>
The Sun VM may hang indefinitely during class loading if it runs out of permanent
generation memory.  This will cause CPU usage to stay at 100% until the process
is ended.  See the section <a href="#Running Eclipse">Running Eclipse</a> for details
on addressing this VM problem.
</p>

<h3>3.1.2 <a name="I-General-GCJ">General - GCJ</a></h3>
<p>GCJ is an effort by the GCC team to provide an open source Java compiler and
runtime environment to interpret Java bytecode. Unfortunately, the GCJ runtime
environment is not an environment that is often tested on by Eclipse
developers.</p>

<p>The most common problems surrounding GCJ are:</p>
<ul>
<li>Eclipse does not start at all</li>
<li>Eclipse throws a 'java.lang.ClassNotFoundException: org.eclipse.core.runtime.Plugin' that can be found in the logs (located in
workspace/.metadata/.log)</li>
</ul>

<p>The workspace's log file is a good place to check to identify whether GCJ is
being used or not. Every Eclipse log session should be prepended with
information about the runtime environment that was used to run Eclipse. The log
may include something like the following:</p>

<code>java.fullversion=GNU libgcj 4.2.1 (Debian 4.2.1-5)</code>

<p>If Eclipse does start, one can check which runtime environment is being used to
run Eclipse by going to 'Help > About Eclipse SDK > Configuration Details'. The
About Dialog itself can also provide other information, the build identifier
can be of particular interest as it is tagged by some distributions. This allows the
user to identify whether Eclipse was downloaded through the distribution's
package management system or directly from the eclipse.org website.</p>

Eg: <code>Build id: M20070212-1330 (Ubuntu version: 3.2.2-0ubuntu3)</code>

<p>The two most common workarounds are:</p><ul>
<li>download the Eclipse binary from eclipse.org directly</li>
<li>run Eclipse using an alternate Java runtime environment</li></ul>

<p>To download Eclipse, try one of the links below:</p><ul>
<li><a href="http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a></li>
<li><a href="http://download.eclipse.org/eclipse/downloads/">http://download.eclipse.org/eclipse/downloads/</a></li></ul>

It is imperative that 64-bit builds are downloaded and used if a 64-bit Java
runtime environment has been installed. Below are two sample tarball names of
version 3.4.0 of the Eclipse SDK packaged for 32-bit and 64-bit processors.

<pre>eclipse-SDK-3.4-linux-gtk.tar.gz (32-bit)
eclipse-SDK-3.4-linux-gtk-x86_64.tar.gz (64-bit)</pre>

<p>To run Eclipse with an alternate Java runtime environment, the path to the Java
virtual machine's binary must be identified. With an Eclipse installation from
the distribution, altering the $PATH variable to include the path to the
alternate Java runtime environment is often not enough as the Eclipse that
Linux distributions package often performs a scan internally to pick up GCJ by
itself whilst ignoring what's on the $PATH. An example of the terminal's output
is shown below:</p>

<code>searching for compatible vm...<br>
  testing /usr/lib/jvm/java-7-icedtea...not found<br>
  testing /usr/lib/jvm/java-gcj...found</code>

<p>Once the path to the virtual machine's binary has been identified, try running
Eclipse with the following command:</p>

<code>./eclipse -vm /path/to/jre/bin/java</code>

<p>For an actual example, it might look something like the following:</p>

<code>./eclipse -vm /usr/lib/jvm/sun-java-6/bin/java<br>
./eclipse -vm /opt/sun-jdk-1.6.0.02/bin/java</code>

<p>If this seems to solve the problem, it is likely that the problem really was
related to the use of GCJ as the Java runtime for running Eclipse. The
eclipse.ini file located within Eclipse's folder can be altered to
automatically pass this argument to Eclipse at startup. An example of its
content is presented below:</p>

<code>-showsplash<br>
org.eclipse.platform<br>
--launcher.XXMaxPermSize<br>
256m<br>
-vm<br>
/opt/sun-jdk-1.6.0.02/bin/java<br>
-vmargs<br>
-Xms40m<br>
-Xmx512m</code>

<p>Note that every argument must be on its own line. More information about the
eclipse.ini file can be found at <a href="http://wiki.eclipse.org/Eclipse.ini">http://wiki.eclipse.org/Eclipse.ini</a>.</p>

<p>If problems persists after downloading an installation of Eclipse from
eclipse.org and using a supported Java runtime environment (a list of which may be found <a href="#TargetOperatingEnvironments">above</a>), 
you can seek further assistance through the <a href="http://www.eclipse.org/newsgroups/">newsgroups</a>, 
the IRC <a href="irc://irc.freenode.net/#eclipse">channel</a>, 
and/or <a href="https://bugs.eclipse.org/bugs/">bugzilla</a>.
</p>

<h3>3.1.3 <a name="I-General-UNC">General - UNC Paths</a></h3>
<p>Eclipse 3.4.0 does not properly handle installation in a directory using 
Universal Naming Convention (UNC) paths. Limited uses of the platform will
work in this environment, but there are known bugs with starting workspaces on
a UNC location, or upgrading software installed in a UNC location
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235629">235629</a>,
bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=207103">207103</a>).
The platform is not well tested in such an environment.</p>

<h3>3.1.3 <a name="I-General-64bitJava">General - 64-bit Java HotSpot(TM) VM</a></h3>
<p>
There is a known issue with the 64-bit Java HotSpot(TM) 1.6.0 VM compiler which causes eclipse to 
crash (see Sun bug <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6614100">http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6614100</a>,
and Eclipse bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=214092">214092</a>).
The crash usually occurs within a VM CompilerThread when attempting to compile the method org.eclipse.core.internal.dtree.DataTreeNode.forwardDeltaWith.
</p>

<p>
To work around the issue you can exclude the method org.eclipse.core.internal.dtree.DataTreeNode.forwardDeltaWith from being compiled with the following
VM argument:
</p>

<code>
-XX:CompileCommand=exclude,org/eclipse/core/internal/dtree/DataTreeNode,forwardDeltaWith
</code>

<p>
This VM argument can be placed in the eclipse.ini file after the -vmargs line like the following:
</p>

<code>
-startup<br>
plugins\org.eclipse.equinox.launcher_1.0.100.v20080509-1800.jar<br>
--launcher.library<br>
plugins\org.eclipse.equinox.launcher.win32.win32.x86_1.0.100.v20080509-1800<br>
-showsplash<br>
org.eclipse.platform<br>
--launcher.XXMaxPermSize<br>
256m<br>
-vmargs<br>
-XX:CompileCommand=exclude,org/eclipse/core/internal/dtree/DataTreeNode,forwardDeltaWith<br>
-Xms40m<br>
-Xmx256m<br>
</code>

<p>
There have been reports of other classes that cause the compiler to crash.  If all else fails you can 
disable the compiler with the VM arg &quot;-Xint&quot;.
</p>

<h3>3.2 <a name="I-Platform">Platform</a></h3>

<h3>3.2.1 <a name="I-Platform-Core">Platform - Core</a></h3>

<h4>Installing plug-ins by unzipping them into the plugins directory</h4>
<p>If you have installed new plug-ins and they aren't showing up when you run,
then perhaps you unzipped them into your "plugins" directory and your
configuration might need to be refreshed. This can be accomplished by starting
Eclipse with the <tt>-clean</tt> command line argument.</p>

<h4>XML files with UTF-8 byte order mark fail to have content type detected</h4>
<p>Eclipse will fail to detect the proper content type for XML files that have a
UTF-8 byte order mark if Crimson is the XML parser (as it is on Sun 1.4 JREs,
but not on Sun 1.5 JREs). This
problem will prevent actions normally available when files of the affected
content types are selected from being presented to the user. The workaround is
to ensure the default XML parser supports UTF-8 BOMs (such as Xerces does). (bug
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67048">67048</a>)</p>
<h4>No branding with old config.ini</h4>
<p>If you have an old config.ini file and use it with a new Eclipse build, you
may not get the correct product branding. This is because the id of the standard
Eclipse product changed. Users in shared install scenarios may end up in this
situation as previous builds of Eclipse automatically generated config.ini files
in some cases. The work around is either to delete the local config.ini or
update the eclipse.product line to read eclipse.product=org.eclipse.platform.ide.</p>

<h4>Problems with
classloaders in created threads</h4>
<p>There is a known issue with trying to load classes from a newly-created
thread using a class loader different from the plug-in class loader. The result
will be a <code>ClassNotFoundException</code>. As a workaround, do the
following:</p>
<ol>
  <li>Create a thread in which to run your code.</li>
  <li>Send yourThread.setContextClassLoader(yourClassLoader); // you can find
    your classloader by grabbing a class it loaded (YourPluginClass.class.getClassLoader())</li>
  <li>Run your code in the newly created thread.</li>
</ol>
<p>If you set the context class loader for the current thread, you are
competing with other users of the thread (all of Eclipse), so the results will
be unpredictable. However, there should be no problem in practice provided you
reset the context class loader back to its original value when your use in the
current thread is&nbsp;complete. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=8907">8907</a>)</p>

<h4>Deadlock creating executable
extension in Plugin.startup</h4>
<p>If <code>Plugin.startup</code> code is too complex and performs tasks such
as creating an executable extension, a deadlock situation can be created. Only
simple bookkeeping tasks should be performed in <code>Plugin.startup</code>
code. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=5875">5875</a>)</p>
<h4>Potential Problems Converting Plug-in Manifests</h4>
<p>If your plug-in ships with a plug-in manifest and not an OSGi bundle manifest,
is shipped as a JAR file, and contains a nested JAR file then there may be
problems in the automatic generation of the bundle manifest file. The packages
defined in the nested JAR may not be exported correctly in the <tt>Export-packages</tt>

bundle manifest header. To work around this you should ship your plug-in with a
bundle manifest. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=97689">97689</a>)</p>
<h4>Location for Debug Options File on Mac OS</h4>
<p>If you are running in debug mode on Mac OS, the default location for the
.options file is inside the application bundle in the Eclipse.app/Contents/MacOS
directory (like the eclipse.ini). (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=88782">88782</a>)</p>
<h4>Configuration can become invalid when removing org.eclipse.update.configurator</h4>
<p>When launching an Eclipse Application from within the Eclipse IDE it is possible
to select the set of plug-ins that are included in the Eclipse Application. 
Removing the org.eclipse.update.configurator plug-in from the set of plug-ins to
an existing configuration can cause the configuration to become invalid.  This
can result in extra plug-ins installed in the target application that are not
resolved.  To work around this, after the org.eclipse.update.configurator
plug-in has been removed, the target configuration area should be cleared before
launching. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=85835">85835</a>)</p>

<h4>Issues with JNI that use FindClass</h4>
<p>
There may be issues when using a JNI implementation that uses FindClass 
in a function where the JNIEnv pointer is not available, such as in a C 
callback (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=125250">125250</a>).  The reason is that FindClass, in this case, uses the application
class loader to find the class.
If the desired class is in the classpath used for the application classloader
(e.g. defined by the VM argument -cp &lt;classpath&gt;), as it would typically be in 
a stand-alone application, there is no problem.  However, under
Eclipse, the application classloader does not have access to classes 
contained in plug-ins.  Eclipse uses its own class loader to find classes 
contained in plug-ins.
</p>
<p>
The proper plug-in class loader is used by FindClass in JNI functions which are 
passed the JNIEnv pointer, but not when you have to use AttachCurrentThread to get the 
JNIEnv pointer.  In this case the application classloader is used.
</p>
<p>
For example, the following will fail because AttachCurrentThread is used to 
get the JNIEnv pointer:</p>
<pre>
static JavaVM* jvm;  // Global variable

void myCallback(void) {
    JNIEnv* env;
    jvm->AttachCurrentThread((void**)&amp;env, NULL);
    // Fails if some/class is not in the application classloader:
    jclass cls = env->FindClass(&quot;some/class&quot;);
    jmethodID methodID = env->GetMethodID(cls, &quot;methodName&quot;,
      &quot;(Ljava/lang/String;)V or whatever signature&quot;);
    env->CallVoidMethod(callback, methodID, ...);
    jvm->DetachCurrentThread();
  }
}
</pre>
<p>
A solution is to cache the method ID, for example:
</p>
<pre>
static jmethodID mid;  // Global variable

JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
...
  // Store the JavaVM pointer
    jvm = vm;

  // Find the class and store the method ID
  // Will use the class loader that loaded the JNI library
    jclass cls = env->FindClass(className&quot;some/class&quot;);
    if(!cls) goto ERR;

    mid = env->GetMethodID(cls, &quot;methodName&quot;,
      &quot;(Ljava/lang/String;)V or whatever signature&quot;);
    if(!mid) goto ERR;
...
}

void myCallback(void) {
    JNIEnv* env;
    jvm->AttachCurrentThread((void**)&amp;env, NULL);
    env->CallVoidMethod(callback, mid, ...);
     // Handle error ...
    jvm->DetachCurrentThread();
  }
}
</pre>


<h3>3.2.2 <a name="I-Platform-Ant">Platform - Ant</a></h3>
<h4>UTF-8 encoded buildfiles with Byte Order Mark</h4>
<p>UTF-8 encoded buildfiles with byte order marks will fail to be parsed correctly depending on the XML parser being used for the build. Therefore a valid buildfile will fail to build with an error message similar to: "BUILD FAILED: C:\workspace\bom.xml:1: Document root element is missing.". To succeed in building with these files, ensure to include Xerces jars on the Ant runtime classpath so that the Xerces parser is used to parse the XML. As well the context menu for these files in the Navigator or Package Explorer will not have the run shortcuts for Ant builds. (bug
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67048">67048</a>)</p>
<h4> Custom Ant tasks and Ant
types must be separate from plug-in library JARs</h4>
<p>Including the class files for custom Ant tasks or Ant types in the regular
code JAR for your plug-in causes problems. These class files must be provided in
a separate JAR that is contributed to the <code>org.eclipse.ant.core.antTasks</code>
or <code>antTypes</code> extension point (and not declared as a library in the
plug-in's manifest). This ensures that the Ant tasks and types are loaded by the
special Ant class loader and not by a plug-in classloader. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=34466">34466</a>).</p>

<h4> Concurrent Ant builds not supported</h4>
<p>Eclipse can run Ant in the same JVM as the rest of Eclipse. Several aspects
of Ant and its use of global Java resources (such as System.out and System.err),
make it unsafe to run more than one Ant build concurrently in the same JVM. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=24129">24129</a>).</p>
<h4> Running certain Ant tasks
cause memory leakage</h4>
<p>Certain Ant tasks are known to leak memory. Please see the bug report for
details, patches, and possible workarounds. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=24448">24448</a>)</p>
<h4> Tasks that require input
lock up workspace</h4>

<p>As with using Ant from the command line, prompts for input from the
console is not handled. This is not the same as making use of the &lt;input&gt;
task, which works correctly within Eclipse. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=21748">21748</a>)</p>
<h4>&quot;version&quot; property is always set when running Ant in the same VM as Eclipse</h4>
<p>The Xalan libraries set system properties including a version property. These get set as properties within the Ant build and therefore the "version" property cannot be set within an Ant buildfile due to the immutable nature of Ant properties. This property will always be set to "2.4.1" for Ant builds in the same VM as Eclipse. (bug
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=45717">45717</a>)</p>
<h4>XDoclet support from within Eclipse</h4>

<p>Since there are differences when running Ant from the commandline and within Eclipse, some extra steps may be needed to have XDoclet support function correctly within Eclipse. Problems may occur creating XDoclet subtasks. The workarounds and full discussion can be found in bug report. (bug
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=37070">37070</a>)</p>
<h4>Ant Editor code completion based on Ant 1.6.1</h4>
<p>Code completion provided by the Ant editor does not respect the user-specified version of org.eclipse.ant.core plug-in or ANT_HOME. Code completion proposals are mostly based on Ant 1.6.1 with some updates to Ant 1.6.5 (bug
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=30886">30886</a>)</p>
<h4> Eclipse can hang due to implementation of the Ant &lt;property> task (Windows 9X
only)</h4>
<p>On Windows 9X, using:&lt;property environment="env"/> will cause Eclipse to hang if the build occurs in the same VM as Eclipse. Running the build in a separate VM will hang the build but not Eclipse.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44196">44196</a>)</p>

<h4> Setting build loggers not supported when debugging Ant builds</h4>
<p>When debugging Ant builds within Eclipse, setting -logger as a program argument will be ignored.</p>

<h4>Renaming an External Tool builder set to run during auto-build will cause errors</h4>
<p>If you rename an existing external tool builder that is configured to run during auto-builds, you will get the following error:
 Errors during build.
      Errors running builder "Integrated External Tool Builder" on project
      &lt;PROJECT_NAME&gt;.
      The builder launch configuration could not be found.
The workaround is to first disable the builder for auto-builds and then rename the builder.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=118294">118294</a>)</p>

<h4>Slow typing/saving of the Ant editor with imports that define numerous macrodefs</h4>
<p>The Ant editor is slow on saving with buildfiles that have &lt;import&gt; declarations of buildfiles that have numerous &lt;macrodef&gt;s.
See bugs <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=92640">92640</a> and <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=125117">125117</a> for possible workarounds</p>

<h4>Failure to run Ant builds on non-Windows platforms if Eclipse installed in location with spaces in the path</h4>
<p>Due to a bug in Ant 1.7.0, Ant builds will fail with an IllegalArgumentException if the Eclipse installation is in a location with spaces in the path.
Embedded usage of Ant builds, such as plug-in export will also fail.
See bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=187993">187993</a> for possible workarounds</p>

<h3>3.2.3 <a name="I-Platform-User-Assistance">Platform - User Assistance</a></h3>
<h4>Welcome page not displayed properly (Linux/Unix)</h4>
<p>The default Welcome implementation is HTML-based and requires a supported browser
in order to work. If no supported browser can be found, Welcome falls back to its
Forms-based implementation, which has a different (simpler) appearance. Consult the
<a href="http://www.eclipse.org/swt/faq.php#browserplatforms">SWT FAQ</a> for supported
browsers and setting up your browser to work with eclipse.
</p>

<h4>Help browser tool bar buttons do not work for some documents</h4>
<p>The Help browser's Print, Synchronize, and Bookmark buttons do not work for
pages that are not actually installed with the product. However, you can always
use the print command in the browser's context menu to print the page you're
reading. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44216">44216</a>)</p>
<h4> Help documents not displayed
in a browser or very slow document loading (Windows only)</h4>

If your LAN settings are not properly configured for local host access, your
Help browser might open to a blank page or display an HTTP error instead of a
help page, or you may experience long delays when loading help documents. Your
system administrator can configure your LAN settings so that help documents can
be accessed from the local help server.
<blockquote>
  <ol>
    <li>In the Control Panel, open <b>Internet Options</b>, select the <b>Connections</b>
      tab and choose <b>LAN Settings</b>.</li>
    <li>If your host was configured to use DHCP for IP assignment, make sure
      that the &quot;Automatically detect settings&quot; check box is cleared.</li>
    <li>If you use a proxy server, ensure that the &quot;Bypass proxy server
      for local addresses&quot; is selected.</li>
    <li>In &quot;Advanced&quot; settings for proxies, add
      &quot;127.0.0.1;localhost&quot; to the &quot;Exceptions&quot; if these
      addresses are not listed.</li>
    <li>If you are using an automatic configuration script for proxy
      settings, and are not sure that the script is correct, clear the &quot;Use
      automatic configuration script&quot; check box.</li>

  </ol>
</blockquote>
<p>If the above steps do not fix your problem, try changing the port and host
properties on the <b>Help &gt; Help Server</b> preference page. In general,
setting <code>host</code> to <code>localhost</code> or <code>127.0.0.1</code>

should work. Also, especially when running a firewall, you may want to specify
port 80 or some other firewall-friendly value. (bugs <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=7036">7036</a>,
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=9418">9418</a>, <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=11394">11394</a>)</p>
<h4> Working disconnected from
the network (Windows only)</h4>
If you are experiencing problems when not connected to the network, you must
install the loopback adapter from the Windows installation CD. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=831">831</a>)
<h4> Using Internet Explorer in
offline mode (Windows only)</h4>

If you have been using Internet Explorer in Offline mode, when you access the
help system you will get a message indicating that the web page you requested is
not available offline or a blank page will display. Click <b>Connect</b> or
deselect &quot;Work Offline&quot; in the Internet Explorer &quot;File&quot; menu
to return the system behavior to normal.
<h4>Help topics not highlighted in High Contrast mode (Windows only)</h4>
<p>Windows High Contrast settings are not consistently picked up by Internet
Explorer when they are set from the Accessibility Options utility as opposed to
when they are set using the predefined schemes. On Windows XP, it is recommended
to set High Contrast as follows: Right click the desktop, chose properties,
select Windows Classic style from the Windows and buttons drop down on the
Appearance tab, and choose your scheme (for example High Contrast Black) from
Color Scheme drop down. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=28609">28609</a>)</p>
<h4>Help browser displays a blank page</h4>

<p>If you see a help launched with a blank page, and no errors displayed, it can
be caused by a conflict between libraries in org.eclipse.tomcat plug-in and jars
optionally installed in JRE jre/lib/ext directory. To fix the problem, ensure
that the JRE used for running Eclipse does not contain any J2EE or Apache jars
in the jre/lib/ext directory. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63970">63970</a>)</p>

<h3>3.2.4 <a name="I-Platform-UI">Platform - UI</a></h3>
<h4>High contrast settings</h4>
<p>Eclipse was tested for High Contrast using 1152 x 864 resolution in Windows
XP High Contrast mode. You can select this mode by selecting Accessibility
Options &gt; Display &gt; Use High Contrast from the Windows XP Control Panel
menu.</p>
<h4>Default text file encoding
may be detected incorrectly (Windows XP/2000 only)</h4>

<p><strong>Note</strong>: the bug report associated with this problem has been fixed. If you run Eclipse with JDK 1.5 or greater you should not have to use the workaround stated below any longer. However, the problem still exists when running Eclipse with JDK 1.4.x or lower, so in this case  the workaround is still required . </p>
<p>The &quot;Text file encoding&quot; value displayed in the Preferences
  dialog under &quot;Editors&quot; may be wrong on platforms running Windows XP
(or 2000) when the user locale and system locale differ.&nbsp;</p>
<p>Example of the manifestation of the bug: A Japanese user using Japanese
Windows 2000 works in New York, United States. The user has selected English
(United States) as the user locale. The &quot;Text file encoding&quot; value
displayed by Eclipse is incorrect: &quot;Cp1252&quot; (English). It should
display the system locale &quot;MS932&quot; (Japanese).</p>
<p>Workaround: The user can modify the user locale so that user locale and
system locale are identical. In the example above, this means the user should
set Japanese as the user locale. Then restart Eclipse. The &quot;Text file
encoding&quot; value will then be correct: &quot;MS932&quot; (Japanese).</p>

<p>For Windows XP:</p>
<ul>
  <li>To check the system locale: Open the Control Panel. Go to Regional and
    Language Options. Switch to the Advanced tab. The system locale is specified
    in &quot;Language for non-Unicode programs&quot;.</li>
  <li>To change the user locale: Open the Control Panel. Go to Regional and
    Language Options. The user locale can be modified by changing the language
    in &quot;Standards and formats&quot;.</li>
</ul>
<p>For Windows 2000:</p>
<ul>
  <li>To check the system locale: Open the Control Panel. Go to Regional
    Options. Look up the items in the General tab, inside the &quot;Language
    settings for the system&quot; group. The system locale is the item marked as
    (Default).</li>
  <li>To change the user locale: Open the Control Panel. Go to Regional
    Options. The user locale can be modified by changing the location in
    &quot;Settings for the current user&quot;.</li>

</ul>
<p>(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=20641">20641</a>)</p>
<h4> Dirty state not tracked
properly for OLE documents (Windows only)</h4>
<p>The dirty state for an OLE document is not updated properly. This causes
Eclipse to prompt to save the contents of the editor when the document is
closed, even if the contents have already been saved. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=2564">2564</a>)</p>
<h4> OLE document crashes can
cause Eclipse to also crash (Windows only)</h4>
<p>If an OLE document crashes, Eclipse can crash, or the workbench menus can
become inconsistent.</p>
<h4>2.1 Presentation based workspaces incorrectly get new Min/Max behavior</h4>
<p>
Workspaces that are currently using the Eclipse 2.1 Presentation will incorrectly
'inherit' the new min/max behavior when opened with 3.3.
</p>
<p>
Workaround:</p>
<ol>
 <li>Go to the 'Preferences -> Appearance' page, change the current presentation to 'Default' and select apply</li>
 <li>Change it back to the 2.1 Presentation, select 'OK' and 'Yes' to the restart prompt</li>
</ol>
When the workbench re-opens the old min/max behaviour will be restored.
<h4>Toolbars only containing contributed controls exhibit display errors on Mac/Linux</h4>
<p>
Currently there is no way on the Max or Linux platforms to define the <b>height</b> for controls contributed to
toolbars, nor will those platforms respect the size returned by the control's <code>computeSize</code> method. If you
encounter this issue there is currently no truly viable workaround.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=183003">183003</a>)
</p>


<h3>3.2.5 <a name="I-Platform-Text">Platform - Text</a></h3>
None.

<h3>3.2.6 <a name="I-Platform-SWT">Platform - SWT</a></h3>
<h4>Eclipse plug-in based on the SWT Browser throws exception</h4>
<p>The SWT Browser widget uses a platform-specific web browser to render HTML.
The org.eclipse.swt.SWTError exception (&quot;No more handles&quot;) is thrown
on platforms that don't meet the requirements for running the Browser widget.
Supported platforms and prerequisites are listed on the SWT FAQ item <a href="http://www.eclipse.org/swt/faq.php#browserplatforms">
&quot;Which platforms support the SWT Browser?&quot;</a>.</p>

<h4>Crash when using the file dialog (Windows XP with SP2 only)</h4>
<p>With some versions of Synergy from Telelogic, Eclipse will crash when you try to open a file 
dialog.  This is due to a problem with the CMExplorer.dll.  The workaround is to
upgrade to Synergy 6.4 (or higher) or to run <code>regsvr32 /u CMExplorer.dll</code> and 
reboot (note that this will disable Active CM).
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=87798">87798</a>)</p>

<h4>Opening File Dialog crashes eclipse (Vista only)</h4>
<p>On Vista, launching eclipse using <code>-vmargs -Xmx[any size]</code> can crash eclipse when the FileDialog is opened.
The workaround is to use the default heap size, i.e. do not use the <code>-Xmx</code> VM args.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=188317">188317</a>)</p>

<h4>Internet Explorer sometimes freezes on PDF documents with Acrobat Reader 6 (Windows only)</h4>
<p>With Acrobat Reader 6 or 7, some users have experienced an unresponsive user 
interface for up to two minutes when closing a browser which is displaying a PDF document.
The workaround is to disable displaying PDF in the browser. In Adobe Reader
select Edit &gt; Preferences... &gt; Internet and uncheck 'Display PDF in browser'.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56184">56184</a>)</p>

<h4>Crash while editing text (Windows XP with SP2 only)</h4>
<p>Some users who have installed Service Pack 2 on Windows XP have experienced
crashes while using editors in Eclipse.  The workaround is to place a working version 
of Windows\System32\USP10.DLL in the Eclipse startup directory or uninstall
Service Pack 2.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56390">56390</a>)</p>

<h4>Input Method broken (Motif only)</h4>
<p>Some versions of RedHat Linux such as Fedora Core 3 and Enterprise Linux WS 
release 4 use a new technology called IIIM (Intranet/Internet Input Method
Framework) to replace the old XIM (X input method).   When running on these 
new systems, Eclipse will crash if you attempt to enter any DBCS character.  The 
workaround is to use a XIM based input method such as chinput.  This problem 
may be fixed in newer releases of RedHat.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=89722">89722</a>)</p>

<h4>Eclipse does not start on Linux-Motif with Xinerama and a UTF-8 locale</h4>
<p>The Linux-motif build of Eclipse does not launch properly when run on a 
computer with Xinerama (provides support for dual head monitors) and a UTF-8 
locale.  The workaround for this problem is to change the locale to a non-UTF-8 
value, or to disable Xinerama.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=38843">38843</a>)
</p>

<h4>Eclipse hangs when pasting from an unresponsive application (GTK only)</h4>
<p>If the application that is supplying the clipboard material is unresponsive,
the paste operation hangs Eclipse for several minutes. This situation can be
encountered when copying from an Eclipse target workbench, suspending the target
workbench at a breakpoint and pasting into the hosting Eclipse workbench. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44915">44915</a>)</p>

<h4>Unable to drag data between applications in simplified Chinese locale (Motif only)</h4>
<p>When configured for the simplified Chinese locale, it is not possible to
drag data between applications running on the Motif window system. This is a
known limitation of the Open Motif library. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=29777">29777</a>)</p>

<h4>Crash when attempting to launch file browser (AIX Motif only)</h4>
<p>There is a known AIX graphics bug affecting certain levels of AIX
releases. Ensure that the AIX install includes the necessary service updates as
described in the &quot;Install notes/requirements for Eclipse on AIX&quot;
attachment to Eclipse bug report number <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=34524">34524</a>.</p>

<h4>Available colors on 8-bit Linux (Linux only)</h4>
<p>Typically, in Gnome Linux installs running with 8-bit visuals (i.e. 256
color mode), before the Eclipse application is started there are no free colors.
This may mean that Eclipse is unable to allocate the default widget background
color, causing it to display a white background. The functionality, however, is
otherwise unaffected.</p>

<h4>IME-related crash (Linux Motif only)</h4>
<p>When using Linux Motif and GB18030 IME &quot;chinput&quot;, Eclipse can
crash if the IME client window is left open when the parent window is disposed.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=32045">32045</a>)</p>

<h4>IME converstion problem (Solaris GTK only)</h4>
<p>When typing Japanese text, the conversion to Kanji must be done one ideogram at
a time. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=226636">226636</a>)</p>

<h4>Using IBM J9 VM (Photon and AIX)</h4>
<p>On QNX Photon and IBM AIX, the SWT library will not be found when running
with an IBM J9 1.5 VM. This is a bug in the IBM J9 class library in version 1.5.
You can workaround this problem by adding the SWT library directory to your
LD_LIBRARY_PATH environment variable.</p>

<h4> gtk_init_check and X11 socket failure when using the IBM 1.4.2 JRE (GTK only)</h4>
<p>Under RHEL 3.1 with the IBM 1.4.2 JRE and a large number
of plugins, Eclipse may fail to launch with an exception from
<tt>gtk_init_check</tt> along with this error:</p>
<pre>
_X11TransSocketOpen: socket() failed for local
_X11TransSocketOpenCOTSClient: Unable to open socket for local
</pre>
<p>A workaround is to set the environment variable <tt>JAVA_HIGH_ZIPFDS</tt> to
a value of 500 before starting Eclipse. (bug
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106396">106396</a>)</p>

<h4>Key bindings can stop working on Debian (GTK+ only)</h4>
<p>On some versions of Debian, Eclipse key bindings may stop working.  In this context
the only way to make the key bindings work again is to restart Eclipse.
</p><p>
The problem is that a focus issue exists in GTK+ 2.6.7 and earlier, for which SWT has
a workaround.  This workaround is incompatible with the GTK+ 2.6.7 fix, so a GTK+ version
check is done at runtime to determine whether the workaround should be used or not.
However, Debian backported the GTK+ focus fix into their libgtk+2.0 (2.6.4-2) package,
so the SWT workaround and GTK+ fix are both incorrectly applied in this context.
</p><p>
To work around this problem, either get the Debian unstable version of GTK+, compile your
own GTK+, or hack SWT's Shell.gtk_realize(int) and change the version that it checks.
See SWT bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107013">107013</a>
and GTK+ bug <a href="http://bugzilla.gnome.org/show_bug.cgi?id=109246">109246</a>
for more information.</p>

<h4>Browser does not display applets (Windows and OS X)</h4>
<p>The Browser widget cannot be used to display pages containing Java applets on Windows
and OS X, as a result of crashes that occur when attempting to launch a second JVM for the
applet that is in-process with the main process JVM.  The workaround for clients wishing
to display web pages with Java applets is to launch an external web browser to do so with
<code>org.eclipse.swt.program.Program</code> (see bugs
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59506">59506</a> and
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=100622">100622</a>).</p>

<h4>Eclipse hangs with earlier versions of Quicktime (Intel Mac OS X only)</h4>
<p>Some users reported encountering system hangs while using Eclipse on Intel-based Macs.
These hangs were traced to a problem in some versions of QuickTime, which has now been fixed.
Therefore, Eclipse users on Intel-based Macs should use Quicktime's update facilities to ensure
that their Quicktime version is at least 7.1.1. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=142892">142892</a>)
</p>

<h4>Typing in an editor crashes with IBM 1.5 VM (Linux GTK PPC only)</h4>
<p>When running on the IBM Java 5.0 VM, Eclipse crashes while the user is typing in an editor.
If using this VM you must disable the JIT with the -Xnojit vm argument to avoid the crashes
(see bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=116730">116730</a>).
The command line for launching Eclipse with this vm should be: <br>
<code>eclipse -vmargs -Dosgi.locking=none -Xnojit</code>
</p>

<h4>Eclipse won't start (Linux GTK PPC only)</h4>
<p>Eclipse fails to create a lock file with reason &quot;No locks available&quot;. 
To launch eclipse you must disable file locking using the osgi.locking property.
For example, you could launch eclipse as follows: <br>
<code>eclipse -vmargs -Dosgi.locking=none</code>
</p>

<h4>SWT_AWT bridge doesn't work (Mac OSX only)</h4>
<p>In order to use the SWT_AWT bridge on the Mac, OS X jre version 1.5.0 Release 5
(or greater) must be used.
</p>

<h4>Eclipse printing is disabled or Eclipse hangs when opening editor (GTK only)</h4>
<p>In order to print from eclipse on GTK, you need to have GTK+ version 2.10 or later.
In addition, at least two print backends must exist on the machine: file and lpr.
Assuming a that GTK was installed in /usr, the installed backends can be viewed at /usr/lib/gtk-2.0/2.10.0/printbackends.
</p>

<h4>SWT cannot be used with OS X JRE version 1.6 (Mac OSX only)</h4>
<p>OS X JRE version 1.6 assumes that pointers have a size of 64 bits, but SWT's Carbon
port only uses 32-bit pointers, so SWT and Eclipse cannot be used with OS X JRE version
1.6.  The workaround is to use an earlier supported version of the OS X JRE.
</p>

<h4>Browser.setText() cannot be used with beta versions of Firefox 3.0/XULRunner 1.9</h4>
<p>As a result of a late interface change in the Firefox 3.0/XULRunner 1.9 development stream,
most beta versions of these applications cannot be used by the Browser if its <code>setText()</code>
API is used.  This problem can be fixed by upgrading to the final release versions of these
applications. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235020">235020</a>)
</p>

<h4>Strings may be truncated or incorrectly wrapped on RHEL5 (Linux GTK only)</h4>
<p>
Strings on wrapping Controls may not appear correctly in some locales on RHEL5 as a result
of a bug in Pango version 1.14.x.  This problem can be fixed by upgrading the installed
Pango library to a version that is newer than 1.14.x.  (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=231951">231951</a>)
</p>

<h3>3.2.7 <a name="I-Platform-Team-CVS">Platform - Team - CVS</a></h3>
<p>The following are known problems with the CVS repository provider only, and
do not apply to other repository providers. Additional information on how to use
CVS from Eclipse can be found in the <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-vcm-home/docs/online/cvs_features2.0/cvs-faq.html">Eclipse
CVS FAQ</a>.</p>
<h4> CVS server compatibility</h4>
<p>The CVS plug-in parses messages returned from the CVS server. If the format
of these messages is not as expected, some of the plug-in's functionality may be
missing. The CVS plug-in is compatible with all stable 1.11.X builds of the CVS
server, and should be compatible with future releases in that stream unless text
message formats change (the last tested server was 1.11.22). As for the 1.12.X
feature releases of CVS, the Eclipse CVS client has been tested with builds up
to 1.12.13. However, future releases could easily break the Eclipse CVS client.
Basic functionality, such as Checkout, Commit, and Update, should always work,
but there may be problems with more advanced commands such as Synchronizing and
Browsing the repository.</p>
  
<h4>SSH2 proxy settings lost upgrading to 3.3</h4>
<p>CVS now uses the Platform proxy settings. As a result, any CVS proxy settings
will be lost and must be re-entered on the General&gt;Network Connections preference 
page. </p>
<h4>Connection cannot be found after initially missing</h4>
<p>If a connection initially fails due to a network problem, the connection may
continue to fail even when the network problem is fixed. In order to establish
the connection you must exit and restart Eclipse. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=9295">9295</a>)</p>
<h4>&quot;Received broken pipe signal&quot; error from server</h4>
<p>Eclipse sometimes performs multiple commands within a single connection to
the server. This may cause problems with CVS servers that are running server
scripts in response to certain commands. (bugs <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=23575">23575</a>
and <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=23581">23581</a>)</p>

<h4>&quot;Terminated with fatal signal 10&quot; error from server</h4>
<p>There is a bug in the CVS server related to some compression levels. If you
get this error, changing the compression level on the CVS preference page may
help. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=15724">15724</a>)</p>
<h4>&quot;Unknown response&quot; error using ext connection method</h4>
<p>There are a few situations that can result in an &quot;Unknown response&quot;
error messages when using the ext connection method. One situation involves
using an external communications client (e.g. rsh or ssh) that adds CRs to the
communications channel (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=21180">21180</a>).
Another involves Eclipse not properly reading the stderr output of the external
communications tool. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=11633">11633</a>)</p>

<h4>A disabled CVS capability may not be auto-enabled in existing workspaces</h4>
<p>New in 3.0 is the ability to disable capabilities and the CVS support in
Eclipse can be disabled. However, for backwards compatibility the CVS capability
is auto-enabled in existing workspaces that already contain CVS projects. The
auto-enabling function may not run if the team support plugin is not loaded at
startup. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66977">66977</a>)</p>
<h4>Builder output files may appear as changed</h4>
<p>When folders containing build output are shared they may get improperly
marked as dirty when build output is generated.</p>

<h3>3.2.8 <a name="I-Platform-Install-Update">Platform - Install/Update</a></h3>
<h4>Manually installing features and plug-ins on a FAT file system (Windows only)</h4>

<p>When features and plug-ins are manually installed on top of an Eclipse-based
 product install located on a FAT file system that has already been run at least 
 once, the product must be explicitly restarted with -clean. That is,</p>
<pre>eclipse.exe -clean
</pre>

<h4>Connecting to untrusted sites using https</h4>
<p>You cannot install or update software from a site using https whose certificate
is not chained to a trusted root certificate in your local certificate store. This typically
means the server is using a self-signed certificate, or a certificate authenticated by
an unknown third party.</p>

<h4>Removing a link file does not uninstall the corresponding extension location</h4>
<p>If you have an extension location in an Eclipse-based application that is connected
to your configuration via a link file, the extension is not removed when the link is deleted.
The workaround is to move or delete the extension location, and restart the platform
with the -clean command line argument. You can then restore or move back the 
extension location content to its original location (bug <A HREF="https://bugs.eclipse.org/bugs/show_bug.cgi?id=232094">232094</A>).
</p>

<p><B>Extension location is lost if the install path changes</B></p>
<P>A previously configured extension location may be temporarily removed if the install is moved or mounted 
under a different path. This only happens when the link file that configures the 
extension location uses a relative path that points to a directory under the Eclipse 
install. On a second startup using the same install path, the extension location 
is added again (bug <A HREF="https://bugs.eclipse.org/bugs/show_bug.cgi?id=95403">95403</A>). <BR></P>

<h3>3.2.9 <a name="I-Platform-Debug">Platform - Debug</a></h3>
<p>None. (Known problems with the Java debugger appear below in the <a href="#I-JDT">JDT</a>
section.)</p>

<h3>3.2.10 <a name="I-Platform-Compare">Platform - Compare</a></h3>
<p>None.</p>

<h3>3.3 <a name="I-JDT">Java development tools (JDT)</a></h3>

<h4>Multiple regions formatting in a given source snippet</h4>
In version 3.4, the new API method <code>org.eclipse.jdt.core.formatter.CodeFormatter.format(int, String, IRegion[], int, String)</code>
has been added to allow the formatting of several regions in a source snippet with a single pass.<br>
Even if specified, this method does not currently accept comments of the following kinds:
<ul>
<li><code>org.eclipse.jdt.core.formatter.CodeFormatter#K_SINGLE_LINE_COMMENT</code></li>
<li><code>org.eclipse.jdt.core.formatter.CodeFormatter#K_MULTI_LINE_COMMENT</code></li>
<li><code>org.eclipse.jdt.core.formatter.CodeFormatter#K_JAVA_DOC</code></li>
</ul>
This will be fixed in a future release (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=233967">233967</a>).

<h4>Searching for constant field references</h4>
<p>Search does not find references to constant fields inside binaries because
the Java Language Specification mandates that constant field values be inlined
in the class file's byte codes, leaving no trace of a field reference.&nbsp;(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=12044">12044</a>)</p>

<h4> Cut, copy, paste not working
for linked resources in views showing Java elements</h4>
<p>The cut, copy, and paste actions do not work for linked files and folders
appearing in views that show Java elements, including the Package Explorer. The
workaround is to use these actions from the Navigator view instead. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=34568">34568</a>)</p>
<h4> Java working sets not
working correctly for elements from JRE system library container</h4>
<p>Applying a working set consisting entirely of elements from the JRE System
library container as a filter to the packages view might result in an empty
Package Explorer. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=35395">35395</a>)</p>

<h4>Cannot generate Javadoc for packages with GB18030 characters in the name</h4>
<p>Most class libraries do not properly support the creation of a system
process (via <code>java.lang.Runtime.exec(...)</code>) when the specified
command line contains GB18030 characters. Since Javadoc is created using the
Javadoc executable provided with the JDK, generating Javadoc fails if the
package or class name contains GB18030 characters. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=32215">32215</a>)</p>

<h4>Side effects of Step into Selection and Run to Line</h4>
<p>The actions &quot;Step into Selection&quot; and &quot;Run to Line&quot;
optimistically set breakpoints on the line the user has chosen to step into or
run to. However, the debugger can not determine if or when execution will ever
reach the chosen line. The breakpoints set by the underlying implementation are
not visible to the user and can cause execution to suspend unexpectedly at a
later time, when the associated line is actually executed. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51507">51507</a>)</p>
<h4>Default locale initialization incorrect</h4>
<p>The default locale is generally initialized from the settings in the
operating system when a target VM is launched. However, when using javaw.exe on
JDK1.4.2, Windows XP, the default locale is incorrectly initialized to en_US, no
matter what the operating system settings are. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65945">65945</a>)</p>
<h4>Suspend on uncaught exception overrides exception breakpoint location filters</h4>
<p>Exception breakpoints can be configured with location filters (inclusive and 
  exclusive). When an unchecked exception is configured to <b>not</b> suspend 
  execution in a specific class, execution will still suspend when the user preference 
  to suspend on uncaught exceptions is on. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66770">66770</a>)</p>

<h4>Running Java programs with non-Latin-1 characters in package or class names</h4>
You get a <code>java.lang.NoClassDefFoundError</code> when running Java
programs with non-Latin characters in the package or class names. The workaround
is to package the class files as a JAR file and run the program out of the JAR
and not from the file system directly. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4181">4181</a>)

<h4>Cannot run or debug class in
a project with GB18030 characters in project name</h4>
<p>Most class libraries do not properly support the creation of a system
process (via <code>java.lang.Runtime.exec(...)</code>) when the specified
command line contains GB18030 characters. This limitation means the debugger
cannot launch applications when the command line it generates contains GB18030
characters. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=32206">32206</a>)</p>
<h4>Cannot detect installed JRE with GB18030 characters in path name</h4>
<p>Automatic JRE detection fails when the JRE is stored in a directory
containing GB18030 characters in its name. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=33844">33844</a>)</p>
<h4> Unable to debug stack
overflows</h4>

<p>If a debug session suspends on a <code>java.lang.StackOverflowError</code>
exception (due to an exception breakpoint), the debugger may not be able to
retrieve any debug information from the target JVM. As well, the debugger may
not be able to reliably interact with the target JVM past this point. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=19217">19217</a>)</p>
<h4> Evaluation limitation</h4>
<p>The debugger uses threads in the target JVM to perform evaluations (both
explicit evaluations that the user requests, and implicit evaluations such as <code>toString()</code>
invocations in the <b>Variables</b> view). The Java Debug Interface (JDI)
requires that the thread in which an evaluation is performed be suspended by a
user event (that is, a breakpoint or step request). Evaluations cannot be
performed on threads suspended by the suspend action. As well, when a breakpoint
is configured to suspend the JVM rather than just the individual thread, the
threads which did not encounter the breakpoint are not in a valid state to
perform an evaluation. When an evaluation is attempted in a thread that is not
in a valid state to perform an evaluation, an error message will appear to the
effect of &quot;Thread must be suspended by step or breakpoint to perform method
invocation&quot;. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=34440">34440</a>)</p>

<h4> Missing debug attributes</h4>
The debugger requires that class files be compiled with debug attributes if
it is to be able to display line numbers and local variables. Quite often, class
libraries (for example, &quot;<code>rt.jar</code>&quot;) are compiled without
complete debug attributes, and thus local variables and method arguments for
those classes are not visible in the debugger.
<h4> Using Hot Code Replace</h4>
<p>Hot code replace is supported on JDK 1.4.x VMs, and IBM J9 VMs. The debugger
will attempt to replace all class files that change in the workspace as the user
edits and builds source code. However, hot code replace is limited to changes
that a particular virtual machine implementation supports. For example, changes
within existing methods may be supported, but the addition or removal of members
may not be.</p>
<p>Note that hot code replace and stepping on JDK 1.4.0 VMs was unreliable. The
underlying VM problems were fixed in JDK 1.4.1, and later.</p>
<h4> Scrapbook</h4>
Setting a breakpoint inside a scrapbook page is not supported.

<p>When a snippet is run in the scrapbook which directly or indirectly calls <code>System.exit(int)</code>,
the evaluation cannot be completed, and will result in a stack trace for a <code>com.sun.jdi.VMDisconnectedException</code>
being displayed in the scrapbook editor.</p>
<p>Terminating a scrapbook page while it is performing an evaluation results
in a <code>com.sun.jdi.VMDisconnectedException</code> being displayed in the
scrapbook editor.</p>
<h4> Debugging over slow
connections</h4>
A global Java debug preference specifies the debugger timeout, which is the
maximum amount of time the debugger waits for a response from the target VM
after making a request of that VM. Slow connections may require that this value
be increased. The timeout value can be edited from the <b>Java &gt; Debug </b>preference
page. Changing the timeout value only effects subsequently launched VM, not VMs
that are already running.

<h4> Updating of inspected values</h4>
When inspecting the result of an evaluated expression in the debugger, it is
important to note that the result displayed is the result of that expression at
the time it was evaluated. For example, when inspecting a simple integer counter
(primitive data type), the value displayed in the Expressions view is the value
when the expression was evaluated. As the counter is changed in the running
program, the inspected result will not change (since the view is not displaying
the value bound to a variable - it is displaying the value of an expression, and
the value of a primitive data type cannot change). However, if an expression
results in an object, fields of that object will be updated in the inspector as
they change in the running program (since the value bound to fields in an object
can change).
<h4> Stepping over native methods
that perform I/O</h4>
When the debugger steps over native methods that perform I/O to <code>System.out</code>
or <code>System.err</code>, the output may not appear immediately unless the
native performs a flush on the output buffer.
<h4> VM and process termination
running on IBM 1.3 JVM on Linux (Linux only)</h4>
Terminating a launch, debug target, or system process associated with a debug
target running on the IBM 1.3 JVM on the Linux platform does not work when the
associated debug target has a suspended thread. To remove such debug targets
from the debug UI, select <b>Terminate and Remove</b> from the debug view's
pop-up menu (or use the shortcut &quot;delete&quot; key). Associated system
processes in the OS may not be properly cleaned up. If a debug target has no
suspended threads, termination works properly. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=1631">1631</a>)


<h4> Memory View (Linux only)</h4>
The feature to automatically load segments of memory while scrolling in the Memory
view does not work on Linux. Instead the user must use the &quot;Next Page&quot; and &quot;Previous Page&quot; actions
to manually load memory segments (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74559">74559</a>)

<h4>Java 6 Annotation Processing</h4>
Java 6 annotation processors are supported in the batch compiler and in the IDE, with 
some limitations. Java 6 processors are only executed during a build, not while editing (bug 
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=188558">188558</a>). Some methods
in the processing API are unimplemented when compiling within the IDE, and will throw
UnsupportedOperationException.

<h3>3.4 <a name="I-PDE">Plug-in Development Environment (PDE)</a></h3>
<h4>Feature manifest editor does not preserve all comments</h4>

<p>When a non-source page of the feature manifest editor is used, PDE will convert
changes back into XML by regenerating the file. Although the overall content and
most of the comments are preserved, some comments may be lost. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59502">59502</a>)</p>
<h4>PDE will not unzip source zips of some plug-ins</h4>
<p>In the plug-in import wizard, when you choose to import plug-ins as
&quot;projects with source folders&quot;, PDE will not unzip the source for the
org.apache.ant, org.eclipse.core.runtime.compatibility.registry, org.eclipse.osgi.util and org.eclipse.osgi.services. This is
because the source ZIPs contains code that will not compile when unzipped as it
requires additional JARs that are not part of the SDK. To avoid the creation of
plug-in projects that won't compile, PDE will import these plug-ins as binary
and attach source, so you would still be able to read the source, you just won't
be able to modify it. Also, PDE will not unzip the source for the
org.eclipse.swt plug-ins. In this case, it is because, when shipped, the swt
code is spread across a plug-in and a fragment, and when unzipped, it will
require circular dependencies between the plug-in and fragment projects. These
circular dependencies are at minimum marked as warnings by the JDT compiler and
may result in unpredictable build behavior. Therefore, PDE always imports
org.eclipse.swt as binary with source attached. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66314">66314</a>)</p>

<h4>Emacs key bindings do not
work in manifest editor fields</h4>
<p>Non-default key bindings currently do not work in fields on non-source
pages of the PDE manifest editors. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=19482">19482</a>)</p>
<h4>Plug-in import wizard does
not allow plug-ins of different versions to be imported</h4>
<p>The Eclipse platform allows two plug-ins with the same ID but different
versions to coexist if the only thing they contribute is run-time libraries.
However, PDE cannot handle these plug-ins because it creates project names using
plug-in IDs during binary project import. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=18500">18500</a>)</p>
<h4>Export of plug-in may silently drop classes</h4>
<p>When exporting a plug-in using the plug-in, feature or product wizards, some classes
might be dropped from the resulting archive if their fully qualified name is too long.
This typical path limitation can be worked around by creating the jar of the problematic
plug-in by using the Jar export wizard.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=97150">97150</a>)</p>

<h4>Compilation errors when exporting projects not stored outside of the workspace</h4>
<p>When exporting multiple plug-ins and one is stored outside of the workspace,
compile errors occurs on export. To work around the problem, you can either export
the plug-ins one by one, or change their location.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=98579">98579</a>)</p>

<h4>Headless build needs to be run from a fully qualified path</h4>
<p>When running a headless build using the scripts provided by pde build, the properties <code>builder</code> 
and <code>buildDirectory</code> must refer to a fully qualified path.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=139554">139554</a>)
</p>

<h4>Target Platform only sees installed plug-ins</h4>
<p>With the new p2 provisioning system in 3.4, PDE introduced a preference to control how target platforms are built. 
By default, this preference is on if your target equals your host, otherwise it's off. When this preference is enabled, PDE attempts to
read a target platform's configuration and build the target platform based in the target's list of installed plug-ins. If a configuration
can't be found (a bundles.info or platform.xml file), PDE will simply manually scan the target directory and populate the target platform's
list of plug-ins.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=226037">226037</a> and bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=225148">225148</a>)
</p>

<h4>Delta pack is not seen by PDE when installed</h4>
<p>If you're using the delta pack, the target platform preference for building a target based on the target's installed plug-ins must be checked off.
This is because a target's runtime configuration only contains plug-ins specific to the platform it's running on.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=230146">230146</a>)
</p>

<h2>4. <a name="Running Eclipse">Running Eclipse</a></h2>
<p>After installing the Eclipse SDK in a directory, you can start the Workbench
by running the Eclipse executable included with the release (you also need a 1.4.2
JRE, not included with the Eclipse SDK). On Windows, the executable file is called <samp>eclipse.exe</samp>,
and is located in the <code>eclipse</code> sub-directory of the install. If
installed at <code>c:\eclipse-SDK-3.4-win32</code>, the executable is <code>c:\eclipse-SDK-3.4-win32\eclipse\eclipse.exe</code>.

<b>Note:</b> Set-up on most other operating environments is analogous. Special
instructions for Mac OS X are listed <a href="#macosx">below</a>.</p>

<h3>Allocating enough memory and solving OutOfMemoryErrors</h3>
<p>By default, Eclipse will allocate up to 256 megabytes of Java heap memory. This should
be ample for all typical development tasks. However, depending on the JRE
that you are running, the number of additional plug-ins you are using, and
the number of files you will be working with, you could conceivably have to increase this amount. 
Eclipse allows you to pass arguments directly to the Java VM using the
<code>-vmargs</code> command line argument, which must follow all other Eclipse specific arguments.
Thus, to increase the available heap memory, you would typically use:</p>
<blockquote>
  <p><code>eclipse -vmargs -Xmx&lt;memory size&gt;</code></p>
</blockquote>
<p>with the <code>&lt;memory size&gt;</code> value set to greater than
&quot;256M&quot; (256 megabytes -- the default). 
</p>
<p>
When using a Sun VM, you may also need to increase the size of the permanent
generation memory.  The default maximum is 64 megabytes, but more may
be needed depending on your plug-in configuration and use.  When the VM runs
out of permanent generation memory, it may crash or hang during class loading.
This failure is less common when using Sun JRE version 1.5.0_07 or greater.
The maximum permanent generation size is increased using the -XX:MaxPermSize=&lt;memory size&gt; argument:</p>
<blockquote>
  <p><code>eclipse -vmargs -XX:MaxPermSize=&lt;memory size&gt;</code></p>
</blockquote>
<p>This argument may not be available for all VM versions and platforms; consult your VM documentation
for more details.
</p>
<p>
Note that setting memory sizes to be larger than the amount of available physical
memory on your machine will cause Java to &quot;thrash&quot; as it copies objects
back and forth to virtual memory, which will severely degrade your performance.
</p>
<h3>Selecting a workspace</h3>
<p>When the Workbench is launched, the first thing you see is a 
dialog that allows you to select where the workspace will be located. The
workspace is the directory where your work will be stored.
If you do not specify otherwise, Eclipse creates the workspace in your
user directory.
This workspace directory is used as the default content area for your projects
as well as for holding any required metadata. For shared or multi-workspace
installs you must explicitly specify the location for your workspace using the
dialog (or via the &quot;<code>-data</code>&quot; command line argument).</p>
<h3>Specifying the Java virtual machine</h3>
<p>Here is a typical Eclipse command line:&nbsp;</p>

<blockquote>
  <p><code>eclipse -vm c:\jdk1.4.2\jre\bin\javaw</code></p>
</blockquote>
<p><i>Tip:</i> It's generally a good idea to explicitly specify which Java VM to
use when running Eclipse. This is achieved with the &quot;<code>-vm</code>&quot;
command line argument as illustrated above. If you don't use &quot;<code>-vm</code>&quot;,
Eclipse will look on the O/S path. When you install other Java-based products,
they may change your path and could result in a different Java VM being used
when you next launch Eclipse.</p>
<p>To create a Windows shortcut to an installed Eclipse:</p>
<ol>
  <li>Navigate to <code>eclipse.exe</code> in Windows Explorer and use Create
    Shortcut on the content menu.</li>
  <li>Select the shortcut and edit its Properties. In the Target: field append
    the command line arguments.</li>
</ol>
<p>Opening this shortcut launches Eclipse. (You can drag the shortcut to the 
Windows Desktop if you want to keep it in easy reach.)</p>

<h3><a name="macosx">Mac OS X</a></h3>
<p>On Mac OS X, you start Eclipse by double clicking the Eclipse application. If you need to 
pass arguments to Eclipse, you'll have to edit the <code>eclipse.ini</code> file
inside the Eclipse application bundle: select the Eclipse application bundle icon while holding down the Control Key.
This will present you with a popup menu. Select &quot;Show Package Contents&quot; in the popup menu.
Locate <code>eclipse.ini</code> file in the <code>Contents/MacOS</code> sub-folder and open it with your favorite text editor to edit the command line options.
</p>

<p>
On MacOS X you can only launch a UI program more then once if you have separate
copies of the program on disk. The reason for this behavior is that every UI
application on Mac can open multiple documents, so typically there is no need
to open a program twice. Since Eclipse cannot open more than one workspace, this means you have to make
a copy of the Eclipse install if you want to open more then one workspace at
the same time (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=139319">139319</a>).
</p>

<p>If you need to launch Eclipse from the command line, you can use the symbolic link &quot;eclipse&quot; in the
top-level eclipse folder. It refers to the eclipse executable inside the application bundle and takes
the same arguments as &quot;eclipse.exe&quot; on other platforms. 
</p>
<p>On Mac OS X 10.4 and later, you may notice a slow down when working with significant
numbers of resources if you allow Spotlight to index your workspace. To prevent this, start
System Preferences, select the Spotlight icon, then the Privacy tab, then click the Add button
(&quot;+&quot;) and find your workspace directory in the dialog that appears.</p>
<h3><a name="SharedInstall">Shared Install</a></h3>
<p>The startup speed of a shared install can be improved if proper cache information is stored in the shared 
install area. To achieve this, after unzipping Eclipse distribution, run Eclipse once with the &quot;-initialize&quot; 
option from an account that has a write access to the install directory.</p>
<h2>5. <a name="Upgrading"></a>Upgrading Workspace from a Previous Release</h2>

<h3>Users who don't use &quot;-data&quot;</h3>
<p>If you weren't previously using &quot;-data&quot; to specify your workspace,
follow these steps to upgrade:</p>

<ol>
  <li>Find the workspace directory used by your old version of Eclipse.
    Typically this is located inside the directory in which Eclipse was
    installed in a sub-directory called &quot;<code>workspace</code>&quot;. If
    you are using a shortcut or script to launch Eclipse, then it will be under
    the current working directory of that shortcut or script in a sub-directory
    called &quot;workspace&quot;. For Windows users, this is specified by the
    &quot;Start in:&quot; argument in your shortcut properties.</li>
  <li>Copy this workspace directory to a new, empty location outside of any
    Eclipse install directory.</li>
  <li>Install the new version of Eclipse in a new location, separate from any
    old version of Eclipse.</li>

  <li>If you had installed additional features and plug-ins into your old
    Eclipse, you should re-install them in the new Eclipse.</li>
  <li>Start this new version of Eclipse and select
    this location using the workspace chooser dialog at startup (or use &quot;<code>-data</code>&quot;
    command line argument to pre-select the workspace location).</li>
</ol>
<h3>Users who do use &quot;-data&quot;</h3>
<p>If you were previously using the &quot;<code>-data</code>&quot; argument to
start Eclipse, your upgrade path is much easier:</p>

<ol>
  <li>Optionally copy your workspace directory to a new, empty location outside of any
    Eclipse install directory as a backup.</li>
  <li>Install the new version of Eclipse in a new location, separate from any
    old versions of Eclipse.</li>
  <li>If you had installed additional features and plug-ins into your old
    Eclipse, you should re-install them in the new Eclipse.</li>
  <li>Start this new version of Eclipse and select this location using the workspace chooser dialog at
    startup (or use &quot;<code>-data</code>&quot;
    command line argument to pre-select the workspace location).</li>
</ol>
<p><i>Note:</i> Copying your workspace is recommended because,
after you've upgraded your workspace, you won't be able to use it
again with an older version of Eclipse. If you ever want to go &quot;back in
time&quot; to an earlier release, you will need that backup.</p>


<h2>6. <a name="Interoperability with Previous Releases">Interoperability with
Previous Releases</a></h2>
<h3>6.1 Interoperability of Release 3.4 with previous releases</h3>
<h4>Sharing projects between heterogeneous Eclipse 3.4 and 3.3</h4>
<p>Special care is required when a project in a team repository is being loaded
and operated on by developers using Eclipse-based products based on different
feature or plug-in versions. The general problem is that the existence,
contents, and interpretation of metadata files in the workspaces may be specific
to a particular feature or plug-in version, and differ between versions. The
workspace compatibility guarantees only cover cases where all developers upgrade
their Eclipse workspaces in lock step. In those cases there should be no problem
with shared metadata. However, when some developers are working in Eclipse 3.4
while others are working in Eclipse 3.3, there are no such guarantees.
This section provides advice for what to do and not to do. It addresses the
specific issues with the Eclipse SDK.</p>

<p>The typical failure mode is noticed by the 3.4 user. 3.4 metadata is lost
when a 3.3 user saves changes and then commits the updated metadata files to the
repository. Here's how things typically go awry:</p>
<ul>
  <li>A user working in Eclipse 3.4 creates or modifies a project in a way that
    results in changes to a shared metadata file that rely on 3.4-specific
    information. The user then commits the updated project files, including the
    shared metadata file, to the shared repository.</li>
  <li>Another user working in Eclipse 3.3 shares this project from the same
    repository. The 3.4-specific information in the shared metadata file is not
    understood by Eclipse 3.3, and is generally discarded or ignored without
    warning. The user modifies the project in a way that results in changes to
    the shared metadata file, causing the shared metadata file to be rewritten
    without any of the 3.4-specific information. The user commits the updated
    project files, including the shared metadata file, to the shared repository.
    The user is generally unaware that shared information has just been lost as
    a result of their actions.</li>
  <li>A user working in Eclipse 3.4 picks up the changes to a project from the
    shared repository, including the updated shared metadata file. The user may
    be unaware that they have just taken a retrograde step until later when
    things start to malfunction.</li>
</ul>
<p>Here are some things to watch out for when sharing projects between
Eclipse 3.4 and Eclipse 3.1 or earlier:</p>
<ul>
  <li><b>Linked resources in the .project file</b><br>
  Eclipse 3.4 supports creating linked resources at arbitrary depth within a project,
  and supports creating linked resources referring to other file systems. Neither of
  these scenarios are supported in Eclipse 3.1 or earlier.  If such linked resources
  are created in 3.4, and the project is subsequently loaded into an Eclipse 3.1
  or earlier workspace, these links will not be recognized.  Recommendation:
  avoid creating links at arbitrary depth or to other file systems where project
  compatibility with Eclipse 3.1 or earlier is required.</li>
</ul>
<h4>Using Eclipse 3.4 to develop plug-ins that work in Eclipse 3.3</h4>
<p>It is also possible (and reasonable) to use Eclipse 3.4 to develop a plug-in 
  intended to work in Eclipse 3.3 or earlier. Use the <b>Plug-in Development &gt; 
  Target Platform </b>preference page to locate non-workspace plug-ins in an Eclipse 
  3.3 install. This ensures that the code for your plug-in is being compiled and 
  tested against Eclipse 3.3 APIs, extension points, and plug-ins. (The above 
  list of concerns do not apply since they affect the layout and interpretation 
  of files in the plug-in <i>project</i> but none affect the actual deployed form 
  of the plug-in.)</p>

<h2>7. <a name="DefectsFixed"></a>Defects Fixed in Maintenance Releases</h2>

<h3>7.1 Defects fixed in release 3.4.1 since 3.4.0</h3>
<p>Release 3.4.1 is a maintenance release to fix serious defects present in
release 3.4.1 These changes only affect some plug-ins and
features.</p>

<p>Maintenance release 3.4.1 contains fixes for the following defects and others:</p>
<p></p>







<table class="bz_buglist" cellspacing="0" cellpadding="4" width="100%">
    <colgroup>
      <col class="bz_id_column">
      <col class="bz_short_desc_column">
    </colgroup>

    <tr align="left">
      <th colspan="1" class="first-child">
          <a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_file_loc_type=allwordssubstr&amp;bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;classification=Eclipse&amp;classification=RT&amp;field-1-0-0=bug_status&amp;field-1-1-0=classification&amp;field-1-2-0=product&amp;field-1-3-0=resolution&amp;field-1-4-0=target_milestone&amp;field0-0-0=noop&amp;keywords_type=allwords&amp;long_desc_type=allwordssubstr&amp;product=Equinox&amp;product=JDT&amp;product=PDE&amp;product=Platform&amp;query_format=advanced&amp;remaction=&amp;resolution=FIXED&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;status_whiteboard=&amp;status_whiteboard_type=allwordssubstr&amp;target_milestone=3.4.1&amp;type-1-0-0=anyexact&amp;type-1-1-0=anyexact&amp;type-1-2-0=anyexact&amp;type-1-3-0=anyexact&amp;type-1-4-0=anyexact&amp;type0-0-0=noop&amp;value-1-0-0=RESOLVED%2CVERIFIED%2CCLOSED&amp;value-1-1-0=Eclipse%2CRT&amp;value-1-2-0=Equinox%2CJDT%2CPDE%2CPlatform&amp;value-1-3-0=FIXED&amp;value-1-4-0=3.4.1&amp;value0-0-0=%7C&amp;order=bugs.bug_id&amp;query_based_on=">ID</a>
      </th>

<th colspan="1">
        
      <a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_file_loc_type=allwordssubstr&amp;bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;classification=Eclipse&amp;classification=RT&amp;field-1-0-0=bug_status&amp;field-1-1-0=classification&amp;field-1-2-0=product&amp;field-1-3-0=resolution&amp;field-1-4-0=target_milestone&amp;field0-0-0=noop&amp;keywords_type=allwords&amp;long_desc_type=allwordssubstr&amp;product=Equinox&amp;product=JDT&amp;product=PDE&amp;product=Platform&amp;query_format=advanced&amp;remaction=&amp;resolution=FIXED&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;status_whiteboard=&amp;status_whiteboard_type=allwordssubstr&amp;target_milestone=3.4.1&amp;type-1-0-0=anyexact&amp;type-1-1-0=anyexact&amp;type-1-2-0=anyexact&amp;type-1-3-0=anyexact&amp;type-1-4-0=anyexact&amp;type0-0-0=noop&amp;value-1-0-0=RESOLVED%2CVERIFIED%2CCLOSED&amp;value-1-1-0=Eclipse%2CRT&amp;value-1-2-0=Equinox%2CJDT%2CPDE%2CPlatform&amp;value-1-3-0=FIXED&amp;value-1-4-0=3.4.1&amp;value0-0-0=%7C&amp;order=bugs.short_desc%2Cbugs.bug_id&amp;query_based_on=">Summary</a>
  </th>


    </tr>

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b101610"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=101610">101610</a>
      <span style="display: none"></span>
    </td>

    <td >Code assist not offered without transitive dependency
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_minor             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b112502"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=112502">112502</a>
      <span style="display: none"></span>
    </td>

    <td >[TabbedProperties] Properties view doesn't scroll normally
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b138013"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=138013">138013</a>
      <span style="display: none"></span>
    </td>

    <td >[TabbedProperties] resize the table column in a tabbed property section and invoke the update method on the container does not  work
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b140314"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=140314">140314</a>
      <span style="display: none"></span>
    </td>

    <td >[TabbedProperties] Advanced Info tab doesn't scroll to reveal
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b158361"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=158361">158361</a>
      <span style="display: none"></span>
    </td>

    <td >[prefs] Thread safety problem in InstancePreferences
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b161095"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=161095">161095</a>
      <span style="display: none"></span>
    </td>

    <td >[CommonNavigator] Drag and Drop of non IResource items causes FileTransfer to be created with null data
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b169559"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=169559">169559</a>
      <span style="display: none"></span>
    </td>

    <td >[CommonNavigator] [DND] - Drag/drop within the project explorer; doesn't scroll
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b170758"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=170758">170758</a>
      <span style="display: none"></span>
    </td>

    <td >[CommonNavigator] org.eclipse.ui.navigator.resources should export all packages
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_enhancement             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b173218"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=173218">173218</a>
      <span style="display: none"></span>
    </td>

    <td >[SWT_AWT] SWT needs to support ModalityListener interface
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P2             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b185561"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=185561">185561</a>
      <span style="display: none"></span>
    </td>

    <td >[CommonNavigator] When hideAvailableExtensionsTab sets to true, all available content will be removed upon filter select changed
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b185715"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=185715">185715</a>
      <span style="display: none"></span>
    </td>

    <td >SiteOptimizerApplication passes empty string in place of pluginid to Status
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b189529"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=189529">189529</a>
      <span style="display: none"></span>
    </td>

    <td >[CommonNavigator] Project Navigator - Customization dialog should use straight tabs or border
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b191677"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=191677">191677</a>
      <span style="display: none"></span>
    </td>

    <td >[Preferences] Preference links don't switch preference pages if dialog already open in tips and tricks
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b197503"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=197503">197503</a>
      <span style="display: none"></span>
    </td>

    <td >[Bundle][Wizard][New]PDE invalid warning: Bundle symbolic name contains illegal characters.
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b198091"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=198091">198091</a>
      <span style="display: none"></span>
    </td>

    <td >[LinkedResources] Error logged when opening Properties dlg on a Linked Resource folder involving a path variable
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b199022"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=199022">199022</a>
      <span style="display: none"></span>
    </td>

    <td >Updatemanager Digest generates invalid xml
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b200316"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=200316">200316</a>
      <span style="display: none"></span>
    </td>

    <td >[CommonNavigator] Can not contribute property page to classpath container in project explorer
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b200743"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=200743">200743</a>
      <span style="display: none"></span>
    </td>

    <td >[Clipboard] Copy/Paste intermittently doesn't work for a line of text
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b202819"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=202819">202819</a>
      <span style="display: none"></span>
    </td>

    <td >[Workbench] Eclipse process continues to run in background after shutdown
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b204700"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=204700">204700</a>
      <span style="display: none"></span>
    </td>

    <td >[CommonNavigator] ConcurrentModificationException trying to see phys - view
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b204948"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=204948">204948</a>
      <span style="display: none"></span>
    </td>

    <td >[TabbedProperties] Scrollbars in Tabbed Properties View are set to an increment of 1, too small to be useful.
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_blocker             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b208609"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=208609">208609</a>
      <span style="display: none"></span>
    </td>

    <td >Bug in ErrorRecoveryLog.getLocalRandomIdentifier(String path)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b210664"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=210664">210664</a>
      <span style="display: none"></span>
    </td>

    <td >Eclipse modifies .project file on project import without reason
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b211578"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=211578">211578</a>
      <span style="display: none"></span>
    </td>

    <td >[build path] Dialog to extend classpath variable slow
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b212389"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=212389">212389</a>
      <span style="display: none"></span>
    </td>

    <td >[CommonNavigator] working set issues: missing project, window working set inconsistency
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b213732"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=213732">213732</a>
      <span style="display: none"></span>
    </td>

    <td >[Forms] Click on hyperlink in FormText fails
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b213891"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=213891">213891</a>
      <span style="display: none"></span>
    </td>

    <td >[CommonNavigator] Project Explorer (in platform - NOT SDK!) is not refreshed on changes
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b215161"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=215161">215161</a>
      <span style="display: none"></span>
    </td>

    <td >[generate constructor] Generate constructor using fields should respect field order
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b217801"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=217801">217801</a>
      <span style="display: none"></span>
    </td>

    <td >[CommonNavigator] Capability filtering of commonWizard extensions uses wrong identifier
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b218288"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=218288">218288</a>
      <span style="display: none"></span>
    </td>

    <td >[Wizards] NPE while sharing a project that already exists in the repository
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_minor             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b218945"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=218945">218945</a>
      <span style="display: none"></span>
    </td>

    <td >[GlobalActions]'Export...' and 'Exit' menu items under the 'File' menu share the same mnemonic
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b219946"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=219946">219946</a>
      <span style="display: none"></span>
    </td>

    <td >[TabbedProperties] Tabbed property sheet tab titles can get truncated when selected
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b220494"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=220494">220494</a>
      <span style="display: none"></span>
    </td>

    <td >the amazing vaporizing artifacts
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b220599"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=220599">220599</a>
      <span style="display: none"></span>
    </td>

    <td >[CommonNavigator] Project Explorer does not support Navigate &gt; Show In...
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b222461"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=222461">222461</a>
      <span style="display: none"></span>
    </td>

    <td >[KeyBindings] WARNING messages generated for incorrect message content in plugin org.eclipse.ui.workbench
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b222665"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=222665">222665</a>
      <span style="display: none"></span>
    </td>

    <td >Error opening workbench
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b222962"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=222962">222962</a>
      <span style="display: none"></span>
    </td>

    <td >Repository created from PDE export should be compressed
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_minor             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b223556"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=223556">223556</a>
      <span style="display: none"></span>
    </td>

    <td >3.3.1 and 3.3.2 readme files are missing internal anchor links
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b226357"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=226357">226357</a>
      <span style="display: none"></span>
    </td>

    <td >[dom] NPE in MethodBinding.getParameterAnnotations() if some, but not all parameters are annotated
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b226867"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=226867">226867</a>
      <span style="display: none"></span>
    </td>

    <td >[Browser] Web browser preference change causes web browser editor error through open file
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b227949"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=227949">227949</a>
      <span style="display: none"></span>
    </td>

    <td >Key binding for Plugin Spy not working
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b228354"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=228354">228354</a>
      <span style="display: none"></span>
    </td>

    <td >Folder deletion can cause incorrect project delta node flags if linked folders exist in project
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b228359"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=228359">228359</a>
      <span style="display: none"></span>
    </td>

    <td >[CommonNavigator] CommonNavigator.selectReveal() should not expand selected elements
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b228400"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=228400">228400</a>
      <span style="display: none"></span>
    </td>

    <td >disable transient test failure for watch expression update
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b229494"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=229494">229494</a>
      <span style="display: none"></span>
    </td>

    <td >[Forms] Accessibility: expandable section labels are not being read by screen readers
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b230853"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=230853">230853</a>
      <span style="display: none"></span>
    </td>

    <td >Sometime resources are disappeared from Synchronize View
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b231175"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=231175">231175</a>
      <span style="display: none"></span>
    </td>

    <td >[Workbench] WorkbenchLabelProvider leaks
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b231776"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=231776">231776</a>
      <span style="display: none"></span>
    </td>

    <td >[SWT Mac] Incorrect mouseExit event generated when balloon ToolTip is shown
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b232162"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=232162">232162</a>
      <span style="display: none"></span>
    </td>

    <td >[Help] [Context] TVT34:TCT231: &quot;refresh&quot; text contains mnemonic in the F1 help view
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b232426"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=232426">232426</a>
      <span style="display: none"></span>
    </td>

    <td >OutOfMemoryError during Project Refresh due to cyclic symbolic links
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b232533"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=232533">232533</a>
      <span style="display: none"></span>
    </td>

    <td >[Help] TVT34:TCT310: ELL - Truncated button in Content preferences
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b232565"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=232565">232565</a>
      <span style="display: none"></span>
    </td>

    <td >[1.5][compiler] wrong autoboxing code generation leads to VerifyError at runtime
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b232982"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=232982">232982</a>
      <span style="display: none"></span>
    </td>

    <td >&quot;Save password&quot; checkbox behaves weird
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b233029"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=233029">233029</a>
      <span style="display: none"></span>
    </td>

    <td >Unknown extension point errors appearing in target workspace
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b233229"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=233229">233229</a>
      <span style="display: none"></span>
    </td>

    <td >Review UpdateSiteRepo for thread safety
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b233240"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=233240">233240</a>
      <span style="display: none"></span>
    </td>

    <td >P2 Metadata Generator deletes all my plugins when running out of heap space while indexing an update site
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b233259"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=233259">233259</a>
      <span style="display: none"></span>
    </td>

    <td >[formatter] html tag should not be split by formatter
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b233261"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=233261">233261</a>
      <span style="display: none"></span>
    </td>

    <td >dialog window distorted after going out of &quot;Not responding&quot; state
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b233297"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=233297">233297</a>
      <span style="display: none"></span>
    </td>

    <td >TreeModelContentProvider appears to throw an AIOOB
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b233374"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=233374">233374</a>
      <span style="display: none"></span>
    </td>

    <td >[search] styled label not supported by search participant's label provider
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b233510"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=233510">233510</a>
      <span style="display: none"></span>
    </td>

    <td >[breadcrumb] Needs review of label updating on element change
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b233601"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=233601">233601</a>
      <span style="display: none"></span>
    </td>

    <td >[Commands] IAction.AS_RADIO_BUTTON actions contributed with ActionContributionItem to MenuManager have problems getting checked on selection
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b233618"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=233618">233618</a>
      <span style="display: none"></span>
    </td>

    <td >[CommonNavigator] Cannot copy/paste a linked resources into a Folder.
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b233941"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=233941">233941</a>
      <span style="display: none"></span>
    </td>

    <td >[ltk] Refactoring history does not show workspace refactorings from last year
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b233961"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=233961">233961</a>
      <span style="display: none"></span>
    </td>

    <td >Progress should indicate that we are computing explanations
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b234172"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=234172">234172</a>
      <span style="display: none"></span>
    </td>

    <td >[1.5][select] no hover in qualified name with generics
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b234182"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=234182">234182</a>
      <span style="display: none"></span>
    </td>

    <td >[breadcrumb] keys don't work after dropdown opened via arrow button
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b234330"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=234330">234330</a>
      <span style="display: none"></span>
    </td>

    <td >[breadcrumb] Does reopen child popup
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b234394"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=234394">234394</a>
      <span style="display: none"></span>
    </td>

    <td >[launcher] fail to load vm when run from search path
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b234484"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=234484">234484</a>
      <span style="display: none"></span>
    </td>

    <td >[DetachedView] Empty DW's can't be closed
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b234619"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=234619">234619</a>
      <span style="display: none"></span>
    </td>

    <td >[1.5][compiler] Object#getClass() has wrong expression type binding with JRE from 1.6
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b234635"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=234635">234635</a>
      <span style="display: none"></span>
    </td>

    <td >[ui] The dialog that shows provisioning plan resolution results doesn't resize well
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b234657"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=234657">234657</a>
      <span style="display: none"></span>
    </td>

    <td >[Webapp] Rhel5 Help Contents UI displayed incompletely in High Contrast mode or with Large font
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b234875"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=234875">234875</a>
      <span style="display: none"></span>
    </td>

    <td >[Browser] Delete key is eaten in Internal Web Browser
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b235006"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235006">235006</a>
      <span style="display: none"></span>
    </td>

    <td >After install launcher restarts in infinite loop
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b235018"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235018">235018</a>
      <span style="display: none"></span>
    </td>

    <td >[Markers] Regression: Columns in Problems view grow wider with each restart
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b235125"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235125">235125</a>
      <span style="display: none"></span>
    </td>

    <td >Director may fail when -version is not specified
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_minor             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b235195"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235195">235195</a>
      <span style="display: none"></span>
    </td>

    <td >[Wizards] [DataBinding] Non-error statuses not handled correctly by WizardPageSupport class
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b235336"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235336">235336</a>
      <span style="display: none"></span>
    </td>

    <td >[p2] cannot compile against plugins referenced via .link files
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b235375"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235375">235375</a>
      <span style="display: none"></span>
    </td>

    <td >NPE when double-clicking on a new topic item in a toc editor
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b235379"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235379">235379</a>
      <span style="display: none"></span>
    </td>

    <td >[GlobalActions] GlobalUndoAction / GlobalRedoAction causes NPE by unsafely disposing old delegate
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b235442"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235442">235442</a>
      <span style="display: none"></span>
    </td>

    <td >Stale references to 'welcome_preferences.htm' in org.elcipse.platform.doc.user
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b235480"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235480">235480</a>
      <span style="display: none"></span>
    </td>

    <td >[Intro] Document need to escape anchors in showHelpTopic
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b235496"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235496">235496</a>
      <span style="display: none"></span>
    </td>

    <td >[p2] p2 bundle pooling uses incorrect directory
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b235556"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235556">235556</a>
      <span style="display: none"></span>
    </td>

    <td >[content assist] proposal popup does not hide after resize, then change app
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b235589"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235589">235589</a>
      <span style="display: none"></span>
    </td>

    <td >Using #{folder_prompt} in Workspace Data &quot;Location&quot; field on launch configuration prompts 2 times
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b235629"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235629">235629</a>
      <span style="display: none"></span>
    </td>

    <td >Can't create the osgi.instance.area on a UNC drive
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b235719"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235719">235719</a>
      <span style="display: none"></span>
    </td>

    <td >[CheatSheet] Cheat sheet item property dialog=false doesn't work when using &quot;Click to redo&quot;
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b235778"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235778">235778</a>
      <span style="display: none"></span>
    </td>

    <td >Potential race condition computing resolved classpath
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_minor             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b235804"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235804">235804</a>
      <span style="display: none"></span>
    </td>

    <td >[Wizards] StackOverflowError in WizardsRegistryReader
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b235882"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235882">235882</a>
      <span style="display: none"></span>
    </td>

    <td >[compiler] constructor-scoped inner classes unable to recognize final member variable initialization
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b235921"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235921">235921</a>
      <span style="display: none"></span>
    </td>

    <td >[1.5][compiler] Incorrect generic signature attribute created for inner anonymous type
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b235933"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235933">235933</a>
      <span style="display: none"></span>
    </td>

    <td >Adding archive leaves file open
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b235958"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235958">235958</a>
      <span style="display: none"></span>
    </td>

    <td >java.lang.StackOverflowError in BundleLoader with version 3.4rc3
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b235996"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235996">235996</a>
      <span style="display: none"></span>
    </td>

    <td >NPEs in GarbageCollector.contributeMarkSets in test log
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b236096"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236096">236096</a>
      <span style="display: none"></span>
    </td>

    <td >Incorrectly allow raw return type in overridden method
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b236139"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236139">236139</a>
      <span style="display: none"></span>
    </td>

    <td >Missing NLS messages in artifact.optimizers
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b236224"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236224">236224</a>
      <span style="display: none"></span>
    </td>

    <td >[clean up] Save Cleanup action &quot;use_blocks_only_for_return_and_throw&quot; toggles block
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b236230"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236230">236230</a>
      <span style="display: none"></span>
    </td>

    <td >[formatter] SIOOBE while formatting a compilation unit.
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b236251"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236251">236251</a>
      <span style="display: none"></span>
    </td>

    <td >[implementation] failure when launching headless
    </td>

  </tr>

  
    

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b236268"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236268">236268</a>
      <span style="display: none"></span>
    </td>

    <td >[Webapp] help rendered with white borders at left &amp; right in Firefox
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b236312"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236312">236312</a>
      <span style="display: none"></span>
    </td>

    <td >GTK Assertion for gdk_window_get_user_data
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b236329"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236329">236329</a>
      <span style="display: none"></span>
    </td>

    <td >[sec] Unchecked SecurityException thrown when SignatureException makes more sense
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b236336"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236336">236336</a>
      <span style="display: none"></span>
    </td>

    <td >[1.6][compiler] Stack map generation error with 10,000-line method in Java
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_trivial             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b236403"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236403">236403</a>
      <span style="display: none"></span>
    </td>

    <td >org.eclipse.equinox.p2.metadata.generator/plugin.xml misses header
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b236445"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236445">236445</a>
      <span style="display: none"></span>
    </td>

    <td >NPE in content assist
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b236472"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236472">236472</a>
      <span style="display: none"></span>
    </td>

    <td >Multiple problems caused by Compare Editor
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b236517"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236517">236517</a>
      <span style="display: none"></span>
    </td>

    <td >[ui] Refresh in &quot;Available Software&quot; does not refresh artifact repos
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b236524"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236524">236524</a>
      <span style="display: none"></span>
    </td>

    <td >[Help browser] Search does not start on pressing &lt;Enter&gt;
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b236605"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236605">236605</a>
      <span style="display: none"></span>
    </td>

    <td >[DataBinding] Duplicate entries in bound list after update
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b236634"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236634">236634</a>
      <span style="display: none"></span>
    </td>

    <td >Cannot dismiss attribute type combo
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b236676"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236676">236676</a>
      <span style="display: none"></span>
    </td>

    <td >PDE compiler properties page generates NPE
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b236687"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236687">236687</a>
      <span style="display: none"></span>
    </td>

    <td >NPE opening the errors / warnings property page
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b236689"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236689">236689</a>
      <span style="display: none"></span>
    </td>

    <td >[Browser] KeyDown/KeyUp events have wrong character for Delete key
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b236724"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236724">236724</a>
      <span style="display: none"></span>
    </td>

    <td >[Browser] Eclipse causes JVM crash in libxul when editing Java
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b236795"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236795">236795</a>
      <span style="display: none"></span>
    </td>

    <td >[JFace] SWT Exception creates endless cycle
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b236876"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236876">236876</a>
      <span style="display: none"></span>
    </td>

    <td >[api tooling] Should modify code to compile in 1.6 mode
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b236903"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236903">236903</a>
      <span style="display: none"></span>
    </td>

    <td >p2 feature names are inconsistent
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b236937"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236937">236937</a>
      <span style="display: none"></span>
    </td>

    <td >Composite sending incorrect Move events
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b236968"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236968">236968</a>
      <span style="display: none"></span>
    </td>

    <td >NPE in EclipseLaunchShortcut.findLaunchConfiguration
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b236991"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=236991">236991</a>
      <span style="display: none"></span>
    </td>

    <td >[Help][Context] Entity Reference (e.g., &amp;amp;) doesn't work in context xml file
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b237051"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237051">237051</a>
      <span style="display: none"></span>
    </td>

    <td >[formatter] Formatter insert blank lines after javadoc if javadoc contains Commons Attributes &#64;&#64; annotations
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b237096"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237096">237096</a>
      <span style="display: none"></span>
    </td>

    <td >Cryptic error attempting to build update site with jdt-feature
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b237133"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237133">237133</a>
      <span style="display: none"></span>
    </td>

    <td >Context Help Editor: Command field loses content
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b237271"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237271">237271</a>
      <span style="display: none"></span>
    </td>

    <td >Screenshot needs updating
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b237314"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237314">237314</a>
      <span style="display: none"></span>
    </td>

    <td >NullPointerException when swtiching targets
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b237323"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237323">237323</a>
      <span style="display: none"></span>
    </td>

    <td >[misc] org.eclipse.ui.ide.markerResolution extensions not referenced in Java editor
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b237326"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237326">237326</a>
      <span style="display: none"></span>
    </td>

    <td >[Help][Context] F1 accessibility - no indication that help view has opened (since there is no focus change)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b237365"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237365">237365</a>
      <span style="display: none"></span>
    </td>

    <td >[Contributions] ActionDelegateHandlerProxy fails with ClassCastException
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b237418"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237418">237418</a>
      <span style="display: none"></span>
    </td>

    <td >deadlock between auto-build/refresh right after startup
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b237469"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237469">237469</a>
      <span style="display: none"></span>
    </td>

    <td >[assist] AbortCompilation in log during normal editing
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b237475"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237475">237475</a>
      <span style="display: none"></span>
    </td>

    <td >Error building update site with missing optional prerequisite
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b237547"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237547">237547</a>
      <span style="display: none"></span>
    </td>

    <td >[inline] npe while inlining constant
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P2             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b237577"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237577">237577</a>
      <span style="display: none"></span>
    </td>

    <td >[Webapp] Infocenter problems with locales, breadcrumbs and failure to read pages
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b237612"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237612">237612</a>
      <span style="display: none"></span>
    </td>

    <td >ISearchResultPage.setInput is called 4 times(sets current result too) by using search history
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b237648"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237648">237648</a>
      <span style="display: none"></span>
    </td>

    <td >[launcher] Unable to launch WPF version of Eclipse on Vista
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b237662"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237662">237662</a>
      <span style="display: none"></span>
    </td>

    <td >metadata generator loses start levels from bundles.info
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b237687"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237687">237687</a>
      <span style="display: none"></span>
    </td>

    <td >[ui] Improve error message when p2 properties are missing/broken in config.ini
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b237747"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237747">237747</a>
      <span style="display: none"></span>
    </td>

    <td >PDE headless build fails for config &quot;win32, win32, x86_64&quot;
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b237884"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237884">237884</a>
      <span style="display: none"></span>
    </td>

    <td >[DataBinding] NPE in when disposing MultiValidator instance
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b237890"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237890">237890</a>
      <span style="display: none"></span>
    </td>

    <td >additional plug-in locations are forgotten when reloading target platform
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_blocker             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b237922"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237922">237922</a>
      <span style="display: none"></span>
    </td>

    <td >PDE Build not generating RCP launcher branding icons
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b237926"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237926">237926</a>
      <span style="display: none"></span>
    </td>

    <td >p2 should only treat jars and folders as plug-ins
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b237931"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237931">237931</a>
      <span style="display: none"></span>
    </td>

    <td >[1.6][compiler] wrong signature of String[][] in class file
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b237986"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=237986">237986</a>
      <span style="display: none"></span>
    </td>

    <td >XULRunner 1.9 sometimes crashes at shutdown
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b238001"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238001">238001</a>
      <span style="display: none"></span>
    </td>

    <td >Launcher icon branding does not handle Win32 x64 launcher .exe
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b238014"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238014">238014</a>
      <span style="display: none"></span>
    </td>

    <td >[1.5][compiler] Missing &quot;name clash&quot; error?
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b238023"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238023">238023</a>
      <span style="display: none"></span>
    </td>

    <td >Using relative ID &quot;org.eclipse.ui.editorss&quot; in Perspective Extension gives warning
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b238090"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238090">238090</a>
      <span style="display: none"></span>
    </td>

    <td >[formatter] New lines wrongly added while formatting too long &#64;see references
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b238119"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238119">238119</a>
      <span style="display: none"></span>
    </td>

    <td >[ltk] AIOOBE when trying to delete added folder and its parents in Synchronize view
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b238210"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238210">238210</a>
      <span style="display: none"></span>
    </td>

    <td >[formatter] CodeFormatter wraps line comments without whitespaces
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b238240"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238240">238240</a>
      <span style="display: none"></span>
    </td>

    <td >InstructionParser should support escaped characters
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b238312"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238312">238312</a>
      <span style="display: none"></span>
    </td>

    <td >Startup times are very long when bundles are dropped into the dropins/plugins folder for large installations.
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b238350"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238350">238350</a>
      <span style="display: none"></span>
    </td>

    <td >Starting Java application (like JBoss) in debug causes NPE. Run mode works ok
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b238392"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238392">238392</a>
      <span style="display: none"></span>
    </td>

    <td >[Preferences] NPE when starting eclipse
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b238463"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238463">238463</a>
      <span style="display: none"></span>
    </td>

    <td >[working sets] closed projects are disappearing from working sets
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b238484"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238484">238484</a>
      <span style="display: none"></span>
    </td>

    <td >[1.5][compiler] Eclipse generates bad code (major regression)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b238487"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238487">238487</a>
      <span style="display: none"></span>
    </td>

    <td >[logview] LogView assumes SHOW_FILTERED_TEXTS=true
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b238718"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238718">238718</a>
      <span style="display: none"></span>
    </td>

    <td >[navigation] Quick Outline filters items incorrectly
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b238783"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238783">238783</a>
      <span style="display: none"></span>
    </td>

    <td >[CommonNavigator] NavigatorSaveablesServices throws NullPointerException on shutdown
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b238817"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238817">238817</a>
      <span style="display: none"></span>
    </td>

    <td >[1.5][compiler] Unexpected nameclash reported
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b238853"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238853">238853</a>
      <span style="display: none"></span>
    </td>

    <td >[formatter] Code Formatter does not properly format valid xhtml (&lt;br /&gt; &amp; &lt;p /&gt;) in javadoc.
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b238920"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238920">238920</a>
      <span style="display: none"></span>
    </td>

    <td >[formatter] Code Formatter removes javadoc status if &#64;category present
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b238923"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238923">238923</a>
      <span style="display: none"></span>
    </td>

    <td >[1.6][compiler] Internal compiler error caused by a for loop in an initializer block
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_minor             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b238961"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=238961">238961</a>
      <span style="display: none"></span>
    </td>

    <td >[Browser] Open with &gt; web browser for url with spaces does not work with Firefox
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b239015"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239015">239015</a>
      <span style="display: none"></span>
    </td>

    <td >[Databinding] ObservableListTreeContentProvider adds the value passed to TreeViewer#setInput() to the known-elements
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b239144"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239144">239144</a>
      <span style="display: none"></span>
    </td>

    <td >[javadoc export] JavadocWizard#executeJavadocGeneration() mixes vmArgs and progArgs
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b239156"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239156">239156</a>
      <span style="display: none"></span>
    </td>

    <td >P2: Invalid private configuration area created
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b239198"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239198">239198</a>
      <span style="display: none"></span>
    </td>

    <td >[compiler] NegativeArraySizeException thrown for triple quotes
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b239216"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239216">239216</a>
      <span style="display: none"></span>
    </td>

    <td >NPE when launching launching Eclipse application
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b239229"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239229">239229</a>
      <span style="display: none"></span>
    </td>

    <td >[compiler] Regression bug against Eclipse 3.3: cannot resolve correct import
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b239300"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239300">239300</a>
      <span style="display: none"></span>
    </td>

    <td >[TabbedProperties] underline missing from tab label when tab has focus
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b239305"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239305">239305</a>
      <span style="display: none"></span>
    </td>

    <td >[compiler] VerifyError caused by casting long to long to int
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b239317"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239317">239317</a>
      <span style="display: none"></span>
    </td>

    <td >[Commands] NPE in ContributedAction.runWithEvent()
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b239439"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239439">239439</a>
      <span style="display: none"></span>
    </td>

    <td >[1.5][compiler] Behavior change for binding for parameterized type
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b239442"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239442">239442</a>
      <span style="display: none"></span>
    </td>

    <td >[breadcrumb] Drop down stays open on GTK after tool bar drop down menu opened
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b239453"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239453">239453</a>
      <span style="display: none"></span>
    </td>

    <td >Possible NPEs when accessing filtered text if filtered text preference turned off
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_blocker             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b239482"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239482">239482</a>
      <span style="display: none"></span>
    </td>

    <td >SWT.VIRTUAL Table Freezes under 3.4 when dragging (DND)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b239486"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239486">239486</a>
      <span style="display: none"></span>
    </td>

    <td >ArrayIndexOutOfBoundsException in LoadTargetOperation#getVMInstall()
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b239506"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239506">239506</a>
      <span style="display: none"></span>
    </td>

    <td >[package explorer] Invalid dialog about deleting read-only elements when deleting a linked resource folder
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_trivial             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b239523"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239523">239523</a>
      <span style="display: none"></span>
    </td>

    <td >[TabbedProperties] Three JavaDoc warnings
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b239647"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239647">239647</a>
      <span style="display: none"></span>
    </td>

    <td >[build path] Add JARs... should filter JARs that are already on the build path
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b239719"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239719">239719</a>
      <span style="display: none"></span>
    </td>

    <td >[formatter] Code formatter destroys pre formatted javadoc comments
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b239758"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239758">239758</a>
      <span style="display: none"></span>
    </td>

    <td >[1.5][compiler] Generic interface inheritance and overriding error
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b239940"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239940">239940</a>
      <span style="display: none"></span>
    </td>

    <td >[implementation] NPE while editing a javadoc comment
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b239941"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239941">239941</a>
      <span style="display: none"></span>
    </td>

    <td >[formatter] Unclosed html tags make the formatter to produce incorrect outputs
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b239972"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239972">239972</a>
      <span style="display: none"></span>
    </td>

    <td >Doc Clarification / type references used
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b239998"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239998">239998</a>
      <span style="display: none"></span>
    </td>

    <td >Singleton checkbox removed for the &quot;Standard&quot; OSGi target
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b240062"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240062">240062</a>
      <span style="display: none"></span>
    </td>

    <td >Reformat/simplify resolver status messages
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b240064"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240064">240064</a>
      <span style="display: none"></span>
    </td>

    <td >[content assist] code completion appends unrelated content from editor
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b240073"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240073">240073</a>
      <span style="display: none"></span>
    </td>

    <td >[CommonNavigator] ISV guide doc corrections
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b240128"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240128">240128</a>
      <span style="display: none"></span>
    </td>

    <td >p2 unable to launch after SVN check-out of ide
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_trivial             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b240137"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240137">240137</a>
      <span style="display: none"></span>
    </td>

    <td >Minor typos in team_model.htm
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_trivial             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b240151"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240151">240151</a>
      <span style="display: none"></span>
    </td>

    <td >Minor typos in &quot;Model Roadmap for Logical Model Integration&quot; page
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b240214"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240214">240214</a>
      <span style="display: none"></span>
    </td>

    <td >[compiler] final bit should be cleared from class file access flag for anonymous class
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b240286"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240286">240286</a>
      <span style="display: none"></span>
    </td>

    <td >Problems encountered while deleting resources
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b240381"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240381">240381</a>
      <span style="display: none"></span>
    </td>

    <td >[Progress] NPE in org.eclipse.ui.workbench GroupInfo.java and JobTreeElement.java
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_minor             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b240387"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240387">240387</a>
      <span style="display: none"></span>
    </td>

    <td >DVT34: broken link in documentation
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_minor             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b240390"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240390">240390</a>
      <span style="display: none"></span>
    </td>

    <td >DVT34: broken link in documentation
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_minor             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b240391"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240391">240391</a>
      <span style="display: none"></span>
    </td>

    <td >DVT34: broken link in documentation
    </td>

  </tr>

  
   

  <tr class="bz_bugitem
             bz_minor             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b240392"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240392">240392</a>
      <span style="display: none"></span>
    </td>

    <td >DVT34: broken link in documentation
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_minor             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b240393"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240393">240393</a>
      <span style="display: none"></span>
    </td>

    <td >DVT34: broken link in documentation
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b240396"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240396">240396</a>
      <span style="display: none"></span>
    </td>

    <td >DVT34: broken link in documentation
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_minor             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b240397"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240397">240397</a>
      <span style="display: none"></span>
    </td>

    <td >DVT34: broken link in documentation
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_minor             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b240398"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240398">240398</a>
      <span style="display: none"></span>
    </td>

    <td >DVT34: broken link in documentation
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_trivial             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b240399"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240399">240399</a>
      <span style="display: none"></span>
    </td>

    <td >DVT34: broken link in documentation
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b240500"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240500">240500</a>
      <span style="display: none"></span>
    </td>

    <td >Java 6 Update 7 breaks OSGI over Webstart
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b240565"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240565">240565</a>
      <span style="display: none"></span>
    </td>

    <td >[Webapp] link to breadcrumbs.css does not work in (some) xhtml help docs
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_trivial             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b240633"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240633">240633</a>
      <span style="display: none"></span>
    </td>

    <td >Extension points missing in doc outline
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P2             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b240686"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240686">240686</a>
      <span style="display: none"></span>
    </td>

    <td >[formatter] Formatter do unexpected things
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b240909"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240909">240909</a>
      <span style="display: none"></span>
    </td>

    <td >[sec] Non-ASCII chars are not properly stored
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b240915"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240915">240915</a>
      <span style="display: none"></span>
    </td>

    <td >Eclipse startup fails when 2 equinox.launcher jars are in the installation dir
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b240924"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240924">240924</a>
      <span style="display: none"></span>
    </td>

    <td >NullPointerException when trying to open a file
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b240931"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240931">240931</a>
      <span style="display: none"></span>
    </td>

    <td >[DataBinding] NPE in JavaBeanObservable(Set|List).firstListenerAdded()
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b240933"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240933">240933</a>
      <span style="display: none"></span>
    </td>

    <td >CU attachment expensive due to large number of equal capabilities
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b241062"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=241062">241062</a>
      <span style="display: none"></span>
    </td>

    <td >[consistency] Font#getFontData() not safe from non-ui thread on MacOS
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b241081"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=241081">241081</a>
      <span style="display: none"></span>
    </td>

    <td >please increment version of org.eclipse.equinox.p2.user.ui  feature to 1.0.1
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b241150"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=241150">241150</a>
      <span style="display: none"></span>
    </td>

    <td >Version are not canonicalized when loading from update site
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b241185"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=241185">241185</a>
      <span style="display: none"></span>
    </td>

    <td >lots of log messages that look like problems, but which are not
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b241193"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=241193">241193</a>
      <span style="display: none"></span>
    </td>

    <td >[implementation] ClipboardOperationAction does not dispose the allocated clipboard
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b241209"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=241209">241209</a>
      <span style="display: none"></span>
    </td>

    <td >[Markers] [Problems View] Changing columns in the preferences makes errors disappear from the view
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b241273"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=241273">241273</a>
      <span style="display: none"></span>
    </td>

    <td >[templates view] AbstractTemplatesPage leaks clipboards
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b241289"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=241289">241289</a>
      <span style="display: none"></span>
    </td>

    <td >Fixes for artifact repository access (trailing slashes and synchronization)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b241345"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=241345">241345</a>
      <span style="display: none"></span>
    </td>

    <td >[formatter] Didn't Format HTML tags is unavailable
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b241384"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=241384">241384</a>
      <span style="display: none"></span>
    </td>

    <td >[Markers] Cannot delete marker from in marker, problems, task or bookmarks view
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b241574"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=241574">241574</a>
      <span style="display: none"></span>
    </td>

    <td >[ui] Restart question is misleading
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b241632"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=241632">241632</a>
      <span style="display: none"></span>
    </td>

    <td >[KeyBindings] Emacs Binding not visible
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b241671"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=241671">241671</a>
      <span style="display: none"></span>
    </td>

    <td >Mouse cursor disappears in editor and gets progressively slower coming back
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b241687"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=241687">241687</a>
      <span style="display: none"></span>
    </td>

    <td >[formatter] problem formatting block comments
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b241770"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=241770">241770</a>
      <span style="display: none"></span>
    </td>

    <td >StateHelper.getUnsatisfiedLeaves() behaviour changed from 3.2
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b241845"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=241845">241845</a>
      <span style="display: none"></span>
    </td>

    <td >[ui] UI code should check CANCEL status and OperationCanceledException
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_minor             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b242038"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=242038">242038</a>
      <span style="display: none"></span>
    </td>

    <td >'Organize Manifests' wizard has conflicting mnemonics
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b242069"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=242069">242069</a>
      <span style="display: none"></span>
    </td>

    <td >[package explorer] Filter for empty package doesn't work
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b242366"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=242366">242366</a>
      <span style="display: none"></span>
    </td>

    <td >[render] 'Java &gt; Appearance &gt; Compress all package name segments' fails for '0'
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b242394"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=242394">242394</a>
      <span style="display: none"></span>
    </td>

    <td >Arithmetic exception in AbstractColumnLayout
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b242436"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=242436">242436</a>
      <span style="display: none"></span>
    </td>

    <td >[p2] metadata generator creates problematic configUrl entry in config.ini
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b242443"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=242443">242443</a>
      <span style="display: none"></span>
    </td>

    <td >Maintenance build version numbers need updating
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_minor             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b242539"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=242539">242539</a>
      <span style="display: none"></span>
    </td>

    <td >[Doc] 2 Help pages don't mention that CVS passwords are kept now by Secure Storage
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b242561"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=242561">242561</a>
      <span style="display: none"></span>
    </td>

    <td >URLStreamHandlerProxy does not delegate new Java 5 method: openConnection(URL u, Proxy p);
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b242582"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=242582">242582</a>
      <span style="display: none"></span>
    </td>

    <td >[MPE] Ctrl+S in MPEP: different behaviour in 3.3 and 3.4
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b242603"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=242603">242603</a>
      <span style="display: none"></span>
    </td>

    <td >Solaris crash: symbol gnome_icon_theme_new: referenced symbol not found
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_blocker             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b242632"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=242632">242632</a>
      <span style="display: none"></span>
    </td>

    <td >Eclipse won't start as non-root user when it is installed in two sites as root.
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b242644"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=242644">242644</a>
      <span style="display: none"></span>
    </td>

    <td >eclipse crashes when downloading a file in the internal browser
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b242646"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=242646">242646</a>
      <span style="display: none"></span>
    </td>

    <td >deadlock on org.eclipse.jdt.internal.core.ExternalFoldersManager
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b242741"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=242741">242741</a>
      <span style="display: none"></span>
    </td>

    <td >[ui] version of org.eclipse.equinox.p2.ui.sdk in the 3.4.x stream needs to be updated
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P2             bz_CLOSED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b242762"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=242762">242762</a>
      <span style="display: none"></span>
    </td>

    <td >[common navigator] newly created project disappears in Project Explorer
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b242879"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=242879">242879</a>
      <span style="display: none"></span>
    </td>

    <td >org.eclipse.team.core.projectSets extension point deprecated - forward ref invalid
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b242900"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=242900">242900</a>
      <span style="display: none"></span>
    </td>

    <td >[Markers] (3.4 maint.) Test failure in MarkersViewColumnSizeTest.testColumnRestore
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b242933"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=242933">242933</a>
      <span style="display: none"></span>
    </td>

    <td >[1.5] NullPointerException for &#64;Range(min=1, max=9999999999999999)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b243012"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=243012">243012</a>
      <span style="display: none"></span>
    </td>

    <td >Password fields can be copied to the clipboard on Mac OS X
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b243064"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=243064">243064</a>
      <span style="display: none"></span>
    </td>

    <td >[Help][Mac OS X] The background color of selected print menu is too dark.
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P2             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b243132"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=243132">243132</a>
      <span style="display: none"></span>
    </td>

    <td >PackagesViewContentProviderTests2.testAddCUFromPackageNotLogicalPackage fails sometimes
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b243210"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=243210">243210</a>
      <span style="display: none"></span>
    </td>

    <td >[KeyBindings] AWT Text fields no longer receive delete key pressed event in workbench
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b243266"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=243266">243266</a>
      <span style="display: none"></span>
    </td>

    <td >[implementation] Don't set clipboard if textData is null in ClipboardOperationAction.doCutCopyWithImportsOperation()
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b243346"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=243346">243346</a>
      <span style="display: none"></span>
    </td>

    <td >[common navigator] Adding sub-package in hierarchical mode is added twice
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P2             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b243399"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=243399">243399</a>
      <span style="display: none"></span>
    </td>

    <td >[breadcrumb] Should not redraw when caret moved in same element
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_trivial             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b243405"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=243405">243405</a>
      <span style="display: none"></span>
    </td>

    <td >[hovering] Typo in dialog from Problem hover
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b243422"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=243422">243422</a>
      <span style="display: none"></span>
    </td>

    <td >Feature with empty required version incorrectly converted to [0.0.0,1.0.0)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b243466"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=243466">243466</a>
      <span style="display: none"></span>
    </td>

    <td >[CommonNavigator] documentation missing about how to configure linkHelper
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b243467"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=243467">243467</a>
      <span style="display: none"></span>
    </td>

    <td >Doc Clarification / &quot;action to enable&quot;
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b243606"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=243606">243606</a>
      <span style="display: none"></span>
    </td>

    <td >[Debug View] Stackframe does not get focus with multiple debug targets
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b243773"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=243773">243773</a>
      <span style="display: none"></span>
    </td>

    <td >Test failure in M20080808
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b243842"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=243842">243842</a>
      <span style="display: none"></span>
    </td>

    <td >Solaris crash: symbol gnome_icon_theme_new: referenced symbol not found
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b244013"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244013">244013</a>
      <span style="display: none"></span>
    </td>

    <td >[Metadata] Branched org.eclipse.ui should have version 3.4.1
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b244020"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244020">244020</a>
      <span style="display: none"></span>
    </td>

    <td >[hovering] Rich Problem Hover &gt; Configure Problem Severity asks about project-specific settings too often
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b244038"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244038">244038</a>
      <span style="display: none"></span>
    </td>

    <td >Doc Clarification / used for, used from
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b244098"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244098">244098</a>
      <span style="display: none"></span>
    </td>

    <td >[DataBinding] ListBinding does not update from model to target in some cases
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b244108"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244108">244108</a>
      <span style="display: none"></span>
    </td>

    <td >[WorkbenchLauncher] ArrayIndexOutOfBoundsException in IDEApplication.start() when launching partially branded product
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b244148"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244148">244148</a>
      <span style="display: none"></span>
    </td>

    <td >[About] (maintenance) Looking at Help-&gt;Plugins and then closing produces many errors
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b244171"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244171">244171</a>
      <span style="display: none"></span>
    </td>

    <td >[ActivityMgmt] (maintenance) NPE in org.eclipse.ui.internal.activities.Identifer prevents menu contributions from showing up
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b244322"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244322">244322</a>
      <span style="display: none"></span>
    </td>

    <td >&quot;org.eclipse.platform&quot; plugin version smaller in Eclipse 3.4.1
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b244396"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244396">244396</a>
      <span style="display: none"></span>
    </td>

    <td >[DND] Combo on Linux does not fire DragSourceEvent.
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b244428"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244428">244428</a>
      <span style="display: none"></span>
    </td>

    <td >[ActivityMgmt] (maintenance) Endless loop in MutableActivityManager.getIdentifier(..)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b244500"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244500">244500</a>
      <span style="display: none"></span>
    </td>

    <td >/eclipse/updates/3.4 has wrong mirrors URL
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b244514"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244514">244514</a>
      <span style="display: none"></span>
    </td>

    <td >[package explorer] PackageExplorerContentProvider.executeRunnables(Collection) might change event order
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b244574"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244574">244574</a>
      <span style="display: none"></span>
    </td>

    <td >ProgressBar state can be visually lost by updating selection
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b244610"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244610">244610</a>
      <span style="display: none"></span>
    </td>

    <td >[CommonNavigator] tests - test file not correctly closed, causes exception in tearDown
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b244615"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244615">244615</a>
      <span style="display: none"></span>
    </td>

    <td >Use BundleContext.getProperty(...) instead of System.getProperty(...)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b244616"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244616">244616</a>
      <span style="display: none"></span>
    </td>

    <td >Reduce severity when logging SiteEntry without plugins dir
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_blocker             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b244630"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244630">244630</a>
      <span style="display: none"></span>
    </td>

    <td >Unable to invoke product as non-root user after applying product patches.
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b244631"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244631">244631</a>
      <span style="display: none"></span>
    </td>

    <td >[Markers] Problems view cache is too large for very large marker sets
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b244716"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244716">244716</a>
      <span style="display: none"></span>
    </td>

    <td >code generation at Insertion point option not being preserved
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b244754"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244754">244754</a>
      <span style="display: none"></span>
    </td>

    <td >[PropertiesDialog] propertyPages extension point does not allow forcePluginActivation when using core.expression's property tester
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b245125"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=245125">245125</a>
      <span style="display: none"></span>
    </td>

    <td >[Trim] Cheese when calling Shell#layout() on invisible Shell in RCP
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b245159"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=245159">245159</a>
      <span style="display: none"></span>
    </td>

    <td >[Preferences] Preference pages not scrollable (accessible) via keyboard
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b245165"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=245165">245165</a>
      <span style="display: none"></span>
    </td>

    <td >USER-INCLUDE Sites are filtering out generation of feature and group IUs
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b245183"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=245183">245183</a>
      <span style="display: none"></span>
    </td>

    <td >[Databinding] ObservableList could do a == check before delegating to the wrapped list
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b245185"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=245185">245185</a>
      <span style="display: none"></span>
    </td>

    <td >Message in the MessaeBox is not BiDi correctly
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b245206"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=245206">245206</a>
      <span style="display: none"></span>
    </td>

    <td >[CommonNavigator] Add test code for dependsOn with overrides in actionProvider
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b245271"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=245271">245271</a>
      <span style="display: none"></span>
    </td>

    <td >Change PackageAdminImpl.doResolveBundles to protected
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b245411"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=245411">245411</a>
      <span style="display: none"></span>
    </td>

    <td >Increment org.eclipse.sdk and org.eclipse.help feature versions in 3_4_maintenance
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b245554"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=245554">245554</a>
      <span style="display: none"></span>
    </td>

    <td >Cannot find and read bundle.info in a shared install
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b245575"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=245575">245575</a>
      <span style="display: none"></span>
    </td>

    <td >Contents of org.eclipse.cvs changed but version did not between 3.4 GM and 3.4.1 20080827
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b245746"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=245746">245746</a>
      <span style="display: none"></span>
    </td>

    <td >NPE org.eclipse.jdt.apt.core.internal.env.BaseProcessorEnv:491
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b246133"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=246133">246133</a>
      <span style="display: none"></span>
    </td>

    <td >plug-in and fragment versions need updating for 3.4.1
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b246310"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=246310">246310</a>
      <span style="display: none"></span>
    </td>

    <td >Shared-mode reconciliation is sensitive to repository caches search order
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P1             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b246432"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=246432">246432</a>
      <span style="display: none"></span>
    </td>

    <td >BundleInfo equals/hashCode mismatch
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b247052"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=247052">247052</a>
      <span style="display: none"></span>
    </td>

    <td >Declare 3.4.1 RC3
    </td>

  </tr>

  
    </table>






<br>


<p>
Note: Bug fixes since the 3.4 release can be obtained by the following the Bugzilla query: <a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_file_loc_type=allwordssubstr;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;classification=Eclipse;classification=RT;field-1-0-0=bug_status;field-1-1-0=classification;field-1-2-0=product;field-1-3-0=resolution;field-1-4-0=target_milestone;field0-0-0=noop;keywords_type=allwords;long_desc_type=allwordssubstr;product=Equinox;product=JDT;product=PDE;product=Platform;query_format=advanced;remaction=;resolution=FIXED;short_desc=;short_desc_type=allwordssubstr;status_whiteboard=;status_whiteboard_type=allwordssubstr;target_milestone=3.4.1;type-1-0-0=anyexact;type-1-1-0=anyexact;type-1-2-0=anyexact;type-1-3-0=anyexact;type-1-4-0=anyexact;type0-0-0=noop;value-1-0-0=RESOLVED%2CVERIFIED%2CCLOSED;value-1-1-0=Eclipse%2CRT;value-1-2-0=Equinox%2CJDT%2CPDE%2CPlatform;value-1-3-0=FIXED;value-1-4-0=3.4.1;value0-0-0=%7C;query_based_on=">https://bugs.eclipse.org/bugs/buglist.cgi?bug_file_loc_type=allwordssubstr;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;classification=Eclipse;classification=RT;field-1-0-0=bug_status;field-1-1-0=classification;field-1-2-0=product;field-1-3-0=resolution;field-1-4-0=target_milestone;field0-0-0=noop;keywords_type=allwords;long_desc_type=allwordssubstr;product=Equinox;product=JDT;product=PDE;product=Platform;query_format=advanced;remaction=;resolution=FIXED;short_desc=;short_desc_type=allwordssubstr;status_whiteboard=;status_whiteboard_type=allwordssubstr;target_milestone=3.4.1;type-1-0-0=anyexact;type-1-1-0=anyexact;type-1-2-0=anyexact;type-1-3-0=anyexact;type-1-4-0=anyexact;type0-0-0=noop;value-1-0-0=RESOLVED%2CVERIFIED%2CCLOSED;value-1-1-0=Eclipse%2CRT;value-1-2-0=Equinox%2CJDT%2CPDE%2CPlatform;value-1-3-0=FIXED;value-1-4-0=3.4.1;value0-0-0=%7C;query_based_on=</a>

</p>

<hr>
<p>Sun, Solaris, Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc.
in the United States, other countries, or both.</p>
<p>IBM is a trademark of International Business Machines Corporation in the
United States, other countries, or both.</p>
<p>Microsoft, Windows, Windows NT, Vista, and the Windows logo are trademarks of
Microsoft Corporation in the United States, other countries, or both.</p>
<p>Apple and Mac OS are trademarks of Apple Computer, Inc., registered in the
U.S. and other countries.</p>
<p>QNX, Neutrino, and Photon are trademarks or registered trademarks of QNX
Software Systems Ltd.</p>
<p>Other company, product, and service names may be trademarks or service marks
of others.</p>
<p>(c) Copyright IBM Corp. and others 2008</p>

<h2><a name="Appendix1">Appendix 1: Execution Environment by Plug-in</a></h2>

<p>In the table below, the "3.4 EE" ("3.4 Execution Environment") column
indicates the minimum Java class library requirements of each plug-in
for the 3.4 release, where the value is one of:</p>
<table border="0" width="90%">
  <tbody>
    <tr>
      <td align="center"><b>Entry</b></td>
      <td align="left"><b>Meaning</b></td>
    </tr>
    <tr>
      <td>
      <div align="center"><strong>M1.0</strong></div>
      </td>
      <td>OSGi Minimum Execution Environment 1.0 - This is a subset of
      the J2ME Foundation class libraries defined by OSGi to be the base
      for framework implementations. See the OSGi specification for more
      details.</td>
    </tr>
    <tr>
      <td width="9%">
      <div align="center"><strong>M1.1</strong></div>
      </td>
      <td width="91%">OSGi Minimum Execution Environment 1.1 - This is a
      subset of the J2ME Foundation class libraries defined by OSGi to
      be the base for framework implementations. See the OSGi
      specification for more details.</td>
    </tr>
    <tr>
      <td>
      <div align="center"><strong>F1.0</strong></div>
      </td>
      <td>J2ME Foundation 1.0 - indicates that the plug-in can only be
      run on Foundation 1.0 or greater. Note that with the exception of
      some MicroEdition IO classes, Foundation 1.0 is a subset of J2SE
      1.3.</td>
    </tr>
    <tr>
      <td>
      <div align="center"><strong>F1.1</strong></div>
      </td>
      <td>J2ME Foundation 1.1 - indicates that the plug-in can only be
      run on Foundation 1.1 or greater. Note that with the exception of
      some MicroEdition IO classes, Foundation 1.1 is a subset of J2SE
      1.4.</td>
    </tr>
    <tr>
      <td>
      <div align="center"><strong>1.2</strong></div>
      </td>
      <td>J2SE 1.2 - indicates that the plug-in can only be run on JSE
      1.2 or greater.</td>
    </tr>
    <tr>
      <td>
      <div align="center"><strong>1.3</strong></div>
      </td>
      <td>J2SE 1.3 - indicates that the plug-in can only be run on JSE
      1.3 or greater.</td>
    </tr>
    <tr>
      <td>
      <div align="center"><strong>1.4</strong></div>
      </td>
      <td>J2SE 1.4 - indicates that the plug-in can only be run on JSE
      1.4 or greater.</td>
    </tr>
    <tr>
      <td>
      <div align="center"><strong>1.4/1.5</strong></div>
      </td>
      <td>Indicates that the plug-in can run on JSE
      1.4 or greater, but provides enhanced functionality when run on J2SE 5.0.</td>
    </tr>
    <tr>
      <td>
      <div align="center"><strong>1.5</strong></div>
      </td>
      <td>J2SE 5.0 - indicates that the plug-in can only be run on JSE
      5.0 or greater.</td>
    </tr>
    <tr>
      <td>
      <div align="center"><strong>1.6</strong></div>
      </td>
      <td>J2SE 6.0 - indicates that the plug-in can only be run on JSE
      6.0 or greater.</td>
    </tr>
    <tr>
      <td align="center"><b>n/a</b></td>
      <td>Not applicable (for example plug-ins that do not contain Java code)</td>
    </tr>
  </tbody>
</table>
<br>
<b>Table of minimum execution environments by plug-in.</b> <br>
<table border="1">
  <tbody>
    <tr>
      <td width="290"><strong>Plug-in</strong></td>
      <td width="60"><div align="center">

          <p align="center"><b>3.4<br>
            minimum<br>
            execution<br>
            environment </b></p>
        </div></td>
    </tr>
    <tr>

      <td>javax.servlet</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>javax.servlet.jsp</td>
      <td><div align="center">F1.0</div></td>
    </tr>

    <tr>
      <td>org.apache.ant</td>
      <td><div align="center">1.2</div></td>
    </tr>
    <tr>
      <td>org.apache.commons.el</td>
      <td><div align="center">F1.0</div></td>

    </tr>
    <tr>
      <td>org.apache.commons.logging</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.apache.jasper</td>

      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.apache.lucene</td>
      <td><div align="center">n/a</div></td>
    </tr>
    <tr>

      <td>org.eclipse.ant.core</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ant.ui</td>
      <td><div align="center">1.4</div></td>
    </tr>

    <tr>
      <td>org.eclipse.compare</td>
      <td><div align="center">n/a</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.boot</td>
      <td><div align="center">F1.0</div></td>

    </tr>
    <tr>
      <td>org.eclipse.core.commands</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.contenttype</td>

      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.expressions</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>

      <td>org.eclipse.core.filebuffers</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.filesystem</td>
      <td><div align="center">1.4</div></td>
    </tr>

    <tr>
      <td>org.eclipse.core.jobs</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.net</td>
      <td><div align="center">1.4</div></td>

    </tr>
    <tr>
      <td>org.eclipse.core.resources</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.resources.compatibility</td>

      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.runtime</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>

      <td>org.eclipse.core.runtime.compatibility</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.runtime.compatibility.auth</td>
      <td><div align="center">F1.0</div></td>
    </tr>

    <tr>
      <td>org.eclipse.core.runtime.compatibility.registry</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.variables</td>
      <td><div align="center">1.4</div></td>

    </tr>
    <tr>
      <td>org.eclipse.debug.core</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.debug.ui</td>

      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.app</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>

      <td>org.eclipse.equinox.common</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.http.jetty</td>
      <td><div align="center">F1.0</div></td>
    </tr>

    <tr>
      <td>org.eclipse.equinox.http.servlet</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.http.registry</td>
      <td><div align="center">F1.0</div></td>

    </tr>
    <tr>
      <td>org.eclipse.equinox.jsp.jasper</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.jsp.jasper.registry</td>

      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.launcher</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>

      <td>org.eclipse.equinox.preferences</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.registry</td>
      <td><div align="center">F1.0</div></td>
    </tr>

    <tr>
      <td>org.eclipse.help</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.help.appserver</td>
      <td><div align="center">1.4</div></td>

    </tr>
    <tr>
      <td>org.eclipse.help.base</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.help.ui</td>

      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.help.webapp</td>
      <td><div align="center">1.4</div></td>
    </tr>

    <tr>
      <td>org.eclipse.jdt</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.apt.core</td>
      <td><div align="center">1.5</div></td>

    </tr>
    <tr>
      <td>org.eclipse.jdt.apt.ui</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.compiler.apt</td>

      <td><div align="center">1.6</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.compiler.tool</td>
      <td><div align="center">1.6</div></td>
    </tr>
    <tr>

      <td>org.eclipse.jdt.core</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.core.manipulation</td>
      <td><div align="center">1.4</div></td>
    </tr>

    <tr>
      <td>org.eclipse.jdt.debug</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.debug.ui</td>
      <td><div align="center">1.4</div></td>

    </tr>
    <tr>
      <td>org.eclipse.jdt.doc.isv</td>
      <td><div align="center">n/a</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.doc.user</td>

      <td><div align="center">n/a</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.junit</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>

      <td>org.eclipse.jdt.junit.runtime</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.junit4.runtime</td>
      <td><div align="center">1.5</div></td>
    </tr>

    <tr>
      <td>org.eclipse.jdt.launching</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.source</td>
      <td><div align="center">n/a</div></td>

    </tr>
    <tr>
      <td>org.eclipse.jdt.ui</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jface</td>

      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jface.text</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>

      <td>org.eclipse.jsch.core</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jsch.ui</td>
      <td><div align="center">1.4</div></td>
    </tr>

    <tr>
      <td>org.eclipse.ltk.core.refactoring</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ltk.ui.refactoring</td>
      <td><div align="center">1.4</div></td>

    </tr>
    <tr>
      <td>org.eclipse.osgi (system.bundle)</td>
      <td><div align="center">M1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.osgi.services</td>

      <td><div align="center">M1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.osgi.util</td>
      <td><div align="center">M1.0</div></td>
    </tr>
    <tr>

      <td>org.eclipse.pde</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde.build</td>
      <td><div align="center">1.4</div></td>
    </tr>

    <tr>
      <td>org.eclipse.pde.core</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde.doc.user</td>
      <td><div align="center">n/a</div></td>

    </tr>
    <tr>
      <td>org.eclipse.pde.junit.runtime</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde.runtime</td>

      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde.source</td>
      <td><div align="center">n/a</div></td>
    </tr>
    <tr>

      <td>org.eclipse.pde.ui</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde.ui.templates</td>
      <td><div align="center">1.4</div></td>
    </tr>

    <tr>
      <td>org.eclipse.platform</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.platform.doc.isv</td>
      <td><div align="center">n/a</div></td>

    </tr>
    <tr>
      <td>org.eclipse.platform.doc.user</td>
      <td><div align="center">n/a</div></td>
    </tr>
    <tr>
      <td>org.eclipse.platform.source</td>

      <td><div align="center">n/a</div></td>
    </tr>
    <tr>
      <td>org.eclipse.platform.source.*</td>
      <td><div align="center">n/a</div></td>
    </tr>
    <tr>

      <td>org.eclipse.rcp</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.rcp.source</td>
      <td><div align="center">n/a</div></td>
    </tr>

    <tr>
      <td>org.eclipse.rcp.source.*</td>
      <td><div align="center">n/a</div></td>
    </tr>
    <tr>
      <td>org.eclipse.sdk</td>
      <td><div align="center">n/a</div></td>

    </tr>
    <tr>
      <td>org.eclipse.search</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.swt</td>

      <td bgcolor="#ffffff"><div align="center">M1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.swt.*</td>
      <td bgcolor="#ffffff"><div align="center">M1.0</div></td>
    </tr>
    <tr>

      <td>org.eclipse.team.core</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.team.cvs.core</td>
      <td><div align="center">1.4</div></td>
    </tr>

    <tr>
      <td>org.eclipse.team.cvs.ssh</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.team.cvs.ssh2</td>
      <td><div align="center">1.4</div></td>

    </tr>
    <tr>
      <td>org.eclipse.team.cvs.ui</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.team.ui</td>

      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.text</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>

      <td>org.eclipse.tomcat</td>
      <td><div align="center">n/a</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui</td>
      <td><div align="center">F1.0</div></td>
    </tr>

    <tr>
      <td>org.eclipse.ui.browser</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.cheatsheets</td>
      <td><div align="center">1.4</div></td>

    </tr>
    <tr>
      <td>org.eclipse.ui.console</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.editors</td>

      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.externaltools</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>

      <td>org.eclipse.ui.forms</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.ide</td>
      <td><div align="center">1.4</div></td>

    </tr>
    <tr>
      <td>org.eclipse.ui.intro</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.intro.universal</td>

      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.navigator</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>

      <td>org.eclipse.ui.navigator.resources</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.net</td>
      <td><div align="center">1.4</div></td>
    </tr>

    <tr>
      <td>org.eclipse.ui.presentations.r21</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.views</td>
      <td><div align="center">1.4</div></td>

    </tr>
    <tr>
      <td>org.eclipse.ui.win32</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.workbench</td>

      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.workbench.compatibility</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>

      <td>org.eclipse.ui.workbench.texteditor</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.update.configurator</td>
      <td bgcolor="#ffffff"><div align="center">F1.0</div></td>
    </tr>

    <tr>
      <td>org.eclipse.update.core</td>
      <td bgcolor="#ffffff"><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.update.core.linux</td>
      <td bgcolor="#ffffff"><div align="center">F1.0</div></td>

    </tr>
    <tr>
      <td>org.eclipse.update.core.win32</td>
      <td bgcolor="#ffffff"><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.update.scheduler</td>

      <td bgcolor="#ffffff"><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.update.ui</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>

      <td>org.junit (old)</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.junit (JUnit4)</td>
      <td><div align="center">1.5</div></td>
    </tr>

    <tr>
      <td>org.mortbay.jetty</td>
      <td><div align="center">F1.0</div></td>
    </tr>
  </tbody>
</table>

</body>
</html>