Since the issue is potentially caused by one of the extensions:
Backup the project (aia) to your computer;
Delete 1 extension, save project, exit project;
Reload project, test for access to Blocks;
If no access, repeat 2 and 3 with the next extension, and so on.
Since a lot or all of your projects seem to be affected, is there an extension that you routinely use?
ABG
September 16, 2026, 5:17pm
23
I'm stumped.
You have an extension in Screen1, and Chatbot components in your other two screens.
I can support neither.
1 Like
Something went wrong with this project:
In version v3b fixed:
the tinydb and chatbot being inserted in a verticalscrollarrangement
set version of verticalscrollarrangement to 2
renamed a few labels that had invalid names ( having a minus sign after the underscore Label_-12345 )
This version loads but throws an error after a few seconds.
Blocks in pages Quiz and Diagnosis are a mess.
In version v3b2 substituted empy Quiz.bky and Diagnosis.bky, so no error is thrown
P.S.
Not sure how, but it happened also in my projects that blocks where incorrectly nested inside others
SkinScan_V3b.aia (533.0 KB)
SkinScan_V3b2.aia (529.2 KB)
ABG
September 16, 2026, 5:40pm
25
Yes, those looked suspiciously synthetic to me.
I can delete the extension TeachableMachineImageClassifier1 from the components list. However that does not allow the file to be saved thereafter, so unlikely to be the cause.
Good work davidefa.
We are looking for a common fault across all xinbinglim's projects.
Interestingly, he gets the 'internal error has occurred. Report a bug?' message with all projects, even a newly opened blank project.
So it is possibly something external, something attacking or testing app inventor itself. For example it could be an anti-virus app, or indeed a virus. It would be worth knowing if xinbinglim has recently installed a new program on his PC, or if anything has recently gone wrong with any other applications he is using.
There is also a possibility of file corruption over the internet, depending on locations, broadband and number of simultaneous broadband users in the xinbinglim household.
I know it's possible but I doubt anyone would apply such non-descript names to Label components.
Taking a look at the content of page Diagnosis.bky:
Summary
<xml
xmlns="https://developers.google.com/blockly/xml"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:ns2="https://appinventor.mit.edu/ns/project/">
<block type="lists_create_with" id="`ZmUv-_o.P^QPp]0|6w~" x="-270" y="-750">
<html:mutation items="1" />
<value name="ADD0">
<block type="dictionaries_lookup" id="erfotzYW6!:n/tL2D=o?">
<value name="KEY">
<block type="text" id="n%2iUBLMD?Z3Cb{KL`?M">
<field name="TEXT">Sickness</field>
</block>
</value>
<value name="DICT">
<block type="controls_getStartValue" id="vUUc%YQfH4E;_?qJp(=b" />
</value>
<value name="NOTFOUND">
<block type="text" id="z;FjBALy-0vYtI5SLxld">
<field name="TEXT" />
</block>
</value>
</block>
</value>
</block>
<block type="component_event" id="D3i;@H/o?/lBWf*jm!fp" x="-390" y="-630">
<html:mutation component_type="Form" is_generic="false" instance_name="Diagnosis" event_name="Initialize" />
<field name="COMPONENT_SELECTOR">Diagnosis</field>
<statement name="DO">
<block type="component_set_get" id="q7^XST`?kFpB]xt8@C@T">
<html:mutation component_type="Label" set_or_get="set" property_name="Text" is_generic="false" instance_name="Label2" />
<field name="COMPONENT_SELECTOR">Label2</field>
<field name="PROP">Text</field>
<value name="VALUE">
<block type="lists_select_item" id="PMbZr-WqaFC(J@tb)MT=">
<value name="LIST">
<block type="lists_sort_key" id="*#YbHc`$#gl6zYqNSV+k">
<field name="VAR">item</field>
<value name="LIST">
<block type="dictionaries_lookup" id="bA`FgXI.!2*_I2D`WW@N">
<value name="KEY">
<block type="text" id="FlPabpieTByUP5|jaoG3">
<field name="TEXT">Sickness</field>
</block>
</value>
<value name="DICT">
<block type="controls_getStartValue" id="I|hP|48dCA8Z0W9$CrSv" />
</value>
<value name="NOTFOUND">
<block type="text" id="avpsxamv5-=+l_-VMBiP">
<field name="TEXT" />
</block>
</value>
</block>
</value>
<value name="KEY">
<block type="math_subtract" id="9dU.CnJqK{wJkm*4y,KZ">
<value name="A">
<block type="math_number" id="WNi^8WQ9pKc)qw#_W)@B">
<field name="NUM">0</field>
</block>
</value>
<value name="B">
<block type="lists_select_item" id="Fi_#@sb0o1?9/MvmgKyv">
<value name="LIST">
<block type="lexical_variable_get" id="+Kxe/?Y[n[H_T^mc8VQ,">
<field name="VAR">item</field>
</block>
</value>
<value name="NUM">
<block type="math_number" id=".v+ZQz-VD!@-/=*s}Tfw">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="NUM">
<block type="math_number" id="8R0,RvFNO_`?_,-LGws%">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<next>
<block type="component_set_get" id="i{s,Ad87yflsAOSY,2)#" x="-210" y="-330">
<html:mutation component_type="Label" set_or_get="set" property_name="Text" is_generic="false" instance_name="Label4" />
<field name="COMPONENT_SELECTOR">Label4</field>
<field name="PROP">Text</field>
<value name="VALUE">
<block type="dictionaries_lookup" id=":yp_7KNj{_J$pQ;wgpfB">
<value name="KEY">
<block type="text" id="7S0H[#[OYja-1U+)!@QP">
<field name="TEXT">Severity</field>
</block>
</value>
<value name="DICT">
<block type="controls_getStartValue" id=")*zO(#/Tir`;=[QGP0`t" />
</value>
<value name="NOTFOUND">
<block type="text" id="E~;]89C+U?}Mz9pY4mqi">
<field name="TEXT" />
</block>
</value>
</block>
</value>
<next>
<block type="component_method" id="Bd#lQ$i$6$hU+WTfT?}2">
<html:mutation component_type="ChatBot" method_name="Converse" is_generic="false" instance_name="ChatBot1" />
<field name="COMPONENT_SELECTOR">ChatBot1</field>
<value name="ARG0">
<block type="text_join" id="=f#$56sbMj3IhzuCmS#E">
<html:mutation items="9" />
<value name="ADD0">
<block type="text" id="=12fE[[GP?=|7IXP,oK2">
<field name="TEXT">Determine the course of action with the following:</field>
</block>
</value>
<value name="ADD1">
<block type="text" id="+2BA-0oboAX7Ec{!jQ5$">
<field name="TEXT">Sickness: </field>
</block>
</value>
<value name="ADD2">
<block type="component_set_get" id="39@8EO#6(aH(^i}JZ;vp">
<html:mutation component_type="Label" set_or_get="get" property_name="Text" is_generic="false" instance_name="Label2" />
<field name="COMPONENT_SELECTOR">Label2</field>
<field name="PROP">Text</field>
</block>
</value>
<value name="ADD3">
<block type="text" id="7k2y?0.0LaB`nY7JF1R9">
<field name="TEXT">Severity: </field>
</block>
</value>
<value name="ADD4">
<block type="component_set_get" id="ZxWti}1;fPOAVi^,ugA2">
<html:mutation component_type="Label" set_or_get="get" property_name="Text" is_generic="false" instance_name="Label4" />
<field name="COMPONENT_SELECTOR">Label4</field>
<field name="PROP">Text</field>
</block>
</value>
<value name="ADD5">
<block type="text" id="tuvGQGY3sj.lrP/)s6?|">
<field name="TEXT">Answer in this format: 1)What should you do 2)Emergency level 3)Need appointment for Doctor or not?</field>
</block>
</value>
<value name="ADD6">
<block type="text" id="PH``gNESHo}mKF3L$ZP}">
<field name="TEXT">Be clear and use simple way to let the patient understand.</field>
</block>
</value>
<value name="ADD7">
<block type="text" id="^UB8IAkf^-Ss~1PCTSzP">
<field name="TEXT">Please don't use any formatting like "bold/italic"</field>
</block>
</value>
<value name="ADD8">
<block type="text" id="5SAZ#p.VMR=tDF{g;)6M">
<field name="TEXT">Please limit the response under 200 words</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="component_method" id=":iI~=#mxRza]0/j)4Qd$" x="670" y="-510">
<html:mutation component_type="TinyDB" method_name="GetValue" is_generic="false" instance_name="TinyDB1" />
<field name="COMPONENT_SELECTOR">TinyDB1</field>
<value name="ARG0">
<block type="text" id="9g(k@h;Y4/)_#6J%[)]5">
<field name="TEXT">Sickness</field>
</block>
</value>
<value name="ARG1">
<block type="text" id="=M|@GpAaBYRU)+zBb$Sp">
<field name="TEXT" />
</block>
</value>
</block>
<block type="component_method" id="Y1gsbO3Mi%(D7BWH|u?J" x="690" y="-430">
<html:mutation component_type="TinyDB" method_name="GetValue" is_generic="false" instance_name="TinyDB1" />
<field name="COMPONENT_SELECTOR">TinyDB1</field>
<value name="ARG0">
<block type="text" id="X^h!i]?#I=TlM,kXO^1X">
<field name="TEXT">Severity</field>
</block>
</value>
<value name="ARG1">
<block type="text" id="%p$(5qa!UJ|xk=*E;o[Y">
<field name="TEXT" />
</block>
</value>
</block>
<block type="text_join" id="$VcQI2V.v7k@M[hJ,*F=" x="870" y="-330">
<html:mutation items="2" />
</block>
<block type="component_event" id="da*8B6#M]{%!K)snl[]U" x="490" y="-290">
<html:mutation component_type="ChatBot" is_generic="false" instance_name="ChatBot1" event_name="GotResponse" />
<field name="COMPONENT_SELECTOR">ChatBot1</field>
<statement name="DO">
<block type="component_set_get" id="0ZCNni+;bLtg3N|lpe9t">
<html:mutation component_type="Label" set_or_get="set" property_name="Text" is_generic="false" instance_name="Label5" />
<field name="COMPONENT_SELECTOR">Label5</field>
<field name="PROP">Text</field>
<value name="VALUE">
<block type="lexical_variable_get" id="wtCkgmP4}/m(zHn.(;,@">
<html:mutation>
<html:eventparam name="responseText" />
</html:mutation>
<field name="VAR">responseText</field>
</block>
</value>
</block>
</statement>
</block>
<ns2:yacodeblocks ya-version="237" language-version="39" />
</xml>
This is the content of a page in which I added a variable initialization:
Summary
<xml
xmlns="https://developers.google.com/blockly/xml">
<block type="global_declaration" id="/$Oml8uxIEE(~c.L?@^O" x="-350" y="-115">
<field name="NAME">diagnosis</field>
<value name="VALUE">
<block type="lists_create_with" id="rP4VyO^E(rx}IfFo]6;x">
<mutation
xmlns="http://www.w3.org/1999/xhtml" items="0">
</mutation>
</block>
</value>
</block>
<yacodeblocks
xmlns="https://appinventor.mit.edu/ns/project/" ya-version="237" language-version="39">
</yacodeblocks>
</xml>
the startting xml is different:
<xml
xmlns="https://developers.google.com/blockly/xml"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:ns2="https://appinventor.mit.edu/ns/project/">
<xml
xmlns="https://developers.google.com/blockly/xml">
the “mutation” tags are different:
<html:mutation items="1" />
<mutation
xmlns="http://www.w3.org/1999/xhtml" items="0">
</mutation>
etc..
So wondering where does this .bky comes from ( is it an old format )?
ABG
September 16, 2026, 7:42pm
29
That browser extension for Chrome he was using: Scratch Extensions
is my likely suspect.
ABG
September 16, 2026, 7:47pm
30
Based on the fact that the OP is relying on Artificial Intelligence to both diagnose the skin images in his app and chat about them, I would not put it past him to have vibe generated his app somehow.
...Yet all of his projects, including one just opened and thus 'blank', have the same error pop-up. So it can't be App Inventor?
ABG
September 16, 2026, 9:33pm
32
True.
Creating a new Project in Firefox without any browser extensions sounds like the next step.
But when I ask my friend to open that project, same issue happened. He is using his own device.
I have downloaded Firefox just now and try to create a new project, but end up the same issue.
Close the firefox tab with the editor and reopen it with the “safe link”:
http://ai2a.appinventor.mit.edu/?autoload=false
Now try reimporting the corrected aia below
P.S.
use the “safe link” anytime the editor seems stuck
I reconstructed the blocks in page Diagnosis and Quiz “eyeballing” the code, so it is not the exact code you wrote
SkinScan_V3b3.aia (532.4 KB)
Anke
September 17, 2026, 8:22am
36
Connect the PC to a smartphone hotspot. If AI2 suddenly works via the hotspot, the issue is effectively narrowed down to: router / DNS / firewall / antivirus web filter / network, etc.
(And not the AI2 project, browser, or operating system).
I tried to connec to my phone hotspot but still remain the same issue.
Ok, are you able to create a new project?
Good. Something “screwed” your project ( not sure is the correct term ).
Where you working at the project and suddenly this happened?
Or where you doing anything unusual?