Question: random error Error, (in Engine:-Dispatch) too many levels of recursion shows up from dsolve

it took a while to track this. When I run these 3 ode's in this sequence, Maple gives 

Error, (in Engine:-Dispatch) too many levels of recursion

and it has to be this sequence.  I also found I might have to run the code 2 or 3 times to get this error if it does not show first time. 

Will show a movie below also.

Here is the code

restart;
ode1:=cos(y(x)) - x*sin(y(x))*diff(y(x), x) = sec(x)^2:
ode2:=y(x)*sin(x/y(x)) + x*cos(x/y(x)) - 1 + (x*sin(x/y(x)) - x^2*cos(x/y(x))/y(x))*diff(y(x), x) = 0:
ode3:=x/(x^2 + y(x)^2) + y(x)/x^2 + (y(x)/(x^2 + y(x)^2) - 1/x)*diff(y(x), x) = 0:

func:=y(x);
the_ic:={};
the_time_limit:=60;

advisor:=timelimit(the_time_limit,DEtools:-odeadvisor(ode1)):
solution_by_CAS := timelimit(the_time_limit,:-dsolve([ode1,y(0)=0],func,singsol=all)):
result_of_ode_test := timelimit(the_time_limit,:-odetest~([solution_by_CAS],ode1)):

advisor:=timelimit(the_time_limit,DEtools:-odeadvisor(ode2)):
solution_by_CAS := timelimit(the_time_limit,:-dsolve([ode2,y(0)=0],func,singsol=all)):
result_of_ode_test := timelimit(the_time_limit,:-odetest~([solution_by_CAS],ode2)):

advisor:=timelimit(the_time_limit,DEtools:-odeadvisor(ode3)):
solution_by_CAS := timelimit(the_time_limit,:-dsolve([ode3,y(1)=0],func,singsol=all)):
result_of_ode_test := timelimit(the_time_limit,:-odetest~([solution_by_CAS],ode3));


And here is a movie (this time it happend on second run) sometimes it happens on first run. so it is random.

 

Maple 2020.1

Why does it happen and is there a work around?

Please Wait...