https://bugzilla.wikimedia.org/show_bug.cgi?id=35814

--- Comment #3 from Dmitriy Sintsov <[email protected]> 2012-04-09 05:11:04 
UTC ---
It is funny that latest Chrome does not provide the line but here at work
really old IE8 did:

LOG: start map.view
LOG: start marker.view
LOG: start common
  Out of stack space 
load.php?debug=true&lang=ru&modules=jquery%2Cmediawiki&only=scripts&skin=vector&version=20111213T184703Z,
line 495 character 3
LOG: start map.view
LOG: start marker.view
LOG: start common
  Out of stack space 
load.php?debug=true&lang=ru&modules=jquery%2Cmediawiki&only=scripts&skin=vector&version=20111213T184703Z,
line 9446 character 6


        /**
         * Recursively resolves dependencies and detects circular references
         */
        function recurse( module, resolved, unresolved ) {
            if ( registry[module] === undefined ) {
                throw new Error( 'Unknown dependency: ' + module );
            }
            // Resolves dynamic loader function and replaces it with its own
results
            if ( $.isFunction( registry[module].dependencies ) ) {
                registry[module].dependencies =
registry[module].dependencies();
                // Ensures the module's dependencies are always in an array
                if ( typeof registry[module].dependencies !== 'object' ) {
                    registry[module].dependencies =
[registry[module].dependencies];
                }
            }
            // Tracks down dependencies
            for ( var n = 0; n < registry[module].dependencies.length; n++ ) {
                if ( $.inArray( registry[module].dependencies[n], resolved )
=== -1 ) {
                    if ( $.inArray( registry[module].dependencies[n],
unresolved ) !== -1 ) {
                        throw new Error(
                            'Circular reference detected: ' + module +
                            ' -> ' + registry[module].dependencies[n]
                        );
                    }
                    recurse( registry[module].dependencies[n], resolved,
unresolved );
                }
            }
            resolved[resolved.length] = module;
            unresolved.splice( $.inArray( module, unresolved ), 1 );
        }

It is infinite recursion loop, just as I have thought. It should be possible to
detect such rings and provide diagnostic message.

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.

_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to