Bug in compiler

I am trying to compile my application (with Eclipse 3.4M3 - Ant) which is intended for a school project using EJB3 deployed on JBoss. When I compile with annotations I get the following errors. I am using a Windows XP computer, the latest JDK was installed yesterday.
The errors are generated as soon as I add those annotations to my class (one of them or both, doesn't change the result):
     @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int idInscription;
     @ManyToOne @JoinColumn(name="idGroupeCours") private GroupeCours groupeCours;
Those annotations are also in another class which doesn't give me the error from the compiler.
   [javac] Compiling 1 source file to E:\Eclipse 3.4 Workspace\GTI710-WEB\WebContent\WEB-INF\classes
    [javac] ca\etsmtl\gti710\entities\Bob.class(ca\etsmtl\gti710\entities:Inscription.class): warning: Cannot find annotation method 'strategy()' in type 'javax.persistence.GeneratedValue': class file for javax.persistence.GeneratedValue not found
    [javac] An exception has occurred in the compiler (1.6.0_05). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport)  after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report.  Thank you.
    [javac] com.sun.tools.javac.code.Symbol$CompletionFailure: class file for javax.persistence.GenerationType not foundSince the context for this kind of application is quite big I don't really know how to post this as a bug as asked in the error messages I get.
What should I do? for the moment I will try to find a way around this but I will have to get this working

I think I solved my problem but still there is a bug in the compiler.
My classes with annotations were in a EJB project and this project was included in another project (web this time) but the build.xml of the WEB project was missing ejb3x-persistence.jar in it's classpath, this is why (i think) javac was giving this error message. Maybe there is an exception in the compiler not well handled resulting in failure of the compiler instead of a simple message shown to the developer.
I hope my messages will help solving this bug or help other developers.

