10g Preview: BUG: Infinite loop renaming entity attribute

9.0.5.0.0, Build 1375, Win2k SP3.
BACKGROUND:
After attempting to rename an EO on which a VO was based I received an error that indicated the VO was dependent on the attribute to be renamed. I removed the VO attribute from the VO's attribute list and saved the changes. I then brought up the Entity Object wizard where I attempted to rename the attribute.
When jdevw.exe is used to launch the IDE, the renaming action results in the IDE hanging. When jdev.exe is used, the console prints the following stack trace and the IDE gives a StackOverflowError.
java.lang.StackOverflowError
     at java.lang.System.arraycopy(Native Method)
     at java.lang.StringBuffer.expandCapacity(StringBuffer.java:203)
     at java.lang.StringBuffer.append(StringBuffer.java:393)
     at oracle.jbo.dt.objects.JboBaseObject.getFullName(JboBaseObject.java:188)
     at oracle.jbo.dt.objects.JboEntity.attributeChangeQuery(JboEntity.java)
     at oracle.jbo.dt.objects.JboChangeMulticaster.dispatchAttributeRemoveQuery(JboBaseObject.java)
     at oracle.jbo.dt.objects.JboEntity.attributeChangeQuery(JboEntity.java)
[...a few hundred thousand more of these...]
     at oracle.jbo.dt.objects.JboChangeMulticaster.dispatchAttributeRemoveQuery(JboBaseObject.java)
     at oracle.jbo.dt.objects.JboEntity.attributeChangeQuery(JboEntity.java)
     at oracle.jbo.dt.objects.JboChangeMulticaster.dispatchAttributeRemoveQuery(JboBaseObject.java)
     at oracle.jbo.dt.objects.JboEntity.attributeChangeQuery(JboEntity.java:388)
     at oracle.jbo.dt.objects.JboChangeMulticaster.dispatchAttributeRemoveQuery(JboBaseObject.java:3394)
     at oracle.jbo.dt.objects.JboEntity.attributeChangeQuery(JboEntity.java:388)
[...and a bunch of these...]
     at oracle.jbo.dt.objects.JboChangeMulticaster.dispatchAttributeRemoveQuery(JboBaseObject.java:3394)
     at oracle.jbo.dt.objects.JboEntity.attributeChangeQuery(JboEntity.java:388)
     at oracle.jbo.dt.objects.JboChangeMulticaster.dispatchAttributeChangeQuery(JboBaseObject.java:3427)
     at oracle.jbo.dt.objects.JboObject.changeAttributeQuery(JboObject.java:107)
     at oracle.jbo.dt.ui.entity.AttributeSettingsPanel.attributeNameCheck(AttributeSettingsPanel.java:453)
     at oracle.jbo.dt.ui.entity.EOAttributePanel.leave(EOAttributePanel.java:279)
     at oracle.jbo.dt.ui.entity.EOAttributeTabPanel.leave(EOAttributeTabPanel.java:108)
     at oracle.jbo.dt.ui.entity.EOEditAttributeTabPanel.updateCurrentAttr(EOEditAttributeTabPanel.java:330)
     at oracle.jbo.dt.ui.entity.EOEditAttributeTabPanel.leave(EOEditAttributeTabPanel.java:113)
     at oracle.jbo.dt.ui.main.dlg.DtjMddTraversable.onExit(DtuMddNavigable.java:278)
     at oracle.ide.panels.MDDPanel.exitTraversable(MDDPanel.java:761)
     at oracle.ide.panels.MDDPanel.onExit(MDDPanel.java:286)
     at oracle.jbo.dt.ui.main.dlg.DtjMddWizardDialog.okAction(DtuWizard.java:1899)
     at oracle.jbo.dt.ui.main.dlg.DtjDialog.dismissDialog(DtjDialog.java:219)
     at oracle.bali.ewt.dialog.JEWTDialog$UIListener.actionPerformed(Unknown Source)
     at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764)
     at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1817)
     at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419)
     at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)
     at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
     at java.awt.Component.processMouseEvent(Component.java:5134)
     at java.awt.Component.processEvent(Component.java:4931)
     at java.awt.Container.processEvent(Container.java:1566)
     at java.awt.Component.dispatchEventImpl(Component.java:3639)
     at java.awt.Container.dispatchEventImpl(Container.java:1623)
     at java.awt.Component.dispatchEvent(Component.java)
     at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java)
     at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)
     at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
     at java.awt.Container.dispatchEventImpl(Container.java:1609)
     at java.awt.Window.dispatchEventImpl(Window.java)
     at java.awt.Component.dispatchEvent(Component.java)
     at java.awt.EventQueue.dispatchEvent(EventQueue.java:452)
     at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
     at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
     at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:141)
     at java.awt.Dialog.show(Dialog.java:538)
     at java.awt.Component.show(Component.java:1134)
     at java.awt.Component.setVisible(Component.java:1089)
     at oracle.jbo.dt.ui.main.dlg.DtjDialog.setVisible(DtjDialog.java:137)
     at oracle.jbo.dt.ui.main.dlg.DtjMddWizardDialog.setVisible(DtuWizard.java:1926)
     at oracle.bali.ewt.dialog.JEWTDialog.runDialog(Unknown Source)
     at oracle.jbo.dt.ui.main.dlg.DtjDialog.showDialog(DtjDialog.java:114)
     at oracle.jbo.dt.ui.main.dlg.DtjMddWizardDialog.showDialog(DtuWizard.java:1885)
     at oracle.jbo.dt.ui.main.dlg.DtuWizard.createMddWizard(DtuWizard.java:422)
     at oracle.jbo.dt.ui.main.dlg.DtuWizard.setVisible(DtuWizard.java:276)
     at oracle.jbo.dt.ui.entity.EOWizard.setVisible(EOWizard.java:204)
     at oracle.jbo.dt.ui.main.dlg.DtuWizard.showDialog(DtuWizard.java:254)
     at oracle.jbo.dt.jdevx.ui.JdxMenuManager.invokeEOWizard(JdxMenuManager.java:762)
     at oracle.jbo.dt.jdevx.ui.JdxMenuManager.invokeEntityWizard(JdxMenuManager.java:741)
     at oracle.jbo.dt.ui.main.DtuMenuManager.doEditMenuAction(DtuMenuManager.java:1341)
     at oracle.jbo.dt.ui.main.DtuMenuManager.doMenuAction(DtuMenuManager.java:1218)
     at oracle.jbo.dt.jdevx.ui.JdxMenuManager.doMenuAction(JdxMenuManager.java:701)
     at oracle.jbo.dt.ui.main.DtuMenuManager.doAction(DtuMenuManager.java:1058)
     at oracle.jbo.dt.ui.main.DtuMenuManager.doAction(DtuMenuManager.java:1041)
     at oracle.jbo.dt.jdevx.ui.JdxMenuManager.doActionPerformed(JdxMenuManager.java:532)
     at oracle.jbo.dt.jdevx.ui.JdxMenuInvoker.run(JdxMenuManager.java:1285)
     at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
     at java.awt.EventQueue.dispatchEvent(EventQueue.java:449)
     at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
     at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
     at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)

