Compiling "unzip" triggers bug

When compiling "unzip" from NetBSD's pkgsrc under Solaris 10, the following bug is triggered:
gcc -c -I/usr/local/pkgsrc/pkgsrc-2008Q3/include -O -I. -DUNIX -Dunix -DUSE_UNSHRINK -I/usr/local/pkgsrc/pkgsrc-2008Q3/include -DSFX inflate_.c
Assertion failed: use != NULL, file ../src/var_df.c, line 2959
gcc: Internal error: Abort (program iropt)
This bug is not triggered when compiling with -O2 (or -O3, which is used, when compiling "unzip" outside of pkgsrc).

Thank you for reporting. We will try to reproduce it in house and resolve the issue.
Prashanth

Similar Messages

  • E extends Exception Only Compiles Sometimes (possible bug)

    Consider:
    public interface RootedNodeAlgo<R,T,J,E extends Exception>
      public  R forParentNode(RootedNode<J> n, T... input) throws E;
      public  R forLeafNode(RootedNode<J> n, T... input) throws E;
    public abstract class LeafSyntaxNodeBase extends SyntaxNodeBase implements LeafSyntaxNode
      public <R, T, E extends Exception> R execute(RootedNodeAlgo<R,T,SyntaxNode,E> algo, T... input) throws E
       return algo.forLeafNode(this, input);  // error sometimes on this line
    }When compiled as the only file being compiled, never a problem. When being compiled with a group of files I sometimes get the error:
    Error: unreported exception java.lang.Exception; must be caught or declared to be thrown
    This seems to an incorrect error though as we can show that E is the only checked exception that could ever be raised and we have declared E as thrown. Sometimes the compiler will generate this error and sometimes it wont for the exact same source. Compiling the files all alone never generates this error and no unusual runtime behavior has ever been observed.
    Is this a compiler bug?

    The hierarchy is pretty big, but here is more:
    Also javac = JDK 5.0_11
    abstract public class SyntaxNodeBase extends VertexBridge<SyntaxNode> implements SyntaxNode
      private SyntaxNode _parent;
      SyntaxNodeBase()
      public SyntaxNode getParent()
        return _parent;
      public void setParent(SyntaxNode parent)
        _parent = parent;
      public SyntaxNode getContents()
        return this;
      abstract public <R,T, E extends Exception> R execute(SyntaxNodeAlgo<R,T,E> algo, T...input) throws E;
      public String toString()
        return this.getClass().getName();
      public <R,T, E extends Exception> R execute(AGLastNodeAlgo<R,T,E> algo, T... input) throws E
        return algo.forArrayList(this, input);
    public interface RootedNode<J> extends Vertex<J>
      public <R,T,E extends Exception> R execute(RootedNodeAlgo<R,T,J,E> algo, T...input) throws E;
    public interface LeafSyntaxNode extends SyntaxNode
      // actually empty
    public interface SyntaxNode extends AGLastNode<SyntaxNode>
      public <R,T, E extends Exception> R execute(SyntaxNodeAlgo<R,T,E> algo, T...input) throws E;
      public RootedNode<SyntaxNode> getParent();
      public void setParent(SyntaxNode parent);
    }Message was edited by:
    DejasPerPer

  • Replacing / Compiling Database Triggers in a HA/High Load system

    Hi there,
    My collegue has just asked me if downtime needs to be scheduled to replace an After IUD Database trigger where I've made a minor change.
    If this were a package or procedure, the answer would be an obvious yes, as I'd be wary of my users getting the dreaded: ORA-04068... State of Package has been disguarded.
    What about when working with database triggers?
    If the trigger is firing at the same time that I perform my Create or Replace Trigger DDL, will everything fall into a screaming heap?
    Notes:
    Oracle 10g R2 db.
    High DML rates on the table that the After IUD Trigger is 'attached' to.
    It's a near certainty that when the Create or Replace Trigger DDL runs, the trigger will be active at the time.
    The Trigger is 'simple' in that it's use: is to call a DB package with some of the :new values as params.
    +(I'm happy to rtfm - if someone can tell me where!!)+
    Cheers -
    Ron Marks

    If this were a package or procedure, the answer would be an obvious yes, as I'd be wary of my users getting the dreaded: ORA-04068... State of Package has been disguarded.Not true. This exception is thrown only if sessions have some state represented in package variables. If there is no associated session state, then no exception would be thrown after recompile.
    If the trigger is firing at the same time that I perform my Create or Replace Trigger DDL, will everything fall into a screaming heap?You'll wait - to lock an object in library cache which represents your trigger. Not sure if this would require a library cache lock on underlying table, but I would guess that it is required. BTW, locking a table would make no any sense: CREATE TRIGGER is a DDL, which means before it began it issues a COMMIT => all locks are released, and it is quite possible that a TM lock for CREATE TRIGGER won't be acquired since resource would be busy.
    Oracle 11gR2 claims to address problems of application upgrades on a high-load environments with a feature called "Editions" (not a good name - try to find something about it via Google...)

  • Firefox Version 17.0.1 is identifying itself as "Mozilla/5.0 (Windows NT 6.1; rv:6.0) Gecko/20100101 Firefox/6.0" and thereby triggers bug-like behavior.

    I am running Firefox Version 17.0.1, yet it's falsely identifying itself as "Mozilla/5.0 (Windows NT 6.1; rv:6.0) Gecko/20100101 Firefox/6.0" thereby causing bug-like difficulties at "deviantART" http://layaboutjoe.deviantart.com/ and is even mis-identifying itself here. What can be done to fix this problem? Your helpful advice will be greatly appreciated. Thank you and best wishes to you. R.S.V.P.

    Thank you very much, '''Tylerdowner'''. Those instructions have solved the problem! The browser is now identifying itself as "Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20100101 Firefox/17.0" and I'm happy.
    :o)

  • HOW can I get a STATUS OF TRIGGERs  TO FIRE CORRECTLY ???

    Hi all,
    I had trouble with a migrated DB (7.3.4 -> 9.2.04) why all important TRIGGER did not fire (Business Rules).
    I could see all TRIGGERS WAS VALID with:
    SELECT a.object_name FROM all_objects a
    WHERE a.object_type = 'TRIGGER'
    AND a.status = 'INVALID'
    AND a.owner = Decode(Upper('SCHEMA'), 'ALL',a.owner, Upper('SCHEMA'));
    but they DID NOT FIRE !!! (After recompiling all works well)
    This is a production DB and I must:
    - simulate this state - HOW can I do it ?
    - HOW can I select this TRIGGER STATE in my PRODUCTION
    system to re-compile this triggers ???
    I must prevent this state on triggers before the user writes data from Forms to the Database:
    if NOT TRIGGER_FIRE('Trigger') then RECOMPILE('Trigger'); end if;
    Has anyone a good solution ?
    Thanks in advance
    Friedhold

    Are you sure the triggers have been correctly imported? That they have been imported in the right user schema?
    I remember having some problems with triggers when importing in an Oracle 8.0.5 database: the triggers got to be on tables in another schema.
    And are they enabled?
    Check the sys.all_triggers view:
    select * from all_triggers where owner = &my_schema
    and see the status column if it is "ENABLED".

  • E52 bug list for advanced users

    I wanted to start the compilation of a bug list for advanced users. Here is my first suggestion:
    1. SMS Functionality: 
    When trying to send SMS to a distribution list, the phone interface will ask you to choose between number and email addresses, even though the phone does understand that this is a SMS and not an email ("Text Message" appering on top)
    This happens even when the contact has one phone number only (and an email address) in the phonebook
    This does not happen when you use PC Suite to do the same task
    2. Mail for Exchange client:
    I will not go through the many -most already reported- bugs and general instability of the client. However, I will mention two that I have not seen reported anywhere so far:
    When forwarding emails, only the header (From/To/Date/Subject) is forwarded. The rest of the text, as well as possible atachments are not forwarded. This is happening -to my epxerience- every time you try to forward an email
    The client doesn't provide information (like the previous, installable client for devices such as E51, E71, etc.) as to when was the last time that sync took place, while it also doesn't show a real-time progress like the previous one. These two functionalities were very useful for controlling the Mail for Exchange process and understanding proactively if there was an issue. I consider these a must for any Business user (going through the log files to understand the same thing is obviously utterly impractical)
    The client doesn't synchronise the "Deleted Items" folder from the mail server but only locally (which means it includes emails that were deleted only from the device itself).
    The synchronization of the folders other than "Inbox" should be happening ad-hoc whenever the user is accessing these folders and requesting a sunchronization. Otherwise, we see the phenomenon of extremely lengthy synchronizations
    3.  Screen/Display:
    It would be nice, when using the smallest font, to also accordingly compress the menu choices, in order to be able to fit more on the screen. Otherwise, with the present implementation, the fonts get smaller, but the relevant menu icons are not, resulting in an assymetrical look
    4. Ovi suite:
    As a general comment, I would like to mention that -apart from totally unknown NOKIA policy with regards to Ovi vis-a-vis PC Suite- it is not appropriate for Ovi to contain less functionality than PC Suite (I am referring to SMS presentation, etc.). In general, I find Ovi much clunkier and more clumsy than PC Suite which has actually evolved well over the years as the absolute PC phone tool (and still a differentiator for Nokia). So, NOKIA, please do not screw up PC Suite for something that may be "hype" accoridng to you, but is used as a tool by many of your customers.
    5. Log:
    As in previous phones/firmware versions, when setting the Log to 30 days, only 7 or ten days are actually retained. Maybe related to phone memory, but in any case it is a nuissance
    6. SMS/VMs/Missed calls notifications:
    This is not a bug, but at least personally, I preffered the way the SMS/VMs/Missed calls notifications were displayed in the previous devices (E51, etc.), just below the active stand-by applications "ribbon", instead of at the bottom of the screen. The new implementation makes it harder to access these items than before (at least for me)
    I appeal to NOKIA to consider and fix these issues in the next firmware release(s).
    Timos Tsokanis

    @Timos , great compilation. I hope Nokia will work to resolve these quickly.
    I have been using phone since last 2-3 days and find few things in Email client really annoying.
    Also I want to understand few settings in Email client (version 2.1.0). They have made settings too complicated.
    1)Any folder except Inbox doesn't show unread email count in brackets next to folder names.
    i.e. If i delete or move 2 emails which I have not read to any folder(Deleted etc) , then deleted folder should be like Deleted(2). But right now it doesnt show anything. Strange.
    I have checked with E72 and this bug is not there.
    2) I have Gmail, Hotmail and Ovi mail as part of Nokia Messaging. But only Gmail and Hotmail actually show up when I open Messaging. All 3 show up if I open Email.
    3)What does "Download Notification" under Global settings do? Notification icon control?
    4) Why my Name field in Mailbox setting is picked from account at email.nokia.com, also even though secure connection is Yes under server settings in email.nokia.com, for same email its No in email client.
    5) Why I am not allowed to change settings in "What to sync" , e.g. Hide email older than
    6) what do settings "synchronise new updates" , "timed sync" do? No explaining in help.
    7) Setting ->Gmail(or any other)->Account settings->Account Info, why number is blank? Also please make this work with destinations support. Also connectivity setting should be in global settings.
    Best Regards,
    Suyog

  • Unzip Error Message with PeopleSoft HRMS 9.1 Application Install File

    Can anyone tell me what this error messgae means? I've re-downloaded the PS 9.1 application and aix unzip executable and I'm still getting the below error message. Also, it appears the the file was unzipped. I'm not sure if the contents are corrupted based upon this error message:
    Archive: V17776-01.zip
    error [V17776-01.zip]: missing 15567 bytes in zipfile
    (attempting to process anyway)
    error [V17776-01.zip]: attempt to seek before beginning of zipfile
    (please check that you have transferred or created the zipfile in the
    appropriate BINARY mode and that you have compiled unzip properly)
    (attempting to re-compensate)
    creating: Disk1/
    creating: Disk1/InstData/
    inflating: Disk1/setup.bat
    inflating: Disk1/setup.sh
    inflating: Disk1/InstData/MediaId.properties
    inflating: Disk1/InstData/Resource1.zip
    error: invalid compressed data to inflate
    file #6: bad zipfile offset (local header sig): 474685115
    (attempting to re-compensate)
    file #6: bad zipfile offset (local header sig): 474685115
    file #7: bad zipfile offset (local header sig): 671705897
    file #8: bad zipfile offset (local header sig): 708686263
    file #9: bad zipfile offset (local header sig): 801025200
    file #10: bad zipfile offset (local header sig): 914346788
    file #11: bad zipfile offset (local header sig): 956504919
    file #12: bad zipfile offset (local header sig): 1098273673

    You should try again to download, it should prompt for a password when unzipping the file. And/or transfer the file in binary mode to your AIX server.
    Did you try with gunzip instead of unzip ?
    Nicolas.

  • 2013LinuxC​W14.zip corrupt, will not unzip on Linux

    Hi folks, the LabView Compile Worker 2013 for Linux zip file ( 2013LinuxCW14.zip) appears to be corrupt. We also tried to unzip it on OS X and Windows machines with the same issues. We had the same problem with the 2012 compile worker zip file and NI recreated it for us. Is there somebody that can look into this one for us? Thanks...Kevin
    username@hostname:/home/username/Software/FPGA/NI>​ls -l  
    total 4387220
    -rw-r--r-- 1 username users 4492503086 Feb 20 10:57 2013LinuxCW14.zip
    username@hostname:/home/username/Software/FPGA/NI>unzip 2013LinuxCW14.zip
    Archive:  2013LinuxCW14.zip
    warning [2013LinuxCW14.zip]:  197535286 extra bytes at beginning or within zipfile
      (attempting to process anyway)
    error [2013LinuxCW14.zip]:  start of central directory not found;
      zipfile corrupt.
      (please check that you have transferred or created the zipfile in the
      appropriate BINARY mode and that you have compiled UnZip properly)

    Hi Kevin,
    Where did you get the zip file from? Did you download it from ni.com? I just downloaded the file from ni.com, and I was unable to unzip it successfully (on a Windows 7 machine). It sounds like just that particular copy of the file may be corrupted, which may mean you can get around this issue by just downloading the file again from ni.com (from the link below). Try downloading a new copy of the file, and let me know if the problem persists.
    LabVIEW 2013 FPGA Module Xilinx Tools 14.4 - RHEL 6.3
    http://www.ni.com/download/labview-fpga-module-201​3/4238/en/
    Regards,
    Ryan K.

  • Dbms_metadata for 381 triggers

    I am trying to extract 381 triggers into a file that I can then run to recreate the triggers later.
    But when I run the result of the file I get from below, it doesn't compile the triggers.
    The below script does not place an '/' at the end of eacj SQl statement.
    It does this at the end of the DDLs...
    END zedw_trg_adr6;
    ALTER TRIGGER "SAPSR3"."ZEDW_TRG_ADR6" ENABLE
    instead of ...
    END zedw_trg_adr6;
    ALTER TRIGGER "SAPSR3"."ZEDW_TRG_ADR6" ENABLE
    How can I fix the commands below?
    I am using this to creat ethe file of trigger DDls to run later.
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    sqlplus "/ as sysdba"
    SET LONGCHUNKSIZE 1024
    SET LONG 128000
    SET ECHO OFF
    SET HEADING OFF
    SET LINESIZE 512
    SET TRIMOUT ON
    SET TRIMSPOOL ON
    SET WRAP ON
    spool c:\temp\triggers_extract.sql
    select dbms_metadata.GET_DDL(u.object_type,u.object_name,'SAPSR3')
    from dba_objects u
    where object_type = 'TRIGGER'
    and owner = 'SAPSR3' ;
    spool off;
    exit
    vi triggers_extract.sql
    -- Remove any 'SQL>' lines at the top & bottom of the script.
    :wq!
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    Hi Bill,
    Try playing a little with this:
    dbms_metadata.set_transform_param (dbms_metadata.session_transform, 'SQLTERMINATOR', true);Edit:
    Also, you should either place all your SQL*Plus commands inside a script and then execute that after logging in.
    Or, set termout off.
    Both should remove the need for afterward editing.
    Regards
    Peter
    Edited by: Peter on Dec 6, 2011 3:13 PM

  • [svn] 1170: compiler: renaming the Compiler classes

    Revision: 1170
    Author: [email protected]
    Date: 2008-04-09 16:17:57 -0700 (Wed, 09 Apr 2008)
    Log Message:
    compiler: renaming the Compiler classes
    * flex2.compiler.abc:Compiler to AbcCompiler
    * flex2.compiler.as3:Compiler to As3Compiler
    * flex2.compiler.css:Compiler to CssCompiler
    * flex2.compiler.i18n:Compiler to I18nCompiler
    * flex2.compiler.mxml:Compiler to MxmlCompiler
    Bugs: n/a
    QA: Yes
    Doc: No
    Modified Paths:
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/CompilerAPI.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/Source.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/AbstractSyntaxTreeUtil.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/MetaDataParser.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/genext/GenerativeSecondPassEv aluator.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/asdoc/AsDocAPI.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/ImplementationCompiler.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/ImplementationGenerator.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/InterfaceCompiler.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler_en.properties
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler_ja.properties
    flex/sdk/trunk/modules/compiler/src/java/flex2/tools/WebTierAPI.java
    Added Paths:
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/abc/AbcCompiler.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/As3Compiler.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/CssCompiler.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/i18n/I18nCompiler.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/MxmlCompiler.java
    Removed Paths:
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/abc/Compiler.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/Compiler.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/Compiler.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/i18n/Compiler.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/Compiler.java

    In the properties of your project, there is a page called "Java Build Path". On the bottom of that page, there is this field "Default output folder" in which you can specify to which directory Eclipse should write the .class files.
    Then, for the build options, go to the Run Dialog (Run menu, Show Run Dialog). There you might have several configurations for several programs. Select yours, and go to the Arguments tab. There you have fields for program arguments (the String [] args), and VM arguments (like the -DProtoge.dir=)
    Good luck!

  • Kkeyled compilation problem.

    I had downloaded kkeyled from the following link few days ago.
    http://www.truesoft.ch/dieter/kkeyled/s … .11.tar.gz
    I was able to compile it with out any errors. Today I tried again but make always fail.
    cd . && make -f admin/Makefile.common configure.in ;
    make[1]: Entering directory `/home/firewalker/Desktop/kkeyled'
    *** Creating configure.files
    make[1]: Leaving directory `/home/firewalker/Desktop/kkeyled'
    cd . && /bin/sh /home/firewalker/Desktop/kkeyled/admin/missing --run aclocal-1.9
    /home/firewalker/Desktop/kkeyled/admin/missing: line 46: aclocal-1.9: command not found
    WARNING: `aclocal-1.9' is missing on your system. You should only need it if
    you modified `acinclude.m4' or `configure.in'. You might want
    to install the `Automake' and `Perl' packages. Grab them from
    any GNU archive site.
    cd . && /bin/sh /home/firewalker/Desktop/kkeyled/admin/missing --run automake-1.9 --gnu
    /home/firewalker/Desktop/kkeyled/admin/missing: line 46: automake-1.9: command not found
    WARNING: `automake-1.9' is missing on your system. You should only need it if
    you modified `Makefile.am', `acinclude.m4' or `configure.in'.
    You might want to install the `Automake' and `Perl' packages.
    Grab them from any GNU archive site.
    cd . && perl admin/am_edit
    unknown icon prefix lo48 in src/Makefile.in
    cd . && perl admin/am_edit Makefile.in
    cd . && rm -f configure
    cd . && make -f admin/Makefile.common configure
    make[1]: Entering directory `/home/firewalker/Desktop/kkeyled'
    configure.in:43: error: possibly undefined macro: AM_INIT_AUTOMAKE
    If this token and others are legitimate, please use m4_pattern_allow.
    See the Autoconf documentation.
    configure.in:48: error: possibly undefined macro: AM_CONFIG_HEADER
    configure.in:51: error: possibly undefined macro: AC_CHECK_COMPILERS
    configure.in:52: error: possibly undefined macro: AC_ENABLE_SHARED
    configure.in:53: error: possibly undefined macro: AC_ENABLE_STATIC
    configure.in:58: error: possibly undefined macro: AM_KDE_WITH_NLS
    configure.in:61: error: possibly undefined macro: AC_PATH_KDE
    configure.in:70: error: possibly undefined macro: AC_CHECK_KDEMAXPATHLEN
    make[1]: *** [configure] Error 1
    make[1]: Leaving directory `/home/firewalker/Desktop/kkeyled'
    make: *** [configure] Error 2
    Any idea? Can someone with KDE 3.5.x try to compile it?

    Bug 6749491 has been filed for this problem. It will be visible at [http://bugs.sun.com] in a day or two.
    If you have a service contract with Sun, you can ask to have this bug's priority raised, and get a pre-release version of a compiler patch that fixes the problem.
    Otherwise, you can check for new patches from time to time at
    [http://developers.sun.com/sunstudio/downloads/patches/]
    and see whether this bug is listed as fixed.

  • Compiled trigger causes database hung

    Hi there,
    I compile some triggers in our database and they cause our database hung, how can I do ? any hint? Thx

    That is ugly - calling a remote proc from inside a trigger. And the wrong thing to do in most cases.
    A trigger is there to protect the integrity of the data and transaction. A remote proc call can fail for numerous reasons. Network issues. Remote db is in restricted mode/down. Etc. These will cause the trigger to fail. The trigger failure will cause the business transaction to fail.
    And I'm pretty sure that no business transaction and validation and processing logic dictates that it must fail because of sonmething like a network problem if it can be prevented.
    If this is a replication issue, you should consider using Oracle's built-in replication instead.
    Anything else - I would rather have the trigger inserting instructions (into a table) for a background (DBMS_JOB) process to pick up and execute.

  • Status of Fortran error "INTERNAL COMPILER ERROR near line ... (phase ConcretizeProcs):

    We get this fortran error:
    Error from SolarisStudio12.3-linux-x86
    ======================================
    sunf90 -c -g -KPIC -xO3 -xopenmp=noopt -xinstrument=datarace ../../../src/lib/util/SAGlib/sag_read.f90
    INTERNAL COMPILER ERROR near line 443 in sag_read.f90 (phase ConcretizeProcs):
      Assertion failed: array_type && array_type->num_elements(0)->is_computable()
      [internal line 1229 /net/feeler/export/home2/spica_intel-Linux/111116/lang/f90/fe/srcme/compiler/phases/concretize/concretize_utl.cpp]
    make: *** [sag_read.o] Error 1
    This is the same error as reported in Unformatted read/write of character arrays from July 2013.
    Does this bug have a patch? Would a fix be available if we were to purchase a support contract?

    The bug was fixed some time ago in the development version of the compiler.  The bug has not been fixed in a patch because the bug has not been escalated.  If a customer with a support contract escalates the bug, it will be fixed in a patch; otherwise, the fix will be made available with the next release of the compiler.
    Robert Corbett

  • Unable to prevent inheritance in CC compiler

    On Solaris Studio 12.2's C++ compiler (CC), this runs without errors:
    class Base;
    class Baselock {
       friend class Base;
       Baselock() {cout<<"Constructor to Baselock"<<endl; }
    class Base : virtual Baselock {
    public:
       Base() {cout<<"Constructor to Base"<<endl; }
    class Derived : public Base {
    public:
       Derived() {cout<<"Constructor to Derived"<<endl; }
    int main() {
       Derived D;
       return 0;
    }By ISO C++ standards, an object of class "Derived" cannot be created, as it does not have access to "Baselock"'s constructor. This is an indirect procedure to prevent inheritance of a base class. In g++ as well as VC++, as expected, we get the error "Baselock::Baselock() is not accessible in this (Derived's object's) context". But we don't get error on CC compiler.
    What can be the intended purpose of such a behavior?
    Edited by: user9546596 on Jan 3, 2011 1:34 AM
    Edited by: user9546596 on Jan 3, 2011 4:46 AM

    The compiler warns about access under the +w (additional warnings) option.
    Originally, the compiler made this access an error. We found that some popular compilers accepted similar code, and that some Open Source code failed to compile. We reduced the error to an optional warning.
    With popular compilers now making this access an error, we can revisit our earlier decision only to warn about the code. Please file a bug report on the C++ compiler at http://bugs.sun.com so we have a record of the request.
    In the mean time you can convert this warning to an error, but unfortunately not very conveniently.
    Add the +w option so the compiler generates this warning, along with possibly other warnings, depending on  your code, and add the -errtags option. Each warning will display a tag. Example:
    % CC +w -errtags z.cc
    "z.cc", line 16: Warning, vbcinaccess: The constructor/destructor Baselock::Baselock()
    of indirect virtual base class is not accessible from Derived::Derived().
    1 Warning(s) detected. Now you can use -errwarn=<tag> to convert a warning into an error, and -erroff=<tag> to turn off a warning.
    % CC +w -errwarn=vbcinaccess z.cc
    "z.cc", line 16: Error: The constructor/destructor Baselock::Baselock()
    of indirect virtual base class is not accessible from Derived::Derived().
    1 Error(s) detected. Related bug reports:
    6566513 compiler fails to generate the expected failure from the negative test case
    6841693 Need liberalization of too strong accessibility control after fix for 6566513

  • Compil

    Hi ,
    I have 125 APPS_MRC invalid objects :
    SQL> select count(*), owner from dba_objects
    where status like '%INVALID%'
    group by owner;
    COUNT(*) OWNER
    14 APPS
    125 APPS_MRC
    I look for SQl instruction to compile them. Thank you.

    Hi,
    I have written this procedure:
    CREATE OR REPLACE PROCEDURE PR_COMPILE_ALL_OBJECTS  ( ip_SCHEMA VARCHAR2 Default Null
    , op_error_message VARCHAR2 )
    IS
       lv_SCHEMA                         VARCHAR2(32);
       lv_owner                          VARCHAR2(32);
       lv_object_name                    VARCHAR2(128);
       lv_object_type                    VARCHAR2(18);
       lv_execute_statement              VARCHAR2(2000);
       lv_count_outer_invalid_objects    NUMBER := 0;
       lv_count_inner_invalid_objects    NUMBER := 0;
       prev_invalid_objects              NUMBER;
       CURSOR lc_objects IS
       SELECT owner, object_name, object_type
         FROM All_Objects
        WHERE Status      = 'INVALID'
          AND owner       =  upper(lv_SCHEMA)
          AND owner not   in ('SYS','SYSTEM','OUTLN','DBSNMP','WMSYS','ORDSYS','ORDPLUGINS','MDSYS','CTXSYS','XDB','ANONYMOUS','SQLP','PERFSTAT')
          AND object_name not in ('PR_COMPILE_ALL_OBJECTS')
          AND object_type IN ('TRIGGER', 'VIEW', 'PACKAGE', 'PACKAGE BODY', 'PROCEDURE',  'FUNCTION')
        ORDER BY owner desc, object_type, object_name;
    BEGIN
       If ip_SCHEMA is Null Then
          Select upper(username)
            Into lv_SCHEMA
            from user_users;
       Else
          lv_SCHEMA := upper(ip_SCHEMA);
       End If;
       LOOP
          SELECT nvl(count(*),0)
            INTO lv_count_outer_invalid_objects
            FROM all_objects
           WHERE Status      = 'INVALID'
             AND owner       =  upper(lv_SCHEMA)
             AND owner not   in ('SYS','SYSTEM','OUTLN','DBSNMP','WMSYS','ORDSYS','ORDPLUGINS','MDSYS','CTXSYS','XDB','ANONYMOUS','SQLP','PERFSTAT')
             AND object_name not in ('PR_COMPILE_ALL_OBJECTS')
             AND object_type IN ('TRIGGER', 'VIEW', 'PACKAGE', 'PACKAGE BODY', 'PROCEDURE',  'FUNCTION');
          EXIT WHEN lv_count_outer_invalid_objects = lv_count_inner_invalid_objects;
          dbms_output.put_line ('Invalid Object Count: ' || lv_count_outer_invalid_objects);
          OPEN lc_objects;
             SELECT nvl(count(*),0)
               INTO lv_count_inner_invalid_objects
               FROM all_objects
              WHERE Status      = 'INVALID'
                AND owner       =  upper(lv_SCHEMA)
                AND owner not  in ('SYS','SYSTEM','OUTLN','DBSNMP','WMSYS','ORDSYS','ORDPLUGINS','MDSYS','CTXSYS','XDB','ANONYMOUS','SQLP','PERFSTAT')
                AND object_name not in ('PR_COMPILE_ALL_OBJECTS')
                AND object_type IN ('TRIGGER', 'VIEW', 'PACKAGE', 'PACKAGE BODY', 'PROCEDURE',  'FUNCTION');
          LOOP
             FETCH lc_objects INTO lv_owner, lv_object_name, lv_object_type;
             EXIT WHEN lc_objects%NOTFOUND;
             IF lv_object_type = 'PACKAGE' THEN
                lv_execute_statement := 'Alter package '||lv_owner || '.' || lv_object_Name||' Compile';
                op_error_message := 'Packages successfully compiled';
             ELSIF
                lv_object_type = 'PACKAGE BODY' THEN
                lv_execute_statement := 'Alter Package '||lv_owner || '.' || lv_object_Name||' Compile body';
                op_error_message := 'Package body successfully compiled';
             ELSIF
                lv_object_type = 'TRIGGER' THEN
                lv_execute_statement := 'Alter trigger '||lv_owner || '.' || lv_object_Name||' Compile';
                op_error_message := 'triggers successfully compiled';
             ELSIF
                lv_object_type = 'VIEW' THEN
                lv_execute_statement := 'Alter view '||lv_owner || '.' || lv_object_Name||' Compile';
                op_error_message := 'Views successfully compiled';
             ELSIF
                lv_object_type = 'PROCEDURE' THEN
                lv_execute_statement := 'Alter Procedure '||lv_owner || '.' || lv_object_Name||' Compile';
                op_error_message := 'Procedures successfully compiled';
             ELSIF
                lv_object_type = 'FUNCTION' THEN
                lv_execute_statement := 'Alter Function '||lv_owner || '.' || lv_object_Name||' Compile';
                op_error_message := 'Functions successfully compiled';
             END IF;
             BEGIN
                EXECUTE IMMEDIATE lv_execute_statement;
             EXCEPTION
                WHEN others THEN
                   Null;
             END;
          END LOOP;
          CLOSE lc_objects;
       END LOOP;
       EXCEPTION
         WHEN others THEN
                 dbms_output.put_line ('***Error: ' || SQLERRM);
    END pr_compile_all_objects;
    EXEC pr_compile_all_objects
    DROP PROCEDURE pr_compile_all_objects;
    [br]Hope this helps
    Ghulam

Maybe you are looking for