Hi Alex,

1.
Found  : goog.require('com.likya.pinara.model.ModelLocator');
in : PinaraUI_mx_managers_SystemManager.js

2.
[Bindable]
            private static var modelLocator:ModelLocator = ModelLocator.getInstance();

It is initialized a the beginning and than only called.

Source :

package com.likya.pinara.model
{
    public class ModelLocator
    {
        private static var modelLocator:ModelLocator;

        public static function getInstance():ModelLocator
        {
            if(modelLocator == null)
            {
                modelLocator = new ModelLocator();
            }
            return modelLocator;
        }

        [Bindable]
        public var currentUser:User;

        [Bindable]
        public var currentBusyCursorId:int;

        [Bindable]
        public var appInfo:AppInfo;
    }
}


Thanks,
Serkan

1.12.2018 10:05 tarihinde Alex Harui yazdı:

Hi Serkan,

Scan all of the .js files to see if goog.require of ModelLocator is in any of the files.

The workaround is to do something like this:

Current code:  static public var myModelLocator:ModelLocator = new ModelLocator();

Workaround:   static public var myModelLocator:ModelLocator; // leave uninitialized

Then find the first use of myModelLocator and have the code check it first:

                           If (myModelLocator == null)

myModelLocator = new ModelLocator();

HTH,

-Alex

*From: *Serkan Taş <[email protected]>
*Reply-To: *"[email protected]" <[email protected]>
*Date: *Friday, November 30, 2018 at 9:19 PM
*To: *"[email protected]" <[email protected]>
*Subject: *Re: Work on Emulation

Hi Alex,

1.12.2018 01:31 tarihinde Alex Harui yazdı:

    I am also getting the unreachable code in SystemManager, but that
    shouldn’t matter right now.

Okay


    The TypeError is the current main issue.  A problem like that can
    result in the following errors.  Please make sure you copied the
    log info correctly.  It looks like some text was cut.

I guess it is completely what i see  :
cid:[email protected]

    Is there a ModelLocator.js file somewhere?

cid:[email protected]


    Is it in the goog.require list for PinaraUI.js?


Looked in PinaraUI.js, not found.


    You might be able to work around the error by initializing that
    static variable “later” in the main app.


I am not sure i got what you mean.


    Regarding Closure Compiler and memory, make sure you spelled the
    options correctly:
    https://developers.google.com/closure/compiler/docs/compilation_levels
    
<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdevelopers.google.com%2Fclosure%2Fcompiler%2Fdocs%2Fcompilation_levels&data=02%7C01%7Caharui%40adobe.com%7Cbef1552927504382071408d6574c7efc%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636792383411928494&sdata=d70GlXf3zh4Aqcv9N1UJ%2BOeE6sERkeMPOMbnOwxe704%3D&reserved=0>


I was working with : https://developers.google.com/closure/compiler/docs/api-tutorial3 <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdevelopers.google.com%2Fclosure%2Fcompiler%2Fdocs%2Fapi-tutorial3&data=02%7C01%7Caharui%40adobe.com%7Cbef1552927504382071408d6574c7efc%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636792383411928494&sdata=zuOJXLXnItpuvu9BnXs%2FfG3AUiiEDrYcXUE5zwJq%2B9c%3D&reserved=0>

do you  mean "-js-compiler-option SIMPLE_OPTIMIZATIONS" ?  Then i guess okay but check it again.


    One last thing to try is to manually determine the commands to
    Closure Compiler and try calling it directly from the
    command-line, but you just might have too many files.  If you can
    figure out the command-line parameters and get Closure Compiler to
    fail without being launched by the Royale Compiler, then you could
    ask the Google Closure folks for help.

Needs more work and time.

    Otherwise, you will have to reduce the number of files in the main
    app and move some to modules.


Sure looks like the easier path, any example or sample to begin, kindly appreciated.

Thanks,
Serkan

    -Alex

    *From: *Serkan Taş <[email protected]>
    <mailto:[email protected]>
    *Reply-To: *"[email protected]"
    <mailto:[email protected]> <[email protected]>
    <mailto:[email protected]>
    *Date: *Friday, November 30, 2018 at 1:39 PM
    *To: *"[email protected]" <mailto:[email protected]>
    <[email protected]> <mailto:[email protected]>
    *Subject: *Re: Work on Emulation

    Hi Alex,

    1.12.2018 00:28 tarihinde Alex Harui yazdı:

        Hi Serkan,

        The error you showed indicates that
        PinaraUI_mx_managers_SystemManager.js,
        mx.managers.SystemManager.js and PinaraUI.js and probably some
        other files did get loaded.  In theory, depending on your
        browser settings, you should be able to test the bin/js-debug
        code by loading from file:// <file:///> instead of http:// and
        bypass your embedded server.


    *I tried but not insisted, you mean that I can test without
    server, okay i will go by that way :
    Firefox console:
    **
    unreachable code after return statement[Daha fazla bilgi
    al]SystemManager.js:196:2



    *

    *TypeError: com.likya.pinara.model is undefined[Daha fazla bilgi
    al]****PinaraUI.js**:272:1***

    
