2017-04-13 11 views
-1

をテンプレートにEJSを追加するとき、私は特急ノード/からEJSでの私のJSONデータを反復処理しようとしています、そしてそれは第6ピンの上にいたときにフレキシボックスに別のピンをスローに失敗しました。FATAL ERROR:無効な配列の長さの配分が

私はコードに致命的なエラー(打撃)がポップアップし、このように追加してみてください。私は致命的なエラーがなければ何をしたいのですか?

ありがとうございます!

<% for(i=0; i < articles.length; i++) { %> 

       <div class="pin" style="margin:1.25rem;"> 
        <a href="/blog/<%- articles[i].slug %>"> 
          <img class="blog-img" src="<%- articles[i].image %>" alt="blog post" style="width:20%;"/> 
        </a> 
        <h2><%- articles[i].title %></h2> 
        <p> 
         <%- articles[i].summary %> 
        </p> 
        <a class="readmore" style="position:relative; margin-top:2rem;" href="/blog/<%- articles[i].slug %>">READ MORE</a> 
       </div> 



       <% if(i = 5) { %> 
        <div class="pin" style="margin:1.25rem;"> 
         <img src="images/[email protected]" alt="Dome Logo" /> 
         <div class="form-group"> 
          <input onSubmit="submitData()" id="prospect-form" type="email" placeholder="Email Address" class="form-control" style="vertical-align: baseline; display:inline-block; background-color: white; border: none;" /> 
          <button onSubmit="submitData()" id="form-submit" onClick="submitData()" class="btn btn-active" type="submit" style="display: inline-block">Submit</button> 
         </div> 
        </div> 

       <% } %> 

    <% } %> 

エラー: < ---最後のいくつかのGC --->

[5347:0x103000000] 37746 ms: Mark-sweep 372.1 (379.5) -> 372.0 (377.5) MB, 1362.6/0.0 ms last resort 
[5347:0x103000000] 53315 ms: Mark-sweep 906.8 (912.3) -> 548.7 (556.8) MB, 197.0/0.4 ms (+ 0.0 ms in 0 steps since start of marking, biggest step 0.0 ms, walltime since start of marking 15568 ms) allocation failure GC in old space requested 


<--- JS stacktrace ---> 

==== JS stack trace ========================================= 

Security context: 0x359bac9a66a1 <JS Object> 
    2: /* anonymous */ [0x3ebc6f402311 <undefined>:~1] [pc=0x5a9ee9bbaad](this=0x1f1e6d598689 <JS Global Object>,locals=0x1606c8d792c9 <an Object with map 0x31a5701d9701>,escape=0x1606c8d62179 <JS Function exports.escapeXML (SharedFunctionInfo 0x1606c8d616b1)>,include=0x1606c8d79281 <JS Function include (SharedFunctionInfo 0x1606c8d737c9)>,rethrow=0x1606c8d79239 <JS Function rethrow (SharedFunc... 

FATAL ERROR: invalid array length Allocation failed - JavaScript heap out of memory 
1: node::Abort() [/Users//.nvm/versions/node/v7.7.4/bin/node] 
2: node::FatalException(v8::Isolate*, v8::Local<v8::Value>, v8::Local<v8::Message>) [/Users//.nvm/versions/node/v7.7.4/bin/node] 
3: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [/Users//.nvm/versions/node/v7.7.4/bin/node] 
4: v8::internal::Heap::AllocateUninitializedFixedArray(int) [/Users//.nvm/versions/node/v7.7.4/bin/node] 
5: v8::internal::Factory::NewUninitializedFixedArray(int) [/Users//.nvm/versions/node/v7.7.4/bin/node] 
6: v8::internal::(anonymous namespace)::FastElementsAccessor<v8::internal::(anonymous namespace)::FastPackedObjectElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)2> >::AddArguments(v8::internal::Handle<v8::internal::JSArray>, v8::internal::Handle<v8::internal::FixedArrayBase>, v8::internal::Arguments*, unsigned int, v8::internal::(anonymous namespace)::Where) [/Users//.nvm/versions/node/v7.7.4/bin/node] 
7: v8::internal::(anonymous namespace)::DoArrayPush(v8::internal::Isolate*, v8::internal::BuiltinArguments) [/Users//.nvm/versions/node/v7.7.4/bin/node] 
8: 0x5a9ee48ed46 

EDIT:文がある場合は絶対に私のマシンを殺すこと。もし私がそれを残しているなら、そこのステートメントは私のCPUの98%と1GBのRAMを使います。私がそれを取り出すと、それは正常に戻ります。ノーマルは約60MBのRAMとCPUの0%です。

+1

する必要があります場合は、反復自身とあなたのJSONが構成されている方法の例を投稿することができますか? –

+0

forループで追加しました – Quesofat

+0

[this](https://github.com/Unitech/pm2/issues/2694)が役立つかもしれません。 –

答えて

0

値を確認するために '=='比較パラメータを使用する代わりに、値5をiのif条件内にアタッチしようとしているため、ループがスタックされています。 あなたの文が

<% if(i == 5) { %>

関連する問題