Thanks for the post, I've been able to reproduce this in the current builds and I've logged this as bug #3159091 to be fixed for 9.0.5 production.
Ray

Similar Messages

  • Bug: unable to rename entity attribute (jdev903)

    Hi,
    I have an entity and a view on it.
    One of the entity attributes has the wrong name, so I tried to rename it, but jdev gave me a warning that it couldn't rename the attribute because the view is dependent on it. Sounds fair (although I wish it would rename the attribute in the view along with it, (refactoring)).
    Then I removed the attribute from the view, and try to rename the entity attribute again. It still can't rename it! I've verified twice to see if the attribute was actually removed from the view, which it was, so this is definitely a bug.
    Greetings,
    Ivo

    Ivo want's to rename the attribute in the entity object without first removing the attribute from the view object. That this isn't possible right now probably isn't a bug, because in your scenario you keep that in mind, so you manually first remove the attribute from the view object. But it would be nice if JDeveloper automatically renames the attribute in the view object too (instead of "complaining" about the dependency). And if you for example remove an attribute from an entity and a view object depends on it, it will ask you to remove the attribute from the view object(s) too etc.

  • 10g Preview: No way to rename view link usages in AM

    10g Preview (9.0.5.0.0 Build 1375), Win2k SP3.
    I generated the entity objects, view objects, associations, and view links from my DB structure. I created an application module with the default data model from the view objects and view links.
    I then renamed all of the view links using the Rename View Link dialog. The AM's xml file was correctly updated with the new names of the underlying view links, but the view link usages retained the old names.
    There does not appear to be a convenient way of renaming the view link usages in the AM. The workarounds are either to deconstruct the data model and then reconstruct it, or to manually edit the .java and .xml files.
    I would like to see, at minimum, the ability to rename the AM's usages via a right-click menu in the Structure pane. This would affect both view object and view link usages. Currently the only option available in the right-click menu is to edit the underlying business object, not the usage. It also would make sense to allow view link usages to be renamed from the Data Model page of the AM wizard.

    That worked beautifully. I didn't have the property inspector open originally, so it's nice to know there is a way to rename usages after all.
    I wonder if there's a usability issue here though... maybe it's just me, but with the ability to rename some things via the right-click menu in the navigator pane, it seemed natural to look in the very similar structure pane for the same sort of functionality. Now there's a third place to look. Perhaps if the right-click menu in the structure pane simply had a "Properties..." entry or something similar that brought focus to the Property Inspector, it would help the user understand that there's another place to try to make the desired changes.

  • 10g Preview Bug: Auto Indent XML

    When auto-indenting an xml document with multi-line comments, each time you ask for the auto-indent, the trailing lines of the comment are indented further. The following example shows a document that is unintented, and then the same document after selecting auto-indent once, and then after auto-indenting the auto-indented document. The comments will keep moving to the right if I keep selecting auto-indent.
    Original:
    <tag>
    <subtag>
    <!--
    A multi-line comment.
    -->
    </subtag>
    </tag>
    Indented once:
    <tag>
      <subtag>
        <!--
        A multi-line comment.
        -->
      </subtag>
    </tag>
    Indented twice:
    <tag>
      <subtag>
        <!--
            A multi-line comment.
            -->
      </subtag>
    </tag>

    Hi Markus,
    Though this is not a UIX issue, request for Auto indent feature from application navigator for multiple xml (uix, uit, xss, and xml) files has been made. Your post has been passed to the IDE team which looks after these issues.
    Thanks,
    Vijay V
    Team UIX.

  • AdvancedDataGrid changing dataprovider bug infinite loop

    Make the second column width like this image and then click on addRow1:
    <code>
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application
    xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx"
    >
    <fx:Declarations>
    <s:ArrayCollection id="dp">
    <fx:Object descripcion="descripcion1" />
    <fx:Object descripcion="descripcion2" />
    <fx:Object descripcion="descripcion3" />
    <fx:Object descripcion="descripcion4" />
    </s:ArrayCollection>
    </fx:Declarations>
    <fx:Script>
    <![CDATA[
    import mx.collections.ArrayCollection;
    protected function btnAceptar_clickHandler(event:MouseEvent):void {
    var aux:ArrayCollection = new ArrayCollection(dp.toArray());
    var obj:Object = new Object();
    obj.descripcion = "descripcion" + dp.length;
    aux.addItem(obj);
    dp = aux;
    protected function button1_clickHandler(event:MouseEvent):void {
    var obj:Object = new Object();
    obj.descripcion = "descripcion" + dp.length;
    dp.addItem(obj);
    ]]>
    </fx:Script>
    <s:layout>
    <s:VerticalLayout />
    </s:layout>
    <s:Panel>
    <mx:AdvancedDataGrid id="grilla" dataProvider="{dp}" width="100%" height="100%"
    horizontalScrollPolicy="auto"
    >
    <mx:columns>
    <mx:AdvancedDataGridColumn dataField="descripcion" />
    <mx:AdvancedDataGridColumn dataField="descripcion" />
    </mx:columns>
    </mx:AdvancedDataGrid>
    </s:Panel>
    <s:Button label="addRow1" click="btnAceptar_clickHandler(event)" />
    <s:Button label="addRow1" click="button1_clickHandler(event)" />
    </s:Application>
    </code>

    When the width property is not used, it fails. I can't simplify more than this sorry.
    Steps:
    click on Fail button
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application
         xmlns:fx="http://ns.adobe.com/mxml/2009"
         xmlns:s="library://ns.adobe.com/flex/spark"
         xmlns:mx="library://ns.adobe.com/flex/mx"
         width="300" height="300"
         >
         <fx:Declarations>
              <s:ArrayCollection id="dp">
                   <fx:Object description1="description" description2="description"/>
                   <fx:Object description1="description" description2="description"/>
                   <fx:Object description1="description" description2="description"/>
                   <fx:Object description1="description" description2="description"/>
              </s:ArrayCollection>
         </fx:Declarations>
         <fx:Script>
              <![CDATA[
                   import mx.collections.ArrayCollection;
                   protected function fail_clickHandler(event:MouseEvent):void {
                        var obj:Object = new Object();
                        obj.descripcion = "description";
                        var aux:ArrayCollection = new ArrayCollection(dp.toArray());
                        aux.addItem(obj);
                        dp = aux;
              ]]>
         </fx:Script>
         <s:layout>
              <s:VerticalLayout />
         </s:layout>
         <mx:AdvancedDataGrid id="grid" dataProvider="{dp}" height="160" horizontalScrollPolicy="auto">
              <mx:columns>
                   <mx:AdvancedDataGridColumn dataField="description1" width="200"/>
                   <mx:AdvancedDataGridColumn dataField="description2" width="5"/>
              </mx:columns>
         </mx:AdvancedDataGrid>
         <s:Button id="fail" label="FAIL" click="fail_clickHandler(event)" />
    </s:Application>

  • Entity Adapter in infinite loop

    Hi,
    I have written code which takes userid as input and updates the user attribute using OIM API based an a criteria. I have attached this entity adapter on pre-update of the user form. The adapter is getting trigered but is going into infinite loop.
    Can anyone help me on how to avoid this ??
    Any help will be appreciated.

    Hi,
    I think don't need to update the user attribute using the OIM API. Assign the adapter return value to the UDF you want to update. So you dont have to use the API.
    When you use the API, the events are fired, so your code will go in a loop.
    If you have to update more than one field on the pre update, for example, I suggest you write an Event Handler. Below is a sample of an Event Handler code that I have assigned to the Specific Task Info dataobject:
    import com.thortech.xl.client.events.tcBaseEvent;
    public class EventHandlerSample extends tcBaseEvent {
         public NotifyTaskStatusChangedEvent(){
              this.setEventName("Event Handler Sample");
         @Override
         protected void implementation() throws Exception {
    String taskKey = this.getDataObject().getString("SCH_KEY");
         String newTaskStatus = this.getDataObject().getString("SCH_STATUS");
         String oldTaskStatus = this.getDataObject().getCurrentString("SCH_STATUS");
    System.out.println("Old Status: " + oldTaskStatus);
    System.out.println("New Status: " + newTaskStatus);
    if(this.getDataObject().isInserting()){
    if (this.getDataObject().isPostEvent(){
    //do something
    if (this.getDataObject().isPreEvent(){
    //do something
    }else if(this.getDataObject().isUpdating()){
    }else if (this.getDataObject().isDeleting()){
    Read the metalink Developing a Custom OIM Event Handler Using Eclipse [ID 604817.1]
    Renato.

  • PowerShell 3.0 stuck in infinite loop resolving members internally (is this a PS bug??)

    Sorry for long post... I have this scenario:
    - Issue is on PS3, PS2 works fine
    - I create a new object via "$myObj = New-Object PSObject"
    - I append a number of PSMembers to it via something similar to:
    "if (-not (Get-Member -InputObject $myObj -Name MyProperty))
     Add-Member -InputObject $myObj -MemberType ScriptProperty -Name MyProperty -Value { return MyFunction }
    I am seeing situations where what I believe is the call to "Get-Member" causes a huge number of invocations that appear to be calling the equivalent of the "MyFunction" in the above sample. I have debug statements in the MyFunction
    function and nested functions and can see they are called by what appears to be the PS framework itself. Even running a "Get-PSCallstack" call from one of these functions seems to also trigger the debug statements to be hit (midway through the callstack
    output??!) - bit confused by that but it's like PS is invoking the member in order to reflect it or something.
    I used Trace-Command and could see that the "MemberResolution" trace source is repeatedly/infinitely called with the output:
    MemberResolution Information: 0 :         Matching "*"
    MemberResolution Information: 0 :             Generating the total list of members
    MemberResolution Information: 0 :                 Type table members: 0.
    MemberResolution Information: 0 :                 Adapted members: 0.
    MemberResolution Information: 0 :             21 total matches.
    This appears to be in an infinite loop. Therefore I added "-ListenerOption Callstack" to the Trace-Command call and captured the following and more (notice the call to PSObject.ToStringEmptyBaseObject()):
    at System.Management.Automation.PSObject.AdapterGetMembersDelegate[T](PSObject msjObj)
       at System.Management.Automation.PSMemberInfoIntegratingCollection`1.GetIntegratedMembers(MshMemberMatchOptions matchOptions)
       at System.Management.Automation.PSMemberInfoIntegratingCollection`1.Match(String name, PSMemberTypes memberTypes, MshMemberMatchOptions matchOptions)
       at System.Management.Automation.PSObject.ToStringEmptyBaseObject(ExecutionContext context, PSObject mshObj, String separator, String format, IFormatProvider formatProvider)
       at System.Management.Automation.PSObject.ToString(ExecutionContext context, Object obj, String separator, String format, IFormatProvider formatProvider, Boolean recurse, Boolean unravelEnumeratorOnRecurse)
       at System.Management.Automation.PSObject.ToString()
       at System.String.Join(String separator, Object[] values)
       at System.Management.Automation.ParameterBinderBase.BindParameter(CommandParameterInternal parameter, CompiledCommandParameter parameterMetadata, ParameterBindingFlags flags)
    I then disassembled the relevant code in Reflector and could see that the ToString() method of PSObject has a check for "if obj.immediateBaseObjectIsEmpty" then to call the ToStringEmptyBaseObject() function. I could also see that the immediateBaseObjectIsEmpty
    field is set in the CommonInitialization internal method if "obj is PSCustomObject" (which is the actual object type you get when you New-Object PSObject).
    I then updated my code to create "$myObj = New-Object Object" (i.e. System.Object instead) and the issue goes away.
    Can anyone explain what I may have done wrong here or is this looking like a bug in PowerShell?
    Cheers!

    Hi Matt,
    I'm not sure if we are on the same page? Getting the list of (i.e. metadata of) the members shouldn't invoke the member.  I have used this technique in many places and it's never been an issue whereby you "wrap" a utility function with
    a ScriptProperty or ScriptMethod to provide OO semantics on a PS object. The member isn't invoked by Get-Member, only when it's called explicitly.
    Here's a small example:
    function TestFunction
     Write-Host "TestFunction called"
     return "TestFunction return value"
    $myObj = New-Object PSObject
    Add-Member -InputObject $myObj -MemberType ScriptProperty -Name TestScriptProperty -Value `
     Write-Host "TestScriptProperty called"
     return TestFunction
    Write-Host "Getting members"
    Get-Member -InputObject $myObj -Name TestScriptProperty | Select *
    Write-Host "Invoking property"
    $myObj.TestScriptProperty
    Here's the output (Get-Member output a bit mangled due to the text wrapping):
    Getting members
    TypeName                                   Name                                                                      
    MemberType Definition                               
    System.Management.Automation.PSCustomOb... TestScriptProperty                                                    
    ScriptProperty System.Object TestScriptProperty {get=...
    Invoking property
    TestScriptProperty called
    TestFunction called
    TestFunction return value
    Yup I see your point, but when you run your original code with this example object you can see there is no loop. There must either be a loop in the function or in the body of the script itself. This is very tough to troubleshoot without seeing the code you
    are actually running.
    You said you are adding several members to the custom object. Is this done in a loop?

  • Java Pattern Matcher (Pattern.class bug? Stuck in Infinite Loop)

    Hi,
    I'm using the java pattern matcher and it appears to be stuck in an infinite loop and will not return from Pattern.class.
    It stays stuck in the following two code sequences...
    I'm using the following regex...
    java.util.regex.Matcher[pattern=[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|com|org|net|biz|info) region=0,353648 lastmatch=
    MAIN BLOCK STUCK IN LOOP:
    boolean study(TreeInfo info) {
    if (type != INDEPENDENT) {
    int minL = info.minLength;
    atom.study(info);
    info.minLength = minL;
    info.deterministic = false;
    return next.study(info);
    } else {
    atom.study(info);
    return next.study(info);
    SECOND BLOCK STUCK IN LOOP:
    boolean match(Matcher matcher, int i, CharSequence seq) {
    // Check for zero length group
    if (i > matcher.locals[beginIndex]) {
    int count = matcher.locals[countIndex];
    if (count < cmin) {
    matcher.locals[countIndex] = count + 1;
    boolean result = body.match(matcher, i, seq);
    // If match failed we must backtrack, so
    // the loop count should NOT be incremented
    if (!result)
    matcher.locals[countIndex] = count;
    return result;
    if (next.match(matcher, i, seq))
    return true;
    if (count < cmax) {
    matcher.locals[countIndex] = count + 1;
    boolean result = body.match(matcher, i, seq);
    // If match failed we must backtrack, so
    // the loop count should NOT be incremented
    if (!result)
    matcher.locals[countIndex] = count;
    return result;
    return false;
    return next.match(matcher, i, seq);
    Is this a bug with the Java 1.6 Pattern Matcher?
    Thanks
    V$h3r

    The Java Pattern Matcher is getting stuck in the following code...
    boolean study(TreeInfo info) {
    if (type != INDEPENDENT) {
    int minL = info.minLength;
    atom.study(info);
    info.minLength = minL;
    info.deterministic = false;
    return next.study(info);
    } else {
    atom.study(info);
    return next.study(info);
    boolean match(Matcher matcher, int i, CharSequence seq) {
    // Check for zero length group
    if (i > matcher.locals[beginIndex]) {
    int count = matcher.locals[countIndex];
    if (count < cmin) {
    matcher.locals[countIndex] = count 1;
    boolean result = body.match(matcher, i, seq);
    // If match failed we must backtrack, so
    // the loop count should NOT be incremented
    if (!result)
    matcher.locals[countIndex] = count;
    return result;
    if (next.match(matcher, i, seq))
    return true;
    if (count < cmax) {
    matcher.locals[countIndex] = count + 1;
    boolean result = body.match(matcher, i, seq);
    // If match failed we must backtrack, so
    // the loop count should NOT be incremented
    if (!result)
    matcher.locals[countIndex] = count;
    return result;
    return false;
    return next.match(matcher, i, seq);
    }Here is a copy of the REGEX that I'm using...
    It works on most of the other STRINGS but when I do a REGEX on the the html source for http://www.exponent.com it will get stuck...
    Pattern p = Pattern.compile("[a-zA-Z0-9+_~-]+(?:\\.[a-zA-Z0-9+_~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+(?:com|org|net|biz|info|[a-zA-Z]{2})");Thanks,
    V$h3r

  • How to find infinite loop?

    Dear Oracle Gurus,
    I have one (some?) problem and no idea what to do.
    Our platform is IBM xSeries 234, RHEL3, 10g (version ...0.2). Database has only Oracle Application Repository shemas.
    Here is output from OS:
    #ps aux
    ... oracleandja (LOCAL=NO) -More then 200 lines
    ... /d2/oradb/andja/bin/emagent
    ... oracleandja (LOCAL=NO)
    ... ora_pmon_andja
    ... ora_mman_andja
    ... ora_dbw0_andja
    ... ora_lgwr_andja
    ... ora_ckpt_andja
    ... ora_smon_andja
    ... ora_reco_andja
    ... ora_cjq0_andja
    ... ora_d000_andja
    ... ora_s000_andja
    ... ora_qmnc_andja
    ... ora_mmnl_andja
    #top
    216 processes: 214 sleeping, 2 running, 0 zombie, 0 stopped
    1st CPU: 100%
    2nd CPU: 25%
    When I try to shutdown DB from SQL+, I got this:
    ORA-24324: service handle not initialized
    ORA-24323: value not allowed
    ORA-00020: maximum number of processes (%s) exceeded
    The most interesting error has written in .trc file:
    ORA-00600: internal error code, arguments: [kksfbc-reparse-infinite-loop], [], [], [], [], [], [], []
    Can you give me some advice how to find this infinite loop? And how to deal with this?
    Is there anything that I can do to solve this without reinstalling whole DB and AS?
    Regards

    If you cannot shut Oracle down using a shutdown immediate then you will need to get a new /nolog session and issue a "shutdown abort".
    From the error messages you listed it would appear you ran intot your maximum number of proceess limit and you will need to fix that.
    However the bug report for bug 3411348.8 makes it appear you would only get this error when performing DDL like alter table .. upgrade, ?
    What exactly was being done on your system when the problem started?
    HTH -- Mark D Powell --

  • DBSequence type no longer available for entity attributes?

    I'm puzzled by this, if not scared.
    Every version of JDev till 11.1.1.2.0 has had out-of-the-box support for DBSequence as an entity attribute type.
    When you set it for your PK, JDev disables a few options, automatically sets "refresh after insert" (and maybe other stuff) and handles everything about it.
    Now, I see that in new applications created with 11.1.1.2.0 that option is no longer present...!
    It's available only for apps migrated from previous versions.
    If you create a new application, you no longer have DBSequence in the Type dropdown.
    Here's what the documentation (Oct 2009 DevGuide, par 4.10.10) says:
    In the Edit Attribute dialog, you can set the value of the Type field to the built-in data
    type named DBSequence and the primary key will be assigned automatically by the
    database sequence. Setting this data type automatically selects the refresh after Insert
    checkbox.Where on Earth is this built-in data type named DBSequence in Jdev 11.1.1.2.0?

    Thanks Paul.
    It seems JDev broke my application.
    It only shows the native Java types in the dropdown, and does not show any of the Oracle types including Number, DBSequence and all the rest.
    (Note that all the connections I work with use the Oracle type map, of course - it's automatic.)
    I tried a new quick test with a new application and again, no Oracle types, just the java types.
    Then closed and reopened my applications as well as JDev and I can now see all the types in my quick test.
    However, my original application still "sees" no Oracle types, it's stuck with the Java types.
    I'll try to see if I can repair it in some way... I'll eventually put it down as one of the gazillion one-time bugs that JDev shows daily.

  • SQL stored procedure Staging.GroomDwStagingData stuck in infinite loop, consuming excessive CPU

    Hello
    I'm hoping that someone here might be able to help or point me in the right direction. Apologies for the long post.
    Just to set the scene, I am a SQL Server DBA and have very limited experience with System Centre so please go easy on me.
    At the company I am currently working they are complaining about very poor performance when running reports (any).
    Quick look at the database server and CPU utilisation being a constant 90-95%, meant that you dont have to be Sherlock Holmes to realise there is a problem. The instance consuming the majority of the CPU is the instance hosting the datawarehouse and in particular
    a stored procedure in the DWStagingAndConfig database called Staging.GroomDwStagingData.
    This stored procedure executes continually for 2 hours performing 500,000,000 reads per execution before "timing out". It is then executed again for another 2 hours etc etc.
    After a bit of diagnosis it seems that the issue is either a bug or that there is something wrong with our data in that a stored procedure is stuck in an infinite loop
    System Center 2012 SP1 CU2 (5.0.7804.1300)
    Diagnosis details
    SQL connection details
    program name = SC DAL--GroomingWriteModule
    set quoted_identifier on
    set arithabort off
    set numeric_roundabort off
    set ansi_warnings on
    set ansi_padding on
    set ansi_nulls on
    set concat_null_yields_null on
    set cursor_close_on_commit off
    set implicit_transactions off
    set language us_english
    set dateformat mdy
    set datefirst 7
    set transaction isolation level read committed
    Store procedures executed
    1. dbo.p_GetDwStagingGroomingConfig (executes immediately)
    2. Staging.GroomDwStagingData (this is the procedure that executes in 2 hours before being cancelled)
    The 1st stored procedure seems to return a table with the "xml" / required parameters to execute Staging.GroomDwStagingData
    Sample xml below (cut right down)
    <Config>
    <Target>
    <ModuleName>TransformActivityDim</ModuleName>
    <WarehouseEntityName>ActivityDim</WarehouseEntityName>
    <RequiredWarehouseEntityName>MTV_System$WorkItem$Activity</RequiredWarehouseEntityName>
    <Watermark>2015-01-30T08:59:14.397</Watermark>
    </Target>
    <Target>
    <ModuleName>TransformActivityDim</ModuleName>
    <WarehouseEntityName>ActivityDim</WarehouseEntityName>
    <RequiredWarehouseEntityName>MTV_System$WorkItem$Activity</RequiredWarehouseEntityName>
    <ManagedTypeViewName>MTV_Microsoft$SystemCenter$Orchestrator$RunbookAutomationActivity</ManagedTypeViewName>
    <Watermark>2015-01-30T08:59:14.397</Watermark>
    </Target>
    </Config>
    If you look carefully you will see that the 1st <target> is missing the ManagedTypeViewName, which when "shredded" by the Staging.GroomDwStagingData returns the following result set
    Example
    DECLARE @Config xml
    DECLARE @GroomingCriteria NVARCHAR(MAX)
    SET @GroomingCriteria = '<Config><Target><ModuleName>TransformActivityDim</ModuleName><WarehouseEntityName>ActivityDim</WarehouseEntityName><RequiredWarehouseEntityName>MTV_System$WorkItem$Activity</RequiredWarehouseEntityName><Watermark>2015-01-30T08:59:14.397</Watermark></Target><Target><ModuleName>TransformActivityDim</ModuleName><WarehouseEntityName>ActivityDim</WarehouseEntityName><RequiredWarehouseEntityName>MTV_System$WorkItem$Activity</RequiredWarehouseEntityName><ManagedTypeViewName>MTV_Microsoft$SystemCenter$Orchestrator$RunbookAutomationActivity</ManagedTypeViewName><Watermark>2015-01-30T08:59:14.397</Watermark></Target></Config>'
    SET @Config = CONVERT(xml, @GroomingCriteria)
    SELECT
    ModuleName = p.value(N'child::ModuleName[1]', N'nvarchar(255)')
    ,WarehouseEntityName = p.value(N'child::WarehouseEntityName[1]', N'nvarchar(255)')
    ,RequiredWarehouseEntityName =p.value(N'child::RequiredWarehouseEntityName[1]', N'nvarchar(255)')
    ,ManagedTypeViewName = p.value(N'child::ManagedTypeViewName[1]', N'nvarchar(255)')
    ,Watermark = p.value(N'child::Watermark[1]', N'datetime')
    FROM @Config.nodes(N'/Config/*') Elem(p)
    /* RESULTS - NOTE THE NULL VALUE FOR ManagedTypeViewName
    ModuleName WarehouseEntityName RequiredWarehouseEntityName ManagedTypeViewName Watermark
    TransformActivityDim ActivityDim MTV_System$WorkItem$Activity NULL 2015-01-30 08:59:14.397
    TransformActivityDim ActivityDim MTV_System$WorkItem$Activity MTV_Microsoft$SystemCenter$Orchestrator$RunbookAutomationActivity 2015-01-30 08:59:14.397
    When the procedure enters the loop to build its dynamic SQL to delete relevant rows from the inbound schema tables it concatenates various options / variables into an executable string. However when adding a NULL value to a string the entire string becomes
    NULL which then gets executed.
    Whilst executing "EXEC(NULL)" would cause SQL to throw an error and be caught, executing the following doesnt
    DECLARE @null_string VARCHAR(100)
    SET @null_string = 'hello world ' + NULL
    EXEC(@null_string)
    SELECT @null_string
    So as it hasnt caused an error the next part of the procedure is to move to the next record and this is why its caught in an infinite loop
    DELETE @items WHERE ManagedTypeViewName = @View
    The value for the variable @View is the ManagedTypeViewName which is NULL, as ANSI_NULLS are set to ON in the connection and not overridded in the procedure then the above statement wont delete anything as it needs to handle NULL values differently (IS NULL),
    so we are now stuck in an infinite loop executing NULL for 2 hours until cancelled.
    I amended the stored procedure and added the following line before the loop statement which had the desired effect and "fixed" the performance issue for the time being
    DELETE @items WHERE ManagedTypeViewName IS NULL
    I also noticed that the following line in dbo.p_GetDwStagingGroomingConfig is commented out (no idea why as no notes in the procedure)
    --AND COALESCE(i.ManagedTypeViewName, j.RelationshipTypeViewName) IS NOT NULL
    There are obviously other ways to mitigate the dynamic SQL string being NULL, there's more than one way to skin a cat and thats not why I am asking this question, but what I am concerned about is that is there a reason that the xml / @GroomingCriteria is incomplete
    and / or that the procedures dont handle potential NULL values.
    I cant find any documentation, KBs, forum posts of anyone else having this issue which somewhat surprises me.
    Would be grateful of any help / advice that anyone can provide or if someone can look at their 2 stored procedures on a later version to see if it has already been fixed. Or is it simply that we have orphaned data, this is the bit that concerns most as I dont
    really want to be deleting / updating data when I have no idea what the knock on effect might be
    Many many thanks
    Andy

    First thing I would do is upgrade to 2012 R2 UR5. If you are running non-US dates you need the UR5 hotfix also.
    Rob Ford scsmnz.net
    Cireson www.cireson.com
    For a free SCSM 2012 Notify Analyst app click
    here

  • DBSequence entity attribute type not available

    Hi OTN,
    I want to set an entity attribute type to DBSequence. But there's no such type in a drop-down list, only Java types.
    I tried to set the type in source manually but at runtime framework doesn't assign a negative integer to the attribute at Create operation.
    In simple test application DBSequence type is available and negative integers get assigned.
    I have found a proper thread (Re: DBSequence type no longer available for entity attributes? but the solution there is to recreate the whole datamodel. That isn't suitable for me.
    Maybe there is a better solution now?
    Jdeveloper 11.1.1.2, ADF BC
    Thanks.

    I logged Bug 9380578 - "SQL FLAVOUR" AND "TYPE MAP" CAN BE CHANGED IN "PROJECT PROPERTIES"
    (published in My Oracle Support).
    NB: in JDeveloper 9.x, it was possible to change the "SQL Dialect" (as it was called at that time), but the ADF BC objects and the custom code weren't changed;
    hence it was decided to gray out that choice after the Project creation.
    Regards,
    Didier.

  • Display entity-attributes and global-attributes in the same screen

    Hi,
    I have a question about entity.
    Is it possible to display in the same screen, entity-attributes and global-attributes?
    thanks
    Rosalia

    Hi Rosalia,
    You can only display attributes from the current entity and the entity or entities that it is contained by (the parent entities).
    So if you had the following data model
    Global
    ..the person
    ...the income
    the person is contained by global.
    the income is contained by the person (which is contained by global).
    If you want to create a person-level question screen, you can display global attributes on that screen by using subsitution like %global_field_1%. You cannot, however, input global attributes on that screen (ONLY attributes belonging to the person)
    If you want to create an income-level question screen, you can display attributes from the person such as "tell us about %person_name%'s income..." as well as global attributes. Again, you cannot input person or global attributes on that screen (ONLY attributes belonging to the income)
    However it only works from child-to-parent containment relationships! You cannot have a global question screen which loops through the person instances and displays attributes from the person, or from the income out-of-the-box.
    We have managed to implement this using custom controls.
    You can map individual attributes back up to the parent level, and then display them,
    such as
    the first person's name = InstanceValueIf(the people, the person's name, the person's id = 1)
    the first person's name is now a global attribute and can be displayed on global question screens.
    Hope this helps!
    Ben

  • ITunes update to 4.0 requires checking 32-bit mode in "Get Info" window. No such checkbox exists. iTunes refuses to launch. iMac 27-in., Mac OS 10.6.8. Tried re-installing iTunes 4, but went into infinite loop while in "Registering Installed Components"

    After updating to iTunes 4, launching the application indicated that 64-bit mode was only available in Mac OS 10.7 Lion and to use in 32-bit mode by checking the 32-bit mode checkbox in the iTunes "Get Info" window. However, this window does not have the aforementioned checkbox. Thus, iTunes is now unusable.  Tried to download fresh install from Apple site, but this process went into an infinite loop during the "registering installed components" phase of the installation. Had to force quit. System is iMac 27-inch, Core i7 processor, Mac OS 10.6.8.  Is there a problem with iTunes 4? Can I go back to the previous version? Thanks.

    Ah! I found several other people with the same problem in this forum. I followed the suggestion to move iTunes 4 from the "Applications" to the desktop and launch it from there. It worked! I moved it back into the Application folder and its still okay.  Thanks!  This is a definitely a bug that Apple needs to address quickly.

  • Express Edition Install fails infinite loop

    If you try to install the Oracle 10g Express Edition and it does not work ( and I have yet to see it do so) you can't get to the database admin page.
    But you can ask for help on the forum.
    But no you can't , because to get to the forum, well, let's quote Oracle's helpful webpage on the topic,
    "Forum registration is possible only by downloading and installing Oracle Database XE. After installation, click on the "Registration" link from the Database homepage."
    Infinite loop. Thanks!
    Seriously, I am trying to install on WinXPProSP2, I AM an Admin on the machine, there are no antivirus programs running, no firewalls, no proxy set, and yet I cannot get the database connection page to work. I can see the Oracle services running, so that isn't the problem
    Trying to connect to the (already started) running db from SQL*Plus also fails.
    And there doesn't seem to be any way to troubleshoot anything in this state. You need to get INTO the database in order to alter ACCESS TO the database. So it is effectively undebuggable once installed.
    Any clues for this? I find it hard to believe no one else has run into this problem.

    The problem is there is no static IP address or MS Loopback device installed on the machine.

Maybe you are looking for