Failed to execute 'removeChild' on 'Node'

failed to execute script
failed to execute script pyiboot01_bootstrap
failed to execute script run_electrum
failed to execute script pyi_rth__tkinter
failed to execute script tool_01diy85
failed to execute script main fbs
invesalius failed to execute script app
kuadro failed to execute script run

I'm using http://alexgorbatchev.com/SyntaxHighlighter/ to highlight code on my website but sometimes in my log im getting Javascript errors like this :

Uncaught NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is no longer a child of this node. Perhaps it was moved in a 'blur' event handler?

Uncaught NotFoundError: An attempt was made to reference a Node in a context where it does not exist.

// set up handler for lost focus
attachEvent(textarea, 'blur', function(e)
{
   textarea.parentNode.removeChild(textarea);
   removeClass(highlighterDiv, 'source');
});

Here is the attachEvent() function code :

function attachEvent(obj, type, func, scope)
{
    function handler(e)
    {
        e = e || window.event;

        if (!e.target)
        {
            e.target = e.srcElement;
            e.preventDefault = function()
            {
                this.returnValue = false;
            };
        }

        func.call(scope || window, e);
    };

    if (obj.attachEvent) 
    {
        obj.attachEvent('on' + type, handler);
    }
    else 
    {
        obj.addEventListener(type, handler, false);
    }
};

Can anyone help getting this fixed ?

I had to deal with the same issue, and the answer is confusing and counter intuitive. Well, it has its logic, but leads to non-trivial behaviours.

Essentially, when a node is removed from the DOM tree, it fires a blur event (and before a focusout event too).

So, when you call removeChild, the blur event is fired again, but this time textarea still has its parentNode defined, but textarea isn't among its parent's children anymore! (Yes, read this twice. Or more.)

This happens in Chrome for now, although Firefox has planned to do the same for quite some time.

As a workaround, you can remove the event listener you attached:

var onblur = function(e) {
    detachEvent(textarea, 'blur', onblur);
    textarea.parentNode.removeChild(textarea);
    removeClass(highlighterDiv, 'source');
};
attachEvent(textarea, 'blur', onblur);

I'm assuming that you have some detachEvent function to remove event listeners. Adjust the code to your needs.

Alternatively, you can set a flag (like a property, or an attribute, or better a scoped variable) on the textarea in the listener function, and check for it before proceeding with the node removal:

var removed = false;
attachEvent(textarea, 'blur', function(e) {
    if (removed) return;
    removed = true;
    textarea.parentNode.removeChild(textarea);
    removeClass(highlighterDiv, 'source');
});

You can also check if textarea if actually a child node of its parentNode before removing it, but such test is so counter-intuitive (at least to me) that I wouldn't recommend doing that, in fear that this behaviour will be changed in the future.

Finally, you can always rely on a try...catch statement, but... ugh.

2016 Update

Naturally, using a framework like jQuery would save you a lot of work attaching event listeners with one, but this functionality will come to standard addEventListener too:

textarea.addEventListener('blur', handler, { once: true });

Error fail to execute - Keil forum - Software Tools, i am getting an error message. "building up RAM assembling startup.s ---Error :​failed to execute 'c:\evalarm\arm\inc\ArmAsm' target not created ". i wish to know  Windows 10, python 3.7.2 Exe file has been created with pyinstaller --onefile main.py But I can't execute it and get the error: File "site-packages\urllib3\packages\six.py", line 316, in <module> File "site-packages\urllib3\packages\six.

While the classic answer for this question was that it's a bug in the JS code, with React 16 there is a major bug which means that any browser/extension mechanism which modifies the DOM breaks React.

Google Chrome's built in Translate functionality is the most common culprit.

GitHub issue: https://github.com/facebook/react/issues/11538

Minimal case: https://p93xxmr0rq.codesandbox.io/ (just manually right click "Translate to" in Chrome and select from Japanese then click the button)

Workaround: How to disable google translate from html in chrome

<meta name="google" content="notranslate">

Python pyinstaller failed to execute script error solve. Add image and , Python pyinstaller failed to execute script error solve. Add image and py to exe. 30K views. 133 Duration: 5:35 Posted: Jun 24, 2019 Correct the ArcGIS "Failed to execute" error message . In ArcGIS, you may see this error message in red text in the tool dialog box while you're using a geoprocessing

I'm going out on a limb here and assuming that some of you who find this question are here because you googled the error quoted above:

'removeChild' on 'Node': The node to be removed is no longer a child of this node. Perhaps it was moved in a 'blur' event handler?

I'm using jQuery & DataTables 1.10.6 and this error was indeed coming up on a blur() event where I was updating the cell value. The solution for me was to add a condition inside the event like this:

var blur = false;
$('table').on('blur', 'td select', function() {
    if (!blur) {
        blur = true;
        var cell = $(this).closest('td');
        table.cell(cell).data('example data');
        blur = false;
    }
});

I would be very surprised if there weren't a much better solution but hopefully this helps someone and maybe garners some constructive comments.

