Forum > Beginners

Fatal: Internal error 2012010601

(1/3) > >>

joho:
What does "Fatal: Internal error 2012010601" mean?


marcov:
Something heaptrc related (-gh)


--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---         if (cs_use_heaptrc in current_settings.globalswitches) and            (cs_checkpointer in current_settings.localswitches) and            not(cs_compilesystem in current_settings.moduleswitches) and            tpointerdef(left.resultdef).compatible_with_pointerdef_size(tpointerdef(voidpointertype)) and            not(nf_no_checkpointer in flags) and            { can be NR_NO in case of LOC_CONSTANT }            (location.reference.base<>NR_NO) then          begin            if not searchsym_in_named_module('HEAPTRC','CHECKPOINTER',sym,st) or               (sym.typ<>procsym) then              internalerror(2012010601);            pd:=tprocdef(tprocsym(sym).ProcdefList[0]);            paraloc1.init;            paramanager.getintparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1);            hlcg.a_loadaddr_ref_cgpara(current_asmdata.CurrAsmList,left.resultdef,location.reference,paraloc1);            paramanager.freecgpara(current_asmdata.CurrAsmList,paraloc1);            paraloc1.done;            hlcg.allocallcpuregisters(current_asmdata.CurrAsmList);            hlcg.a_call_name(current_asmdata.CurrAsmList,pd,'FPC_CHECKPOINTER',[@paraloc1],nil,false);            hlcg.deallocallcpuregisters(current_asmdata.CurrAsmList);            include(current_settings.moduleswitches,cs_checkpointer_called);          end;      end; 
So either checkpointer is not defined for the current architecture, or it is called on a symbol that is not a procedure?

joho:
Thanks!

Hmm ... I was getting it as some really weird places in the source, like:

function foo (parms) :boolean;
begin
  writeln ('Not implemented');
  abort;
end;

I'm wondering if that was actually the place it went tits up, or if the problem began much earlier (like pointer corruption or something). But just to be clear, I got this during compile time.

engkin:
LOL, do you have a unit named heaptrc?  ;-O
If yes, then please change its name. You confused the compiler. 

1st Edit:
To be precise, if you have {$CheckPointer on} and you use pointers and name one of your units heaptrc this will produce internal error 2012010601.

2nd Edit:
Sample project attached.

joho:

--- Quote from: engkin on September 26, 2017, 03:20:06 am ---LOL, do you have a unit named heaptrc?  ;-O
If yes, then please change its name. You confused the compiler. 

1st Edit:
To be precise, if you have {$CheckPointer on} and you use pointers and name one of your units heaptrc this will produce internal error 2012010601.

2nd Edit:
Sample project attached.

--- End quote ---

Uhm, no I do not have such a unit :) And it's "sort of" strange that it would always "crash" on that precise place (IMHO).

Navigation

[0] Message Index

[#] Next page

Go to full version