Meteor throws exception: Exception from Tracker recompute function: too much recursion - recursion

I have a recursive template in a Meteor application that builds tree structure with unlimited levels. The template works ok with small trees but when I test application on real data with many tree levels then I get the following two exceptions in console and no part of the tree gets rendered:
> Exception from Tracker recompute function: Node was not found
> meteor....3d493c5 (line 883)
>
> Exception from Tracker recompute function: too much recursion
> _.forEach#http://localhost:3000/packages/underscore.js?0a80a8623e1b40b5df5a05582f288ddd586eaa18:156:7
> ClassHandler<.parseValue#http://localhost:3000/packages/blaze.js?77c0809654ee3a10dcd5a4f961fb1437e7957d33:1115:5
> DiffingAttributeHandler<.update#http://localhost:3000/packages/blaze.js?77c0809654ee3a10dcd5a4f961fb1437e7957d33:1084:9
> etc. This is a very long stack
I'm not sure what "Node was not found" exception is about. I added it to the post because it seems to be related to the next one, which makes more sense. Is there a way to fix this?
UPDATE:
The amount of levels is actually not very large - the deepest branch is less than 10 levels. Also, I just noticed that the tree does get rendered in Chrome. The browser I see bug in is IceWeasel/Firefox 32.1.0 on Debian Linux.

Related

Script to guarantee app deploy using rsconnect:deployApp