Failed to execute. Error 193: %1 is not a valid Win32 application , Failed to execute. Error 193: %1 is not a valid Win32 application. Dev c++ 2019 Updated. Xayn Duration: 1:31 Posted: Mar 22, 2018 Re: Failed to execute script message hello i am having the same issue as well, i noticed this is resolved if installed as Admin. Is there a way around this since i will be deploying to enterprise, thanks Josh

Try to translate your site with Google Chrome (right click on the site and choose "Translate to English". If you see the error happening in the console, then you know it's caused by Google Translate.

Related GitHub issue: https://github.com/facebook/react/issues/11538.


Workaround from Dan Abramov:

if (typeof Node === 'function' && Node.prototype) {
  const originalRemoveChild = Node.prototype.removeChild;
  Node.prototype.removeChild = function(child) {
    if (child.parentNode !== this) {
      if (console) {
        console.error('Cannot remove a child from a different parent', child, this);
      }
      return child;
    }
    return originalRemoveChild.apply(this, arguments);
  }

  const originalInsertBefore = Node.prototype.insertBefore;
  Node.prototype.insertBefore = function(newNode, referenceNode) {
    if (referenceNode && referenceNode.parentNode !== this) {
      if (console) {
        console.error('Cannot insert before a reference node from a different parent', referenceNode, this);
      }
      return newNode;
    }
    return originalInsertBefore.apply(this, arguments);
  }
}

Run this code before your app is rendered. Please keep in mind, that this has a slight performance hit.


Workaround from Shuhei Kagawa

Render texts in <span>.

// Case 1
<div>
  {condition && 'Welcome'}
  <span>Something</span>
</div>

// A workaround for case 1
<div>
  {condition && <span>Welcome</span>}
  <span>Something</span>
</div>

// Case 2
<div>
  {condition && <span>Something</span>}
  Welcome
</div>

// A workaround for case 2
<div>
  {condition && <span>Something</span>}
  <span>Welcome</span>
</div>

A detailed explanation can be found here: https://github.com/facebook/react/issues/11538#issuecomment-390386520

Backup and Sync fatal error: Failed to execute script main, I was able to install and run B&S on another work PC. So I assume the issue is not in the IT policies. Adding B&S to Eset exlusions didn't help  Add graphviz to the System Path: Windows - Edit the System Environment Variables. Choose Environment Variables. Select Path - New Add the Path of graphviz

Instead of textarea.parentNode.removeChild(textarea); You could use textarea.parentNode.innerHTML = '' or something similar, depending on your context.

Windows- Pyinstaller Error "failed to execute script " When App , Well I guess I have found the solution for my own question, here is how I did it: Eventhough I was being able to successfully run the program  You can refer to that post: Windows- Pyinstaller Error "failed to execute script " When App Clicked Actually the answer is that python doesn't compile the icon and so you need to manually transfert the icon in the folder containing the.exe.

Failed to Execute Script Error, We are trying to get it up and going, but every time we try to run the Dobot software, we get the “Failed to execute script DobotStudio”. Is there a  BatchPatch Error: -102 is one of the most common errors that users experience. In general, it indicates that the target computer had some type of problem connecting to the update server, which can be either your local WSUS (Windows Server Update Services) server or Microsoft’s public Windows Update or Microsoft Update server.

"Failed to execute script tool_01DIY85", 0).exe" tool. I've tried on 2 computers, both of them were fresh installs of windows 10 enterprise build 1903. Run as Admin: Same error  This is usually 0 or 1, but if the command split up (as perhaps with "/execute as @a -> execute") then success can be a number higher than 1. When executing it with the command block, the success count is returned to the command block, which can be checked by the conditional command block for success or be read with a redstone comparator.

Solved: fatal error : failed to execute script main, fatal error : failed to execute script main. This message appear when windows starts since a couple of month . I try to un install and re install . i 

Comments
  • what is textarea html ? if possible make a fiddle.
  • textarea = document.createElement('textarea') you can se it in the full source. You can try this demo netkoder.dk/netkoder/eksempler/eksempel0009.html but the error dont accure normally. I only get the error sometimes in my website log that logs javascript errors.
  • attachEvent? Where has that come from? Sorry, don't feel like wading through 4 script files to find it.
  • Its in the same file in the link above.
  • Maybe this is the sulution to test if the node exists before trying to remove it, can someone confirm that this will make the error message go away ? : if (textarea.parentNode) { textarea.parentNode.removeChild(textarea); }
  • Thanks. I dont understand but do you know how to change the code to avoid the error ?
  • @scootergrisen Yes, I edited my answer to include a couple of solutions.
  • Definitely use try...catch for crap like that.
  • Saved my ass, been debugging this for two hours already! Didn't know that blur was triggered...
  • @OCDev I understand the feeling, but semantically, a try...catch should be used for unpredicted behaviours that we don't want to break the code (or for, say, feature detection). As odd as it may sound, this is actually a documented, standard case.
  • I tried many solutions, and finally after reading your comment, I disabled google auto translate. And now the error is gone and no longer react crashes. Thanks.
  • Disable google translate might not be the best solution for your app from a UX perspective. However from a DX perspective it is a good solution. There is a work around other than disabling google translate completely github.com/facebook/react/issues/11538#issuecomment-390386520