*<anonim>****file:///D:/dev/royale-emulation-works/github/bin/js-debug/com/likya/pinara/main/PinaraUI.js**:272:1***

    *
    unreachable code after return statement[Daha fazla bilgi
    al]JobListWithDetails.js:522:4*

    *
    TypeError: this.info(...) is undefined[Daha fazla bilgi
    al]SystemManager.js:221:40*

    
*mx.managers.SystemManager.prototype.start****file:///D:/dev/royale-emulation-works/github/bin/js-debug/mx/managers/SystemManager.js**:221:40**<anonim>file:///D:/dev/royale-emulation-works/github/bin/js-debug/index.html:1662:44*

    *

    ********************************
    And sources generated :


    *

    *
    **PinaraUI.js (272)

    /**
     * @private
     * @type {com.likya.pinara.model.ModelLocator}
     */
    com.likya.pinara.main.PinaraUI.com_likya_pinara_main_PinaraUI_modelLocator_
    = com.likya.pinara.model.ModelLocator.getInstance();


    SystemManager.js:221
    *
      var /** @type {Array} */ mixinList = this.info()["mixins"];




        You will not get a .JS file in bin/js-release until you can
        find a way to keep Google Closure Compiler from having that GC
        overhead error.


    *I increased memory 6G with -Xmx : failed...
    used -XX:-UseGCOverheadLimit : failed
    used  -js-compiler-option SATANDART_OPTIMIZATIONS and
    -js-compiler-option ADVANCED_OPTIMIZATIONS : failed.

    I do not know what can i try next :)

    Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
            at java.util.HashMap.newNode(Unknown Source)
            at java.util.HashMap.putVal(Unknown Source)
            at java.util.HashMap.putMapEntries(Unknown Source)
            at java.util.HashMap.<init>(Unknown Source)
            at
    
com.google.javascript.jscomp.newtypes.NaivePersistentMap.with(NaivePersistentMap.java:37)
            at
    com.google.javascript.jscomp.newtypes.TypeEnv.putType(TypeEnv.java:79)
            at
    
com.google.javascript.jscomp.NewTypeInference.envPutType(NewTypeInference.java:4150)
            at
    
com.google.javascript.jscomp.NewTypeInference.updateLvalueTypeInEnv(NewTypeInference.java:3443)
            at
    
com.google.javascript.jscomp.NewTypeInference.analyzeAssignFwd(NewTypeInference.java:1947)
            at
    
com.google.javascript.jscomp.NewTypeInference.analyzeExprFwd(NewTypeInference.java:1520)
            at
    
com.google.javascript.jscomp.NewTypeInference.analyzeExprFwd(NewTypeInference.java:1430)
            at
    
com.google.javascript.jscomp.NewTypeInference.analyzeFunctionFwd(NewTypeInference.java:1036)
            at
    
com.google.javascript.jscomp.NewTypeInference.analyzeFunction(NewTypeInference.java:892)
            at
    
com.google.javascript.jscomp.NewTypeInference.process(NewTypeInference.java:518)
            at
    
com.google.javascript.jscomp.PhaseOptimizer$NamedPass.process(PhaseOptimizer.java:307)
            at
    com.google.javascript.jscomp.PhaseOptimizer.process(PhaseOptimizer.java:233)
            at
    com.google.javascript.jscomp.Compiler.check(Compiler.java:1084)
            at
    
com.google.javascript.jscomp.Compiler.performChecksAndTranspilation(Compiler.java:884)
            at
    com.google.javascript.jscomp.Compiler.access$000(Compiler.java:102)
            at
    com.google.javascript.jscomp.Compiler$2.call(Compiler.java:818)
            at
    com.google.javascript.jscomp.Compiler$2.call(Compiler.java:815)
            at
    