I am able to deploy my shiny app with:
rsconnect::deployApp(appName = 'Test', launch.browser = FALSE, forceUpdate = T)
However, it does not always successfully deploy the app. I plan to have this run in a script as a Scheduled Task, and want to make sure the deployApp finishes successfully (if the process doesn't succeed, try again).
I imagine you could place this in a while loop, but I am not sure how to include script that would recognize if the function executed successfully or failed. Anyone have ideas?
Error Messages:
Preparing to deploy application...DONE
Error: $ operator is invalid for atomic vectors
As I say in the comment above, I really don't think this is a good idea. To do it safely and robustly will take a lot of work. And the error message you quote above looks pretty "uncontrolled" to me, so I suspect it's got more to do with a problem in your app than a temporary issue with the publishing process. In which case, you will be in an infinitely loop unless you take steps to prevent it. Have you investigated what your publish record and remote deployment log tell you?
That said, this would be my approach if I had to do it.
Create a flag, deploymentFlag, say, in the global environment and set it to FALSE.
Write a function, onDeploymentFailure() say, which sets deploymentFlag to FALSE.
Wrap you call to deployApp in a while loop like this
while(!deploymentFlag) {
deploymentFlag <- TRUE
rsconnect::deployApp(
...,
on.failure=onDeploymentFailure,
logLevel="verbose",
recordDir=<some dir>
)
if (!deploymentFlag) {
...interrogate the publish record to try to determine what went wrong,
and correct it if possible...
}
}
For safety, especially whilst developing and testing, I'd make sure that each attempt wrote a different publish log and I'd limit the maximum number of attempts to a very small number: 1 to start with, then 2 or 3 after I'd solved the initial problems, and so on.

Stack Trace Error for RefTableId field assignment

I created a new table and added a new Integer field (called RefTableId) with an EDT of the standard RefTableId type. Writing NewTable.RefTableId = tableNum(SomeTable); compiles but during run time I get this stack trace error: "Error executing code: Wrong argument types in variable assignment."
I've even tried NewTable.RefTableId = 0; This still fails. And yes, I've triple checked that it is indeed an integer field.
The solution is really stupid, the line before the assignments was reading .data() out of a FormListItem object that had invalid data in it. Instead of showing an error for that line, it skips over it and fails the assignment lines below. It makes no sense to me since I wasn't using any information from that FormListItem object to populate any field data with, yet still caused that to fail for some reason. I'm going to mark this one in the "Bang Head Here" category.
If the code is in a class, be sure to do a compile of all super classes as well as a compile forward (child classes). Remember to do an incremental CIL.
If it still fails do a full compile (axbuild).

Parsing Meteor error: Exception from Deps afterFlush

I get these Deps errors from time to time and I can never figure out what they mean or what they're pointing to:
Exception from Deps afterFlush function function: SyntaxError: Unexpected identifier
at eval (native)
at http://localhost:4000/packages/jquery.js?265926494aaa3929cd2e30da265211c5929f37a4:372:22
at Function.jQuery.extend.globalEval (http://localhost:4000/packages/jquery.js?265926494aaa3929cd2e30da265211c5929f37a4:373:7)
at jQuery.ajaxSetup.converters.text script (http://localhost:4000/packages/jquery.js?265926494aaa3929cd2e30da265211c5929f37a4:9806:11)
at ajaxConvert (http://localhost:4000/packages/jquery.js?265926494aaa3929cd2e30da265211c5929f37a4:8873:18)
at done (http://localhost:4000/packages/jquery.js?265926494aaa3929cd2e30da265211c5929f37a4:9293:15)
at callback (http://localhost:4000/packages/jquery.js?265926494aaa3929cd2e30da265211c5929f37a4:9753:8)
at Object.send (http://localhost:4000/packages/jquery.js?265926494aaa3929cd2e30da265211c5929f37a4:9759:7)
at Function.jQuery.extend.ajax (http://localhost:4000/packages/jquery.js?265926494aaa3929cd2e30da265211c5929f37a4:9244:15)
at Function.jQuery._evalUrl (http://localhost:4000/packages/jquery.js?265926494aaa3929cd2e30da265211c5929f37a4:9409:16) debug.js:41
It thinks that there is a syntax error, but the only files it points to are jquery.js, which I HIGHLY doubt contain errors...
This error is caused by code in a Template helper somewhere that uses JQuery/a jquery plugin and is running code using eval which contains a syntax error in it, which is why it appears to come from JQuery itself.
There isn't much more than this to go off im afraid. It might be from ajax. Have a look at your chrome's network tab to see what is being downloaded just before this happens and see if it contains any javascript.
If it contains HTML when it should contain javascript check your Meteor paths, Meteor does not throw 404 errors, instead it serves out the main page's html, which may be why the error displays this way instead of a 404
I just came across the similar "afterFlush" error, and while my error was also rooted in a jQuery/plugin with Meteor, it had nothing to do with eval.
The issue circled back around to updating the DOM at the same time I was updating a reactive method, where Meteor was also updating the DOM reactively. I found this out, and removed the manual DOM manipulation, which made this error go away. Hope someone else finds this helpful...

ExtJS 4.2: Ext.grid.feature.Summary error on store initialization

I am testing ExtJS 4.2 (4.2.1) with my existing code, and it mostly works, except for one serious problem: when my page loads, I get a JS error:
Ext.fly(div).down(me.getNodeContainerSelector(), true) is null
It happens in:
ext-all-debug.js l.105020 - createRowElement of Ext.view.Table
called from ext-all-debug.js l.112748 - onStoreUpdate of Ext.grid.feature.Summary)
The call stack is too long to put here, but it happens after a 'sort' event is fired on the grid, which is empty at this point (it is populated later). The sort happens as the grid constructor calls initState(), trying to apply a saved state (the grid is stateful).
I tried to remove the saved state data, which helped the process go one step further: the grid was drawn but then it started loading and got stuck again in onStoreUpdate(), in the same manner.
What am I doing wrong here ?
Had the same issue after upgrading to 4.2.1 from 4.1.2a. Changed how I defined features and plugins on the grid. Now using ptype and ftype. Seemed to solve it.

Warning: Failed to place object at depth 1

I am getting a warning when i run my application flash builder burrito.the warning is
Warning: Failed to place object at depth 1.
Does anyone have any ideas??
Thanks in advance!!!
I get this too with no indication of where it is happening - it is a continual stream of the error: Warning: Failed to place object at depth 1.
I figured out that it is related to a button movieClip from my library that had a continually cycling keyframe animation in it.
I'm not sure why it happens but if I use a button without the cycling animation, it gets rid of the warning
I ran into this issue when trying to embed a swf and use it as the source property of a s:Image control. Changing the control to the mx:Image component worked fine.
I’ve run into this problem using pdf2swf files in AIR. I seem to have found a solution, so I thought I would post it here in case anyone else has similar issues.
For the purpose of testing the robustness of my application, I am loading a single-file 500 page pdf-swf into my eReader AIR app.
The problem is that when going from page to page, I see that some of the content from a previous page remains visible. In the debugger I see a long list of warnings:
Warning: Failed to place object at depth 1
Warning: Failed to place object at depth 2
Etc.
I’ve stumbled upon the following work around. Before going to a new page, I go the following:
// _mainTimeline is the movieClip of the book
if (_mainTimeline.currentFrame != targetFrameNum) {
var chldCnt:int = _mainTimeline.numChildren;
for (var n:int = 0; n < chldCnt; n++) {
_mainTimeline.removeChildAt(0);
if (_mainTimeline.numChildren == 0) {
break;
}
}
_mainTimeline.gotoAndStop(targetFrameNum);
}
NOTE: I know that it would be shorter to code the iteration as
while (_mainTimeline.numChildren > 0) {
_mainTimeline.removeChildAt(0);
}
but I saw the program lockup when I first went to test this, so I added the extra precautionsof only running the loop numChildren times and always checking that there are still children left to remove. It is probably over-kill, but better safe than sorry.

Resources