Similar Messages

  • ASC 2.0 Preview 2 Bug - Conditional Compilation around a constructor fails

    Is this the right place to be reporting bugs?
    Source class:
    public class Something
    CONFIG::debug
    public function Something(id:uint)
    CONFIG::release
    public function Something()
    In another class:
    CONFIG::debug
    var q:Something = new Something(10);
    Compiling with Additional Compiler Arguments set to "-define+=CONFIG::debug,true -define+=CONFIG::release,false" results in the following warnings and errors:
        [mxmlc] Warning: return value for function 'Something' has no type declaration.
        [mxmlc]                               public function Something(id:uint)
        [mxmlc]                                               ^
        [mxmlc] Error: Incorrect number of arguments.  Expected no more than 0
        [mxmlc]                                         var q:Something = new Something(10);
        [mxmlc]                                                           ^

    I could reproduce this issue with ASC 2. I've logged this as bug 3339009.
    I'm guessing you have a more complex scenario in mind, but the workaround for this simple case might be to use default arguments to make the constructor parameter optional?
            public function Something(id:uint=0)
    The bug does seem to impact constructors. Another workaround for now is to use a conditional factory pattern?
    package
    public class Something
        public function Something(id:uint=0)
            this.id = id;
          private var id:uint;
        CONFIG::debug {
            public static function createInstance(id:uint):Something
                return new Something(id);
       CONFIG::release {
            public static function createInstance():Something
                return new Something();

  • BUG: ojc compiler doesnt handle @Override on anonymous inner class methods

    Hi,
    jdev 10.1.3.3.0.4157, XP SP2, jdk 5 u13:
    for the following code sample:
    Object o = new Object()
        @Override
        public String toString2()
            return "some string";
    };With ojc set as a compiler (the default), ojc doesnt catch the error about overriding toString with toString2, changing the compiler to javac achieves the required and correct behavior.

    Thanks Frank, I logged a couple more not so serious issues a while back but didnt get any feedback on them. The subject of the posts didn't have a 'BUG' prefix though. Should I edit them so to give them some attention, or were they silently logged :) ?

  • Bug in compiler option -features=tmplife?

    hi,
    i believe i've found a bug in -features=tmplife. below are my makefile and source file. basically the option for destroying temp variables calls the same destructor more than once. the program below causes this output for the case with the option turned on:
    # ./compilerTestTmpLife
    HInteger [444]
    Base
    Derived
    ~HInteger [444]
    Before throw!
    ~Base
    ~HInteger [444]
    ~Base
    ~HInteger [444]
    ~Base
    ~HInteger [444]
    ~HInteger [444]
    ~Derived
    ~Base
    ~HInteger [444]
    Caught!
    Done!
    ------------------------------- makefile ----------------------------------
    all: compilerTest compilerTestTmpLife
    compilerTest: compilerTest.cpp
         CC -o compilerTest.o -c compilerTest.cpp
         CC -o compilerTest compilerTest.o
    compilerTestTmpLife: compilerTest.cpp
         CC -features=tmplife -o compilerTestTmpLife.o -c compilerTest.cpp
         CC -o compilerTestTmpLife compilerTestTmpLife.o -features=tmplife
    clean:
         rm -f *.o compilerTest compilerTestTmpLife
    ----------------------------- compilerTest.cpp ------------------------
    #include <stdio.h>
    class HInteger
    public:
    HInteger(const int i)
    : m_integer( i )
    printf("HInteger [%d]\n", m_integer );
    ~HInteger()
    printf("~HInteger [%d]\n", m_integer );
    private:
    int m_integer;
    class Base
    public:
    Base( const HInteger& protocol )
    : m_protocol( protocol )
    printf("Base\n");
    fflush(stdout);
    virtual ~Base()
    printf("~Base\n");
    fflush(stdout);
    protected:
    HInteger m_protocol;
    class Derived : public Base
    public:
    Derived( const HInteger& protocol )
    : Base(protocol)
    printf("Derived\n");
    fflush(stdout);
    virtual ~Derived()
    printf("~Derived\n");
    fflush(stdout);
    int main(int argc, char ** argv)
    try
    Derived testObject( 444 );
    printf("Before throw!\n");
    throw 21;
    catch(...)
    printf("Caught!\n");
    printf("Done!\n");
    return 1;
    FYI:
    # uname -a
    SunOS vanrdsol40 5.8 Generic_108528-16 sun4u sparc SUNW,Sun-Fire-480R
    # CC -V
    CC: Sun WorkShop 6 update 2 C++ 5.3 2001/05/15
    Thanks!

    hi,
    we have applied the latest compiler patches as described by:
    <http://access1.sun.com/patch.public/cgi-bin/show_list.cgi/wrk/Forte_C++_6u2_SPARC>
    and we still have the problem with the -features=tmplife option.
    let us know if there anything else we can try.
    thanks

  • BUG: JSP Compiler Inconsistency in handling EL under Jdev 10.1.3.0.4.3673

    I think I have a reproducible test case for exposing this problem. Follow these steps in Jdev 10.1.3 production.
    1) Create new Web Project, give it a name, next
    2) Select Servlet 2.3, then next
    3) Check Add JSP Page, next, finish
    4) Accept defaults for new JSP page, click finish
    5) Open JSP Component Palette and drag Taglib Directive onto the new JSP page.
    6) Select JSTL Core 1.0, click OK
    7) Paste this in the body: <c:set var="bogus" value="something"/> Test: ${bogus}
    8) Right click, run. The page will have this output: Test: ${bogus}
    9) Modify the JSP to force a recompile, save, refresh the browser
    The output will change with the EL expression evaluated properly: Test: something
    The JSP compiled before oc4j starts does not behave the same as the JSP recompiled within oc4j. A bug?

    Please disregard the j2ee vs. studio comment. It was because I opened and ran the same project in the studio version without recompiling the jsp under Jdev. The compiled jsp was left over from my previous run of oc4j.
    Again, the problem is present in both editions.

  • BUG: Internal compilation error, terminated with a fatal exception

    After downloading the new Oracle JDeveloper 10g production, migrating all my projects, everytime I try to make/rebuild any file or package, I get the following error:
    Internal compilation error, terminated with a fatal exception
    This happens if use either JAVAC or OJC.
    Regards,
    Yaniv Kunda

    I think the error reporting is wrong, since dbMessages.java is a translated SQLJ file, and the specified method exists in the SQLJ file around that line number - and not in the java file resulting from the translation.
    Note that line 2958, in the SQLJ file, was the simple MessageHeader.Iter messageHeaderIter; line.
    The definition of this class, is in a SQLJ file, which content is:
    package telemessage.db.impl.iterators;
    import java.sql.Timestamp;
    * Contains an iterator for viewing message headers in folder view.
    public class MessageHeader {
         #sql public static iterator Iter (
              long          MESSAGE_ID,
              String          RANDOM_KEY,
              Timestamp     DATE_SENT_BY_USER,
              short          TYPE,
              long          MESSAGE_SIZE,
              int               ATTACHMENT_COUNT,
              String          SUBJECT,
              String          FROM_DISPLAY,
              String          TO_DISPLAY,
              Long          POLLER_ACCOUNT_ID,
              long          DEVICE_ID,
              short          DEVICE_STATE,
              short          DEVICE_BLOCKING,
              Integer          DEVICE_BLOCKED_FROM,
              Integer          DEVICE_BLOCKED_UNTIL,
              short          DEVICE_TYPE,
              byte          DEVICE_SUB_TYPE,
              String          DEVICE_VALUE,
              String          DEVICE_DESCRIPTION,
              boolean          READ,
              String          TEXT,
              boolean          ESCALATING,
              int               DESCENDANT_COUNT,
              short          STATUS
    }I have pasted the original source of this method, both before and after SQLJ translation.
    before:
         public static MessageEntries getMessageDescendants(DBThread db, long messageID, boolean isRoot)
                   throws SQLException, DBException {
              List messagesList = new ArrayList();
              MessageHeader.Iter messageHeaderIter;
              #sql [db.ctx] messageHeaderIter = {
                   select
                        m.ID MESSAGE_ID,
                       m.RANDOM_KEY,
                        m.DATE_SENT_BY_USER,
                        m.TYPE,
                        m.MESSAGE_SIZE,
                        m.ATTACHMENT_COUNT,
                        m.SUBJECT,
                        m.FROM_DISPLAY,
                        m.TO_DISPLAY,
                        m.POLLER_ACCOUNT_ID,
                        -1 DEVICE_ID,
                        -1 DEVICE_STATE,
                        -1 DEVICE_BLOCKING,
                        null DEVICE_BLOCKED_FROM,
                        null DEVICE_BLOCKED_UNTIL,
                        -1 DEVICE_TYPE,
                        -1 DEVICE_SUB_TYPE,
                        null DEVICE_VALUE,
                        null DEVICE_DESCRIPTION,
                       1 READ,
                             select     tm.TEXT
                             from     TEXT_MESSAGES tm
                             where     
                                       tm.MESSAGE_ID = m.ID
                                  and     rownum = 1
                        ) TEXT,
                        0 ESCALATING,
                        0 DESCENDANT_COUNT,
                        -1 STATUS
                   from
                        MESSAGES m
                   start with
                        m.ID = decode(:isRoot,
                             1,:messageID,
                                  select          m2.ID
                                  from          MESSAGES m2
                                  where          m2.ORIGINAL_MESSAGE_ID is null
                                  start with     m2.ID = :messageID
                                  connect by     m2.ID = prior m2.ORIGINAL_MESSAGE_ID
                   connect by
                        prior m.ID = m.ORIGINAL_MESSAGE_ID
                   order by
                        m.DATE_SENT_BY_USER desc
              while (messageHeaderIter.next()) {
                   MessageEntry messageEntry = new MessageEntry(
                        messageHeaderIter.FROM_DISPLAY(),
                        messageHeaderIter.TO_DISPLAY(),
                        messageHeaderIter.SUBJECT(),
                        messageHeaderIter.MESSAGE_SIZE(),
                        messageHeaderIter.RANDOM_KEY(),
                        messageHeaderIter.MESSAGE_ID(),
                        messageHeaderIter.DATE_SENT_BY_USER(),
                        messageHeaderIter.TYPE(),
                        messageHeaderIter.ATTACHMENT_COUNT(),
                        null,   // pollerAccount
                        0,          // senderID
                        null,   // sentFromDevice
                        messageHeaderIter.READ(),
                        messageHeaderIter.TEXT(),
                        messageHeaderIter.ESCALATING(),
                    0,          // descendantsCount - not relevant for this query
                        messageHeaderIter.STATUS()
                   messagesList.add(messageEntry);
                   db.checkTimeout(); // potential time-consuming loop
              }//while
              messageHeaderIter.close();
            long[] allEntriesMessageIDs = new long[messagesList.size()];
              for (int i = 0; i < allEntriesMessageIDs.length; i++) {
                   allEntriesMessageIDs[i] = ((MessageEntry)messagesList.get(i)).getMessageContainerID();
              return new MessageEntries(messagesList, 0, allEntriesMessageIDs, null);
         } // getMessageDescendants
    after:
         public static MessageEntries getMessageDescendants(DBThread db, long messageID, boolean isRoot)
                   throws SQLException, DBException {
              List messagesList = new ArrayList();
              MessageHeader.Iter messageHeaderIter;
              /*@lineinfo:generated-code*//*@lineinfo:2959^3*/
    //  #sql [db.ctx] messageHeaderIter = { select
    //                      m.ID MESSAGE_ID,
    //                     m.RANDOM_KEY,
    //                      m.DATE_SENT_BY_USER,
    //                      m.TYPE,
    //                      m.MESSAGE_SIZE,
    //                      m.ATTACHMENT_COUNT,
    //                      m.SUBJECT,
    //                      m.FROM_DISPLAY,
    //                      m.TO_DISPLAY,
    //                      m.POLLER_ACCOUNT_ID,
    //                      -1 DEVICE_ID,
    //                      -1 DEVICE_STATE,
    //                      -1 DEVICE_BLOCKING,
    //                      null DEVICE_BLOCKED_FROM,
    //                      null DEVICE_BLOCKED_UNTIL,
    //                      -1 DEVICE_TYPE,
    //                      -1 DEVICE_SUB_TYPE,
    //                      null DEVICE_VALUE,
    //                      null DEVICE_DESCRIPTION,
    //                     1 READ,
    //                           select     tm.TEXT
    //                           from     TEXT_MESSAGES tm
    //                           where     
    //                                     tm.MESSAGE_ID = m.ID
    //                                and     rownum = 1
    //                      ) TEXT,
    //                      0 ESCALATING,
    //                      0 DESCENDANT_COUNT,
    //                      -1 STATUS
    //                 from
    //                      MESSAGES m
    //                 start with
    //                      m.ID = decode(:isRoot,
    //                           1,:messageID,
    //                                select          m2.ID
    //                                from          MESSAGES m2
    //                                where          m2.ORIGINAL_MESSAGE_ID is null
    //                                start with     m2.ID = :messageID
    //                                connect by     m2.ID = prior m2.ORIGINAL_MESSAGE_ID
    //                 connect by
    //                      prior m.ID = m.ORIGINAL_MESSAGE_ID
    //                 order by
    //                      m.DATE_SENT_BY_USER desc
      sqlj.runtime.ConnectionContext __sJT_connCtx = db.ctx;
      if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_CONN_CTX();
      sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext();
      if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX();
      boolean __sJT_1 = isRoot;
      long __sJT_2 = messageID;
      long __sJT_3 = messageID;
      synchronized (__sJT_execCtx) {
        sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, dbMessages_SJProfileKeys.getKey(0), 39);
        try
          __sJT_stmt.setBoolean(1, __sJT_1);
          __sJT_stmt.setLong(2, __sJT_2);
          __sJT_stmt.setLong(3, __sJT_3);
          sqlj.runtime.profile.RTResultSet __sJT_result = __sJT_execCtx.executeQuery();
          messageHeaderIter = new MessageHeader.Iter(__sJT_result);
        finally
          __sJT_execCtx.releaseStatement();
    /*@lineinfo:user-code*//*@lineinfo:3008^3*/
              while (messageHeaderIter.next()) {
                   MessageEntry messageEntry = new MessageEntry(
                        messageHeaderIter.FROM_DISPLAY(),
                        messageHeaderIter.TO_DISPLAY(),
                        messageHeaderIter.SUBJECT(),
                        messageHeaderIter.MESSAGE_SIZE(),
                        messageHeaderIter.RANDOM_KEY(),
                        messageHeaderIter.MESSAGE_ID(),
                        messageHeaderIter.DATE_SENT_BY_USER(),
                        messageHeaderIter.TYPE(),
                        messageHeaderIter.ATTACHMENT_COUNT(),
                        null,   // pollerAccount
                        0,          // senderID
                        null,   // sentFromDevice
                        messageHeaderIter.READ(),
                        messageHeaderIter.TEXT(),
                        messageHeaderIter.ESCALATING(),
                    0,          // descendantsCount - not relevant for this query
                        messageHeaderIter.STATUS()
                   messagesList.add(messageEntry);
                   db.checkTimeout(); // potential time-consuming loop
              }//while
              messageHeaderIter.close();
            long[] allEntriesMessageIDs = new long[messagesList.size()];
              for (int i = 0; i < allEntriesMessageIDs.length; i++) {
                   allEntriesMessageIDs[i] = ((MessageEntry)messagesList.get(i)).getMessageContainerID();
              return new MessageEntries(messagesList, 0, allEntriesMessageIDs, null);
         } // getMessageDescendants

  • BUG (oversight) Compilation albums

    with the new grouping by album art feature, compilation albums are shown as separate albums for each track on that album.
    oversight?
    Checked a few of my compilation albums and they were split into albums for each track (artist) not grouped and shown as one album with various artists.

    To make sure the songs are part of the same compilation, select all the songs from that album, then Get Info.
    Put a check mark in "Part of a Compilation". As mentioned by other posters this helps make sure all your "Greatest Hits" albums don't show up as one album. There are a few other names that have been used by more than one artist, but that is the most common.
    If you fill in "Album Artist" that will show instead of Various Artists when you are browsing the albums.

  • Unexpected (Bug?) Compile error when DataGridColumn has 'id' in Repeater

    When I attempt to create a small number of DataGrid controls
    with a Repeater, I get the following compile error message:
    Unable to generate initialization code within Repeater, due to
    id or data binding on a component that is not a visual child.
    Here is the minimal amount of MXML that generates the compile
    error:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    layout="absolute">
    <mx:ArrayCollection id="myAC"/>
    <mx:ArrayCollection id="headersAC"
    source="{headers.header}"/>
    <mx:Model id="headers">
    <headers>
    <header>Header 1</header>
    <header>Header 2</header>
    <header>Header 3</header>
    <header>Header 4</header>
    </headers>
    </mx:Model>
    <mx:VBox>
    <mx:HBox>
    <mx:Repeater id="repeater1"
    dataProvider="{headersAC}">
    <mx:DataGrid id="datagrid1" width="125" height="210"
    dataProvider="{myAC}">
    <mx:columns>
    <mx:DataGridColumn
    id="anything"
    headerText="{repeater1.currentItem.header}"/>
    </mx:columns>
    </mx:DataGrid>
    </mx:Repeater>
    </mx:HBox>
    </mx:VBox>
    </mx:Application>
    <mx:DataGridColumn/> compiles correctly.
    <mx:DataGridColumn
    id="anything"/> receives the compile error message above.
    <mx:DataGridColumn
    headerText="{repeater1.currentItem.header}"/> receives
    the compile error message above.
    I'd like to be able to address the repeating DataGridColumns
    via their id array. I'd also like to be able to assign the
    headerText to each of the DataGridColumns at initialization.
    There is a claim of a workaround at Nischal's blog:
    Referencing components inside
    the mx:Repeater, but there is no source code to show how to do
    this.
    He says:
    quote:
    Recently when I was working on Flex application and found
    that there is an issue with the columns of DataGrid, which is
    defined inside the repeater. Flex throws following error when you
    try to assign id or data binding values to DataGridColumn
    “Unable to generate initialization code within
    Repeater, due to id or data binding on a component that is not a
    visual child.”
    Which means if you want to assign dynamic value to say
    HeaderText of the column then you cannot use dynamically or id to
    assign value. Work around to this issue is to use columns array of
    datagrid to define the value. Click
    here
    to see the example and source code to use the column of the
    DataGrid.
    I'm not sure what "...use columns array of datagrid to define
    the value..." means.
    Any ideas on the workaround for this problem?

    Peter:
    You can see the example on
    Refrencing
    Datagrid and right click to view source.
    Regards,
    Nischal Pathania
    blog.nischal.com

  • Generics bug in Sun compiler?

    The code show compiles using the oracle compiler, but when executed generate a NoSuchMethodError. Apparently, this doesn't occur when run under Eclipse, presumably compiled byJikes. Is this a known bug? (Compiled using 1.6.0_21)
    public class Bug  {
        public static void main(String[] args) {
            X x = new X();
            x.da();
        public static interface A {
            void foo();
        public static interface B {
            void bar();
        public static class FooBar implements A, B {
            @Override public void foo() {
            @Override public void bar() {
        public static class Z<T extends A & B, TT extends T> {
            final TT t;
            public Z(final TT t) {
                this.t = t;
            void da() {
                    t.foo();
                    t.bar();
        public static class X extends Z<FooBar, FooBar> {
            public X() {
                super(new FooBar());
    }Exception in thread "main" java.lang.NoSuchMethodError: com.iontrading.anvil.tradelibrary.bus.Bug$A.bar()V
         at com.iontrading.anvil.tradelibrary.bus.Bug$Z.da(Bug.java:40)
         at com.iontrading.anvil.tradelibrary.bus.Bug.main(Bug.java:8)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.intellij.rt.execution.application.AppMain.main(AppMain.java:115)

    rxcolvin wrote:
    Apparently, this doesn't occur when run under Eclipse, presumably compiled byJikes.Minor correction: Eclipse doesn't use Jikes (and as far as I know never did). They do have their own compiler however (called simply the Eclipse Java Compiler). ECJ is written in Java, as opposed to Jikes, which is written in C++.
    Edit: confirmed to be broken with javac from the Sun JDK (6u22) and the OpenJDK 1.6.0_20. Works when compiled with the Eclipse compiler (both with conformance 1.5 and 1.6) from an up-to-date Eclipse 3.6.1.
    It wouldn't be the first time that ECJ gets something right that javac doesn't compile correctly.

  • Optimization bug with C++ inlining

    Hi,
    While evaluating Sun Studio 11 I have identified an optimization bug with C++ inlining.
    The bug can easily be reproduced with the small program below. The program produces
    wrong results with -xO2, because an inline access function always returns the value 0.0
    instead of the value given on the commandline:
    djerba{ru}16 : CC -o polybug  polybug.cc
    djerba{ru}17 : ./polybug 1.0
    coeff(0): 1.000000
    djerba{ru}18 : CC -o polybug -xO2 polybug.cc
    djerba{ru}19 : ./polybug 1.0
    coeff(0): 0.000000            <<<<<<<<<< wrong, should be 1.000000This occurs only with optimization level O2; levels below or above O2 don't
    exhibit the bug.
    Compiler version is
    Sun C++ 5.8 Patch 121017-01 2005/12/11
    on Solaris 8 / Sparc.
    I include a preliminary analysis at the end.
    Best Regards
    Dieter R.
    -------------------- polybug.cc -------------------------
    // note: this may look strange, but this is a heavily stripped down
    // version of actual working application code...
    #include <stdio.h>
    #include <stdlib.h>
    class Poly {
      public:
        // constructor initializes number of valid coefficients to zero:
        Poly() { numvalid = 0; };
        ~Poly() {};
        // returns coefficient with index j, if valid. Otherwise returns 0.0:
        double coeff(int j) {
         if (j < numvalid) {
             return coefficients[j];
         } else {
             return 0.0;
       // copies contents of this Object to other Poly:
        void getPoly(Poly& q) { q = *this; };
        // data members:
        // valid coefficients: 0 ... (numvalid - 1)
        double coefficients[6];
        int numvalid;
    void troublefunc(Poly* pC) {
        // copies Poly-Object to local Poly, extracts coefficient
        // with index 0 and prints it. Should be the value given
        // on commandline.
        // Poly constructor, getPoly and coeff are all inline!
        if (pC) {
         Poly pol;                      
         pC->getPoly(pol);
         printf("coeff(0): %f\n",pol.coeff(0));
    int main(int argc,char* argv[]) {
        double d = atof(argv[1]);
        // creates Poly object and fills coefficient with index
        // 0 with the value given on commandline
        Poly* pC = new Poly;
        pC->coefficients[0] = d;
        pC->numvalid = 1;
        troublefunc(pC);   
        return 0;
    The disassembly fragment below shows that the access function coeff(0), instead
    of retrieving coefficient[0] simply returns the fixed value 0.0 (presumably because the
    optimizer "thinks" numvalid holds still the value 0 from the constructor and that therefore
    the comparison "if (i < numvalid)" can be omitted).
    Note: disassembly created from code compiled with -features=no%except for simplicity!
    00010e68 <___const_seg_900000102>:
            ...     holds the value 0.0
    00010e80 <__1cLtroublefunc6FpnEPoly__v_>:
       10e80:       90 90 00 08     orcc  %g0, %o0, %o0      if (pC) {   
       10e84:       02 40 00 14     be,pn   %icc, 10ed4
       10e88:       9c 03 bf 50     add  %sp, -176, %sp
                                                       local Poly object at %sp + 120
                                                             numvalid at %sp + 0xa8 (168)
       10e8c:       c0 23 a0 a8     clr  [ %sp + 0xa8 ]      Poly() { numvalid = 0; };
                                                             pC->getPoly(pol):
                                                             loop copies *pC to local Poly object
       10e90:       9a 03 a0 80     add  %sp, 0x80, %o5
       10e94:       96 10 20 30     mov  0x30, %o3
       10e98:       d8 5a 00 0b     ldx  [ %o0 + %o3 ], %o4
       10e9c:       96 a2 e0 08     subcc  %o3, 8, %o3
       10ea0:       16 4f ff fe     bge  %icc, 10e98
       10ea4:       d8 73 40 0b     stx  %o4, [ %o5 + %o3 ]
                                                             pol.coeff(0):
                                                             load double value 0.0 at
                                                             ___const_seg_900000102 in %f0
                                                             (and address of format string in %o0)
       10ea8:       1b 00 00 43     sethi  %hi(0x10c00), %o5
       10eac:       15 00 00 44     sethi  %hi(0x11000), %o2
       10eb0:       c1 1b 62 68     ldd  [ %o5 + 0x268 ], %f0
       10eb4:       90 02 a0 ac     add  %o2, 0xac, %o0
       10eb8:       82 10 00 0f     mov  %o7, %g1
                                                             store 0.0 in %f0 to stack and load it
                                                             from there to %o1/%o2
       10ebc:       c1 3b a0 60     std  %f0, [ %sp + 0x60 ]
       10ec0:       d2 03 a0 60     ld  [ %sp + 0x60 ], %o1
       10ec4:       d4 03 a0 64     ld  [ %sp + 0x64 ], %o2
       10ec8:       9c 03 a0 b0     add  %sp, 0xb0, %sp
                                                             call printf
       10ecc:       40 00 40 92     call  21114 <_PROCEDURE_LINKAGE_TABLE_+0x54>
       10ed0:       9e 10 00 01     mov  %g1, %o7
       10ed4:       81 c3 e0 08     retl
       10ed8:       9c 03 a0 b0     add  %sp, 0xb0, %sp
    Hmmm... This seems to stress this formatting tags thing to its limits...

    Thanks for confirming this.
    No, this happens neither in an Open Source package nor in an important product. This is an internal product, which is continuously developed with Sun Tools since 1992 (with incidents like this one being very rare).
    I am a bit concerned with this bug though, because it might indicate a weakness in the area of C++ inlining (after all, the compiler fails to correctly aggregate a sequence of three fairly simple inline functions, something which is quite common in our application). If, on the other hand, this is a singular failure caused by unique circumstances which we have hit by sheer (un)luck, it is always possible to work around this: explicitly defining a assignment operator instead of relying on the compiler-generated one is sufficient to make the bug go away.

  • 10Mb .swf compilation - OutOfMemoryError: Java heap space...

    When I try to compile my 10Mb .swf with the "-Xmx1024m" setting in pfi.bat I getting:
    Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
          at java.util.Arrays.copyOf(Unknown Source)
          at java.io.ByteArrayOutputStream.write(Unknown Source)
          at java.io.OutputStream.write(Unknown Source)
          at adobe.abc.GlobalOptimizer.emitAbc(GlobalOptimizer.java:2670)
          at adobe.abc.GlobalOptimizer.emit(GlobalOptimizer.java:2594)
          at adobe.abc.LLVMEmitter.optimizeABCs(LLVMEmitter.java:320)
          at adobe.abc.LLVMEmitter.generateBitcode(LLVMEmitter.java:172)
          at com.adobe.air.ipa.AOTCompiler.convertAbcToLlvmBitcode(AOTCompiler.java:329)
          at com.adobe.air.ipa.AOTCompiler.GenerateMacBinary(AOTCompiler.java:600)
          at com.adobe.air.ipa.IPAOutputStream.compileRootSwf(IPAOutputStream.java:196)
          at com.adobe.air.ipa.IPAOutputStream.finalizeSig(IPAOutputStream.java:366)
          at com.adobe.air.ADTPackager.createPackage(ADTPackager.java:65)
          at com.adobe.air.ipa.IPAPackager.createPackage(IPAPackager.java:165)
          at com.adobe.air.ADTEntrypoint.parseArgsAndGo(ADTEntrypoint.java:132)
          at com.adobe.air.ipa.PFI.parseArgsAndGo(PFI.java:152)
          at com.adobe.air.ADTEntrypoint.run(ADTEntrypoint.java:68)
          at com.adobe.air.ipa.PFI.main(PFI.java:112)
    When I increase try jave heap from "-Xmx1024" to "-Xmx1200" or more memory for jave heap I stable getting:
    # A fatal error has been detected by the Java Runtime Environment:
    #  Internal Error (0xe06d7363), pid=3796, tid=3048
    # JRE version: 6.0_16-b01
    # Java VM: Java HotSpot(TM) Client VM (14.2-b01 mixed mode windows-x86 )
    # Problematic frame:
    # C  [kernel32.dll+0x12afb]
    # An error report file with more information is saved as:
    # C:\svn\xxx\components\xxx\output\hs_err_pid3796.log
    # If you would like to submit a bug report, please visit:
    #   http://java.sun.com/webapps/bugreport/crash.jsp
    # The crash happened outside the Java Virtual Machine in native code.
    # See problematic frame for where to report the bug.
    Compilation process looks like this:
    Have anybody idea how can I compile my .swf? Thanks.

    Hi Joseph,
    I'm having the same problem with CWLMS 4.0.1. But I didn't find this file heap.properties in the
    /opt/CSCOpx/MDc/tomcat/webapps/rme/WEB-INF/classes/com/cisco/nm/rmeng/cli/framework/
    Do you know where I customize this parameter in that version?
    Thanks,
    Patricia Oliveira

  • Nano 5G displaying wrong artist for compilations

    Just got a Nano 5G and have begun transferring several compilation albums over. I'm anal about tags and all of the tracks have been marked as a Compilation in iTunes and the Album Artist is tagged as "Various Artists". Secondly, the compilation setting is enabled on the Nano and the album is grouped as it should be. The compilations have a different artist for each song and that's what tagged in the Artist field.
    It shows the exact same artist for all of the songs, even though each song is tagged with a unique artist. I've verified that all the tags are correct and marked as a Compilation with iTunes, MP3tag, and SharePod.
    How it Looks in iTunes:
    Creed - Higher
    Chris Cornell - Can't Change Me
    Blink 182 - What's My Age Again
    Lit - Zip Lock
    Epidemic - Walk Away
    Here's how it looks when played on the Nano:
    Epidemic - Higher
    Epidemic - Can't Change Me
    Epidemic - What's My Age Again
    Epidemic - Zip Lock
    Epidemic - Walk Away
    Tried restoring the Nano firmware (1.02) and that didn't work. It's just an issue/bug with compilations, as my individual albums all display properly.
    Most compilations are just a collection of my favorite songs, and are fairly large (200-300 tracks). Could that be the problem?
    Any other ideas?
    Message was edited by: Brimstone13

    Did you ever solve this?
    I have exactly the same problem - the tracks are correctly tagged and displayed in itunes, but when synced to the ipod nano 5g, any compilations seem to get assigned a random artist from my music collection when displayed on the ipod.
    I have tried everything I can think of: restoring firmware, renaming artist of compilations to "assorted artists" etc; but still the same problem.

  • CC bug ?

    // BUS ERROR (NON-ALIGNED ADDRESS
    // compile using following
    //           CC -xtarget=native -xarch=v9 -g alligned.c
    //           CC Version = Sun WorkShop 6 update 2 C++ 5.3 2001/05/15
    // The following program dumps core when build with above command.
    // The program tries to store 64 bit integer at an address which is
    // WORD aligned (divisible by 4).
    // The core dump is not expected as neither "-dalign" nor "-xsafe=mem" options are used
    // Is this a bug in compiler ???
    // Author : [email protected]
    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/types.h>
    int main(int argc, char **argv)
         char *buffer ;
         char *tmp ;
         uint64_t num ;
         buffer = (char *)malloc(1024) ;
         tmp = (char *)(buffer + 4) ;
         *(uint64_t *)tmp = 34 ; // it dumps core (bus error due to non-aligned address) at this
                                            // statement
         num = *(uint64_t *) tmp ;
         printf("Address = %lx \n", tmp) ;
         printf("num = %ld \n", num) ;
         free(tmp) ;
         return (0) ;
    }

    The compiler seems to behave exactly as it should. As I see it, your program allocates memory using malloc(), which returns a pointer to chunk of memory aligned to an 8-byte boundary. Your program then advances this pointer by 4 bytes and then attempts to write a 64-bit integer [i.e. an object wanting 8-byte alignment] to that location.
    Though your ultimate intent is not clear to me, you could eliminate the core dump in a couple of ways:
    (1) Write a 32-bit [i.e. 4-byte] object instead of a 64-bit [i.e. 8-byte] object:
    *(uint32_t*)tmp = 34;
    (2) Advance the pointer by 8 bytes instead of 4:
    tmp = (char*)(buffer + 8); // actually, no need to cast
    ... Dave

  • Overloading ambiguity when compile with stlport

    I am trying to compile code with sun compiler 5.3 with stlport 4.5.3 with sun standard iostream.
    Got the following error. Is this a bug in compiler ?
    "/opt/local/STLport-4.5.3/stlport/stl/_vector.c", line 76: Error: Overloading ambiguity between "_STL::uninitialized_fill_n<_STL::basic_string<char, std::char_traits<char>, _STL::allocator<char>>*, unsigned, _STL::basic_string<char, std::char_traits<char>, _STL::allocator<char>>>(_STL::basic_string<char, std::char_traits<char>, _STL::allocator<char>>*, unsigned, const _STL::basic_string<char, std::char_traits<char>, _STL::allocator<char>>&)" and "std::uninitialized_fill_n<_STL::basic_string<char, std::char_traits<char>, _STL::allocator<char>>*, unsigned, _STL::basic_string<char, std::char_traits<char>, _STL::allocator<char>>>(_STL::basic_string<char, std::char_traits<char>, _STL::allocator<char>>*, unsigned, const _STL::basic_string<char, std::char_traits<char>, _STL::allocator<char>>&)".
    "/opt/local/STLport-4.5.3/stlport/stl/_vector.h", line 460: Where: While instantiating "_STL::vector<_STL::basic_string<char, std::char_traits<char>, _STL::allocator<char>>, _STL::allocator<_STL::basic_string<char, std::char_traits<char>, _STL::allocator<char>>>>::_M_fill_insert(_STL::basic_string<char, std::char_traits<char>, _STL::allocator<char>>*, unsigned, const _STL::basic_string<char, std::char_traits<char>, _STL::allocator<char>>&)".
    "/opt/local/STLport-4.5.3/stlport/stl/_vector.h", line 460: Where: Instantiated from non-template code.

    It's impossible to say whether the problem is in your code, the compiler, or in the STLport files without seeing the source code that you are trying to compile. Can you post a small example that illustrates the problem?
    But we do not support STLport with C++ 5.3. If you have problems with that combination, you are on your own. If you can identify a compiler bug, we can try to fix it, but C++ 5.3 has been declared End Of Life, and only limited support is available.
    Our recent compilers include a supported version of STLport. The current release is Sun Studio 10, but Studio 11 will be released within two weeks. Watch this space for details.
    http://www.sun.com/software/products/studio/index.xml

  • 30EA1: PLS-00172 when compiling package body

    Hi there,
    I'm having a strange bug when compiling a package body in SQL Developer 3.0 EA1, while the same package body compiles well in production version (2.1).
    The error code returned is Error: ORA-06550: line 1, column 64: PLS-00172: string literal too long
    Does anyone have the same problems?

    yes: SQL*Developer 3EA1 - Not Compiling package Body
    Hope that helps,
    K.

Maybe you are looking for

  • How to create the Set ID for report writer

    Hi I am suppose to create the Set id . Please suggest me the t-code etc for creating set id. Thanks Shiv

  • Schedule Line Question

    Greetings, I have a question regarding Schedule Lines in a Sales Order. I'm currently looking at a Sales Order with 1 line item. When I drill into that line item and go to the Schedule Line tab, I see 24 Schedule Lines. In the first 16 Schedule Lines

  • Ole object not visible on oracle report

    Hi, I have an oracle report built in oracle report 6i builder I have used a Boilerplate OLE Object(image.bmp) in the report but when I am executing the report on Oracle E Business(Application) then that OLE object is not visible on the report output(

  • SQL developer not installed with the client software

    Hi All, OS: Windows Clinet: 11g 64 bit I have installed oracle client for windows 64 bit, as we know with client installation the sql developer also comes with. But in my case, I am able to find every other component but sql developer. I am thninking

  • To see the error

    Hi, I want to see the error by Jdev 11.1.1.2.0. Can you pls look at this http://www.4shared.com/document/nWy1yG9a/t61.html Regards, huamin