com.google.javascript.jscomp.CompilerExecutor$2.call(CompilerExecutor.java:93)
            at java.util.concurrent.FutureTask.run(Unknown Source)
            at
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
            at
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
            at java.lang.Thread.run(Unknown Source)*



        HTH,

        -Alex

        *From: *Serkan Taş <[email protected]>
        <mailto:[email protected]>
        *Reply-To: *"[email protected]"
        <mailto:[email protected]> <[email protected]>
        <mailto:[email protected]>
        *Date: *Friday, November 30, 2018 at 1:23 PM
        *To: *"[email protected]"
        <mailto:[email protected]> <[email protected]>
        <mailto:[email protected]>
        *Subject: *Re: Work on Emulation

        Hi Alex,

        http server is embedded and custom and currently can not load
        dependent files from index.html automatically. Can just
        download index.html.

        eg. can not load basic.js from \library\closure\goog.

        in release folder, there are two files :

        index.html
        PinaraUI.min.css

        so not completed and not minified i guess.

        Thanks,
        Serkan

        1.12.2018 00:03 tarihinde Alex Harui yazdı:

            Hi Serkan,

            I don’t think I understand.  Loading all of these JS files
            is only during debugging.  Once the JS files are correct,
            the optimizer in Google Closure Compiler will generate one
            JS file.  I would not expect the errors you showed in your
            last post to be related to HTTP Server.  It is more likely
            due to a mistake in the order we load the JS files, or a
            JS files is missing from the output.

            HTH,

            -Alex

            *From: *Serkan Taş <[email protected]>
            <mailto:[email protected]>
            *Reply-To: *"[email protected]"
            <mailto:[email protected]> <[email protected]>
            <mailto:[email protected]>
            *Date: *Friday, November 30, 2018 at 12:27 PM
            *To: *"[email protected]"
            <mailto:[email protected]> <[email protected]>
            <mailto:[email protected]>
            *Subject: *Re: Work on Emulation

            Thanks Alex,

            I think at this point i need to modify my java server
            application.

            While using flex, it was easy to define and load small
            amount of files via the custom embedded http server.

            But for royale, i need to improve the http handler for
            multiple files loading automatically from the relative
            paths. This is the reason of the error, can not fined the
            included js files.

            This will take sometime. Will come back :)

            Serkan.

            30.11.2018 23:12 tarihinde Alex Harui yazdı:

                What is the code around PinaraUI.js line 272?  As you
                resolve those issues, more and more of the code should
                run.

                -Alex

                *From: *Serkan Taş <[email protected]>
                <mailto:[email protected]>
                *Reply-To: *"[email protected]"
                <mailto:[email protected]>
                <[email protected]> <mailto:[email protected]>
                *Date: *Friday, November 30, 2018 at 12:06 PM
                *To: *"[email protected]"
                <mailto:[email protected]>
                <[email protected]> <mailto:[email protected]>
                *Subject: *Re: Work on Emulation

                correction : index.html  is created but has some errors.

                PinaraUI.js:272 Uncaught TypeError: Cannot read
                property 'ModelLocator' of undefined
                    at PinaraUI.js:272
                (anonymous) @ PinaraUI.js:272
                SystemManager.js:221 Uncaught TypeError: Cannot read
                property 'mixins' of undefined
                    at
                
PinaraUI_mx_managers_SystemManager.mx.managers.SystemManager.start
                (SystemManager.js:221)
                    at index.html:1662
                mx.managers.SystemManager.start @ SystemManager.js:221
                (anonymous) @ index.html:1662

                30.11.2018 23:03 tarihinde Serkan Taş yazdı:

                    Hi Alex,

                    29.11.2018 23:49 tarihinde Alex Harui yazdı:

                        Hi Serkan,

                        Look like it is the Google Closure Compiler
                        that is reporting this problem.

                        Here’s a link to options for JVM:
                        
https://stackoverflow.com/questions/1393486/error-java-lang-outofmemoryerror-gc-overhead-limit-exceeded
                        
<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F1393486%2Ferror-java-lang-outofmemoryerror-gc-overhead-limit-exceeded&data=02%7C01%7Caharui%40adobe.com%7Cbef1552927504382071408d6574c7efc%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636792383411938498&sdata=eqOLwGsU9z9YksoxB8M9noUWUfJVyzx%2FW0lbsdIKMXY%3D&reserved=0>

                        I don’t know if it cares if you use “G” or “g”
                        but the article uses “g”.

                    *I had already tried those in the link but not
                    succeeded. So searching for alternatives. *





                        You can also try using -js-compiler-options to
                        pass different options to the Google Closure
                        Compiler, such as SIMPLE_OPTIMIZATIONS. 
                        However if you are not getting any SEVERE
                        errors at this point, you can probably try
                        running the bin/js-debug/index.html.

                    *Unfortunately the index is generated, broken
                    somewhere in the middle. I am going to look
                    -js-compiler-options and SIMPLE_OPTIMIZATIONS*

                        In the end, you may need to break up your code
                        into smaller sets of files via Modules.

                    I already have some models but i see that still
                    too big for closure to compile, although i thought
                    it was not.






                        HTH,

                        -Alex

                    Thanks,
                    Serkan











                        *From: *Serkan Taş
                        <[email protected]>
                        <mailto:[email protected]>
                        *Reply-To: *"[email protected]"
                        <mailto:[email protected]>
                        <[email protected]>
                        <mailto:[email protected]>
                        *Date: *Thursday, November 29, 2018 at 1:48 AM
                        *To: *"[email protected]"
                        <mailto:[email protected]>
                        <[email protected]>
                        <mailto:[email protected]>
                        *Subject: *Re: Work on Emulation

                        *java.lang.OutOfMemoryError: GC overhead limit
                        exceeded*






















Reply via email to