# Why does this picture kills my pc? Bug or mistake?

When I start this I get pdflatex to use all the CPU without any result:

\documentclass[border=5]{standalone}
\usepackage{tikz}
\begin{document}
\def\b{2}
\def\h{2}
\begin{tikzpicture}
\pgfmathsetmacro\rx{\b/2}; %    rx = 1
\def\p{0.3};                %   p = 0.3
\pgfmathsetmacro\ry{\rx*\p};%   ry = 0.3
\pgfmathsetmacro\ta{90-atan2(\h,\ry)}; % ta = 8.www
\begin{scope}
\fill [gray!50]
(0, \h) --  (\ta:\rx+0 and \ry) arc (\ta:180-\ta:\rx+0 and \ry) -- cycle;
\node (\ta:\rx+0 and \ry){orco}
\fill [gray!75] (0,0) ellipse [x radius=\rx, y radius=\ry];
\draw [dashed] (\ta:\rx+0 and \ry) arc (\ta:180-\ta:\rx+0 and \ry);
\draw (0, \h) -- (\ta:\rx+0 and \ry) arc (\ta:-180-\ta:\rx+0 and \ry) -- cycle;
%\draw  [dotted] (\rx,0) -| (0, \h);
\end{scope}
\end{tikzpicture}
\end{document}

Apparently this is the problematic line:

\node (\ta:\rx+0 and \ry){orco}

Ending with ; solves the problem. Is it only my laptop (Debian 8) and shouldn't it show a warning?

• On my computer it reads \fill and asks me if I forgot a semicolon, as usual. – Symbol 1 Oct 1 '16 at 4:10
• A compilation with nonstopmode loops forever... – Paul Gaborit Oct 1 '16 at 8:57
• Off-topic: note that \def\singleletter is a very bad idea, especially when you do it globally. Either you haven't checked these macros are not already defined or checked but don't care that you are overwriting at least one of the three ... ;) – cfr Oct 1 '16 at 12:34
• @PaulGaborit Which is not unusual for PGF/TikZ errors .... At least, not unusual for my PGF/TikZ errors! – cfr Oct 1 '16 at 12:44

A compilation with nonstopmode loops forever... However, without it, it reads \fill and asks me if I forgot a semicolon.

This answer was made assembling two comments. It bothers me to keep unanswered questions around.