Projects Taking Forever to Stop

Hi Sven,

Thanks for your great work and continuous updates to all your software products.

However, I’m having this challenge when wanting to stop running Projects to either update the program or restart my server. It will say “stopping” and just remain there for the next hours.

The only option has been to use the exit button. However, when it closes this way, I have noticed that most verified links have not been saved. It starts re-verifying and then you have a lot lost verified links compared to what it had verified just before the forceful exit.

This is more concerning especially when you want to stop a single project from running and letting other run. The program simply tries ending threads that never seem to want to end.

How does one terminate current running threads? Because this seems to be the problem. Some thread just never seem to finish.

This is important because obviously it means that even when you assumed the program was running fine with all the threads you expected were working fine, some of them were just stuck and using up your system resource.

Thanks for your usual genius solutions.


Query taking extremely long to execute first time (Possibly due to Index Caching?)

I have a rather large table, ~ 3,5b rows and growing. For each row I have a specific ID which I wish to retrieve faster than currently. The current run-time is 5 minutes the first time I exectue the query, but instant for other queries subsequently. The table is approximately 603.628,430MB and the Index space takes up 406.398,570MB.

A sample row is:

documentID          pages   sort_id       word_bbox            page_bbox asfdfdddee23333rtfds    1   1        2030 12 2123 55      0 0 2479 3508 aavfcbu4lobfhlyguicl    1   2        2144 12 2157 45      0 0 2479 3508 

The query I wish to execute is:

SELECT p.documentID , p.pages , convert(integer, REPLACE(p.word_id, 'word_1_', '')) as sort_id , p.word , p.word_bbox , p.page_bbox FROM [MY].[DB].[DOCUMENTS] p with (NOLOCK)  where p.documentID = 'asfdfdddee23333rtfds' 

I suspect that the rather long execution time ~5 minutes is the read operations from the server?

I have created a clustered index on the documentID and a Non-clustered Index as well on the documentID as well (just as a test, I have no reason for this to work).

The execution plan is shown here:

execution plan

Execution plan XML:

Evaluation taking extremely long

I am trying to solve the following:

\[Beta] = ArcCos[((-2 a^2 b^2 c x + 2 b^2 c^3 x - 2 a^2 b^2 r x - 4 a^2 b c r x - 4 a b^2 c r x + 6 b^2 c^2 r x + 4 b c^3 r x - 4 a^2 b r^2 x - 4 a b^2 r^2 x - 2 a^2 c r^2 x - 8 a b c r^2 x + 4 b^2 c r^2 x + 12 b c^2 r^2 x + 2 c^3 r^2 x - 2 a^2 r^3 x - 8 a b r^3 x - 4 a c r^3 x + 8 b c r^3 x + 6 c^2 r^3 x - 4 a r^4 x + 4 c r^4 x - 4 a b^2 c x^2 - 4 a b^2 r x^2 - 8 a b c r x^2 - 4 b^2 c r x^2 - 8 a b r^2 x^2 - 4 b^2 r^2 x^2 - 4 a c r^2 x^2 - 8 b c r^2 x^2 - 4 a r^3 x^2 - 8 b r^3 x^2 - 4 c r^3 x^2 - 4 r^4 x^2 + \[Sqrt](-(c + r)^2 (a^2 - b^2 - 2 b r + 2 r x + 2 a (r + x) + 2 (b + r) x Cos[\[Alpha]])^2 Csc[\[Alpha]]^2 ((a - c) (b + r)^2 (a + c + 2 r) (a - c + 2 x) (a + c + 2 (r + x)) - 4 (b + r)^2 (c + r)^2 x^2 Cot[\[Alpha]]^2 - 4 (b + r) (c + r)^2 x (a^2 - b^2 - 2 b r + 2 r x + 2 a (r + x)) Cot[\[Alpha]] Csc[\[Alpha]] - (c + r)^2 (a^2 - b^2 - 2 b r + 2 r x + 2 a (r + x))^2 Csc[\[Alpha]]^2))) Sin[\[Alpha]]^2)/((c + r)^2 (a^4 + b^4 + 4 b^3 r + 4 b^2 r^2 - 4 b^2 r x - 8 b r^2 x + 4 b^2 x^2 + 8 b r x^2 + 8 r^2 x^2 + 4 a^3 (r + x) - 4 a (r + x) (b^2 + 2 b r - 2 r x) - 2 a^2 (b^2 + 2 b r - 2 (r^2 + 3 r x + x^2)) + 4 (b + r) x (a^2 - b^2 - 2 b r + 2 r x + 2 a (r + x)) Cos[\[Alpha]]))] Solve[\[Alpha] == ArcCos[((-2 a^2 b c^2 x + 2 b^3 c^2 x - 4 a^2 b c r x + 4 b^3 c r x - 2 a^2 c^2 r x - 4 a b c^2 r x + 6 b^2 c^2 r x - 2 a^2 b r^2 x + 2 b^3 r^2 x - 4 a^2 c r^2 x - 8 a b c r^2 x + 12 b^2 c r^2 x - 4 a c^2 r^2 x + 4 b c^2 r^2 x - 2 a^2 r^3 x - 4 a b r^3 x + 6 b^2 r^3 x - 8 a c r^3 x + 8 b c r^3 x - 4 a r^4 x + 4 b r^4 x - 4 a b c^2 x^2 - 8 a b c r x^2 - 4 a c^2 r x^2 - 4 b c^2 r x^2 - 4 a b r^2 x^2 - 8 a c r^2 x^2 - 8 b c r^2 x^2 - 4 c^2 r^2 x^2 - 4 a r^3 x^2 - 4 b r^3 x^2 - 8 c r^3 x^2 - 4 r^4 x^2 + \[Sqrt]((b + r)^2 (a^2 - c^2 - 2 c r + 2 r x + 2 a (r + x) + 2 (c + r) x Cos[\[Beta]])^2 Csc[\[Beta]]^2 (-((a -  b) (c + r)^2 (a + b + 2 r) (a - b + 2 x) (a + b +  2 (r + x))) + 4 (b + r)^2 (c + r)^2 x^2 Cot[\[Beta]]^2 + 4 (b + r)^2 (c + r) x (a^2 - c^2 - 2 c r + 2 r x +   2 a (r + x)) Cot[\[Beta]] Csc[\[Beta]] + (b + r)^2 (a^2 - c^2 - 2 c r + 2 r x + 2 a (r + x))^2 Csc[\[Beta]]^2))) Sin[\[Beta]]^2)/((b +  r)^2 (a^4 + c^4 + 4 c^3 r + 4 c^2 r^2 - 4 c^2 r x - 8 c r^2 x + 4 c^2 x^2 + 8 c r x^2 + 8 r^2 x^2 + 4 a^3 (r + x) - 4 a (r + x) (c^2 + 2 c r - 2 r x) - 2 a^2 (c^2 + 2 c r - 2 (r^2 + 3 r x + x^2)) + 4 (c + r) x (a^2 - c^2 - 2 c r + 2 r x + 2 a (r + x)) Cos[\[Beta]]))], \[Alpha]] 

I realise that these are complex expressions, and it makes sense that Wolfram Mathematica / my computer is having a hard time, but I need to know if I am going to wait a few more hours or a few more years.


Is there anyway I could get a ETA for when the evaluation will be done?

Do you have any suggestions to speed up the process?

Is there perhaps a strong VPS/ remote desktop service you can recommend that will be able to solve this faster?

I see Mathematica is only using 25% of my CPU, can i increase this?

How would taking an “X raised by Y” trait via the Adopted trait work?

Let’s say I’m a non Half-Orc and I use Adopted take Iron Control (Half-Orc raised by Humans).

Would I have to be adopted by Half-Orcs, get disowned or otherwise lose my Half-Orc parents, then get re-adopted by Humans? Would I have to find a Half-Orc orphan, learn their ways of rage, and then get adopted by Humans with the Half-Orc so they’d raise us the same? Could I just be born abnormally angry and the Humans who adopt me decide to raise me like they would a Half-Orc? God forbid anyone tries to trace my lineage.

How does moving silently with Greater Invisibility after taking an action work?

This question could be simplified with "How does moving silently away from enemy on same turn after casting Invisibility work", but I’ll present the full scenario in case it makes a difference:

A PC, who does not have special bonus actions, is under Greater Invisibility spell (or other equal effect) which allows actions without breaking invisiblity. At the start of their turn in combat, they are 10 ft (one empty 5 feet square between them on the grid) away from an enemy. They then move 5ft, uses their entire attack action to do a melee attack on the enemy (who does not go down). Then they tell the DM "I want to move back 5 feet, then use rest of my movement silently move away, so the enemy doesn’t know where I actually go."

What should DM respond, by the rules?

The PC can’t use hide action, or any action for that matter, because they already used their action to attack. Movement rules don’t have anything special about silent movement as far as I could find. But it also seems quite unreasonable and suspension-of-disbelief breaking to say "sorry, but you are utterly unable to move silently at this moment".

The reason the PC wants their location to not be known is to prevent the enemy from approaching to melee range and hitting them, in this case. The reason could also be the enemy using a spell like Moonbeam, or PC wanting the enemy to waste a blind ranged attack at PC’s (who could be in full cover now, even) last known location.

It’s of course easy to make a custom ruling here, involving some combination of PC Stealth, enemy Perception, and reduced movement rate, but I’m interested in what the rules say, including any language which supports handling this as part of a custom/improvised action, even though the PC doesn’t have an action to spare.

Can a half-elf taking Elf Atavism select a versatile heritage?

As title. Consider Halledon Felf, a half-elf. At first level, Hal takes Human ancestry, and selects Half-elf as a heritage. He then has an ancestry feat, which he uses to take Elf Atavism, allowing him to select an Elven heritage.

Leaving aside for a moment whether it benefits Hal to do so, can Hal select a versatile heritage, such as Aasimar or Tiefling, RAW?

How does one calculate effects of damage over time if one is taking a long rest?

In a particular adventure, the air in the lower levels is poisoned, causing 1d6 poison dmg every hour.

If a party take a long rest in such an environment, how do you calculate the cumulative effects of the poison air damage over time in combination with the restorative effects of the long rest?

PHB pg 186 At the end of a long rest, a character regains all hit points.

Does this mean, RAW, the characters take 8d6 damage during the long rest, but then ‘wake up’ at full HP? If after the nth hour, they drop to 0HP and start rolling Death Saves, if they save, and make it to 8hr, they wake up full HP?

Seems like it shouldn’t work that way but I can’t find any suggestion in the books it would be otherwise.

“Attack a target” vs taking the Attack action in regards to Hound of Ill Omen

I have a few questions regarding what falls under the category of "attacking [the Hound of Ill Omen’s] target" for the Shadow Sorcerer’s Hound of Ill Omen feature.

…On its turn, [the Hound of Ill Omen] can move only toward its target by the most direct route, and it can use its action only to attack its target." (XGE p. 51)

So the hound is limited to using its action to attack its target. But does "attacking its target" specifically mean taking the Attack action to make an attack roll, or are their other things that qualify as an attack?

For example, could the hound use the Attack action to attempt to shove or grapple a creature? Or, stretching it a bit further, could they take an action (that is not the Attack action) to attempt to damage their target; (for example using the special action granted by the Dragon’s Breath spell) or if attack were impossible given the hound and the target’s positions taking the Dash action to be able to make a future attack possible?

Furthermore, would a hound be free to use its bonus action however it wants? For example, if Expeditious Retreat were cast on the hound, could it use the Dash action as a bonus action even though it is not attacking the target?

Thank you in advance for any answers I might receive.

Why Mathematica is not producing output and taking too much time

I’m trying to solve the given system of ODES but the Mathematica is taking too much time and not producing any output. I was trying to check the error by evaluating one one command but there was no error in any command but the equations EOM2, and EOM3 was taking too much time when I was trying to evaluate the equations.

For simple case aa=0, code works, but when I take non-zero aa, it takes a long time and didn’t produce output.

Can anyone please guide me how can I fix this problem? Is there any command in Mathematica that can be used to obtain the fast output?

 R2[r_, \[Theta]_] := r^2 + aa^2 Cos[\[Theta]]^2;  TR[r_, \[Theta]_] := r^2 - 2 M r + aa^2;   gtt[r_, \[Theta]_] := -(1 - (2 M r)/R2[r, \[Theta]]);  gt\[Phi][r_, \[Theta]_] := -(( 2 r M aa Sin[\[Theta]]^2)/    R2[r, \[Theta]]); g\[Phi]\[Phi][   r_, \[Theta]_] := (r^2 +      aa^2 + (2  M r (aa^2) )/       R2[r, \[Theta]] Sin[\[Theta]]^2) Sin[\[Theta]]^2;  grr[r_, \[Theta]_] := R2[r, \[Theta]]/TR[r, \[Theta]];  g\[Theta]\[Theta][r_, \[Theta]_] := R2[r, \[Theta]];   gUtt[r_, \[Theta]_] := -(1/    TR[r, \[Theta]]) (r^2 +      aa^2 + (2  M r (aa^2) )/ R2[r, \[Theta]] Sin[\[Theta]]^2);  gUt\[Phi][r_, \[Theta]_] := -((2 M aa r)/(   TR[r, \[Theta]] R2[r, \[Theta]]));  gU\[Phi]\[Phi][r_, \[Theta]_] := (  TR[r, \[Theta]] - aa^2 Sin[\[Theta]]^2)/(  TR[r, \[Theta]] R2[r, \[Theta]] Sin[\[Theta]]^2);  gUrr[r_, \[Theta]_] := TR[r, \[Theta]]/R2[r, \[Theta]];  gU\[Theta]\[Theta][r_, \[Theta]_] := 1/R2[r, \[Theta]]; M = 1; n = 4; glo = FullSimplify[{ {gtt[r, \[Theta]], 0, 0,       gt\[Phi][r, \[Theta]]}, {0, grr[r, \[Theta]], 0, 0}, {0, 0,       g\[Theta]\[Theta][r, \[Theta]], 0}, {gt\[Phi][r, \[Theta]], 0, 0,       g\[Phi]\[Phi][r, \[Theta]]}}]; gup = FullSimplify[{ {gUtt[r, \[Theta]], 0, 0,       gUt\[Phi][r, \[Theta]]}, {0, gUrr[r, \[Theta]], 0, 0}, {0, 0,       gU\[Theta]\[Theta][r, \[Theta]], 0}, {gUt\[Phi][r, \[Theta]], 0,       0, gU\[Phi]\[Phi][r, \[Theta]]}}];   dglo = Simplify[Det[glo]];  crd = {t, r, \[Theta], \[Phi]};  Xup = {t[\[Tau]], r[\[Tau]], \[Theta][\[Tau]], \[Phi][\[Tau]]}; Vup = {Vt, Vr, V\[Theta], V\[Phi]}; Pup = {Pt[\[Tau]], Pr[\[Tau]], P\[Theta][\[Tau]], P\[Phi][\[Tau]]};  Sup = {{Stt[\[Tau]], Str[\[Tau]], St\[Theta][\[Tau]],      St\[Phi][\[Tau]]},     {Srt[\[Tau]], Srr[\[Tau]], Sr\[Theta][\[Tau]], Sr\[Phi][\[Tau]]},    {S\[Theta]t[\[Tau]], S\[Theta]r[\[Tau]], S\[Theta]\[Theta][\[Tau]],      S\[Theta]\[Phi][\[Tau]]},    {S\[Phi]t[\[Tau]], S\[Phi]r[\[Tau]], S\[Phi]\[Theta][\[Tau]],      S\[Phi]\[Phi][\[Tau]]}};   christoffel =    Table[(1/2)*     Sum[(gup[[i, s]])*(D[glo[[s, k]], crd[[j]] ] +          D[glo[[s, j]], crd[[k]] ] - D[glo[[j, k]], crd[[s]] ]), {s, 1,        n}], {i, 1, n}, {j, 1, n}, {k, 1, n}] ;   riemann =   Table[ D[christoffel[[i, j, l]], crd[[k]] ] -      D[christoffel[[i, j, k]], crd[[l]] ] +      Sum[christoffel[[s, j, l]] christoffel[[i, k, s]] -        christoffel[[s, j, k]] christoffel[[i, l, s]],      {s, 1, n}], {i, 1, n}, {j, 1, n}, {k, 1, n}, {l, 1, n}] ;   loriemann =    Table[Sum[glo[[i, m]]*riemann[[m, j, k, l]], {m, 1, n}], {i, 1,      n}, {j, 1, n}, {k, 1, n}, {l, 1, n}] ;   EOM1 = Table[ D[Xup[[a]], \[Tau]] == Vup[[a]] , {a, 1, n}];    EOM2 = Table[     D[Pup[[a]], \[Tau]] + \!\( \*UnderoverscriptBox[\(\[Sum]\), \(b = 1\), \(n\)]\( \*UnderoverscriptBox[\(\[Sum]\), \(c =           1\), \(n\)]christoffel[\([\)\(a, b, c\)\(]\)]*         Pup[\([\)\(b\)\(]\)]*Vup[\([\)\(c\)\(]\)]\)\) == -(1/2) \!\( \*UnderoverscriptBox[\(\[Sum]\), \(b = 1\), \(n\)]\( \*UnderoverscriptBox[\(\[Sum]\), \(c = 1\), \(n\)]\( \*UnderoverscriptBox[\(\[Sum]\), \(d = 1\), \(n\)]riemann[\([\)\(a,            b, c, d\)\(]\)]*Vup[\([\)\(b\)\(]\)]*          Sup[\([\)\(c, d\)\(]\)]\)\)\),    {a, 1, n}];  EOM3 = Table[     D[Sup[[a, b]], \[Tau]] + \!\( \*UnderoverscriptBox[\(\[Sum]\), \(c = 1\), \(n\)]\( \*UnderoverscriptBox[\(\[Sum]\), \(d =           1\), \(n\)]christoffel[\([\)\(a, c, d\)\(]\)]*         Sup[\([\)\(c, b\)\(]\)]*Vup[\([\)\(d\)\(]\)]\)\) + \!\( \*UnderoverscriptBox[\(\[Sum]\), \(c = 1\), \(n\)]\( \*UnderoverscriptBox[\(\[Sum]\), \(d =           1\), \(n\)]christoffel[\([\)\(b, c, d\)\(]\)]*         Sup[\([\)\(a, c\)\(]\)]*Vup[\([\)\(d\)\(]\)]\)\) ==      Pup[[a]]*Vup[[b]] - Pup[[b]]*Vup[[a]],    {a, 1, n}, {b, 1, n}];    Wfactor = 4*\[Mu]^2 + \!\( \*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(4\)]\( \*UnderoverscriptBox[\(\[Sum]\), \(j = 1\), \(4\)]\( \*UnderoverscriptBox[\(\[Sum]\), \(k = 1\), \(4\)]\( \*UnderoverscriptBox[\(\[Sum]\), \(l =           1\), \(4\)]\((loriemann[\([\)\(i, j, k,            l\)\(]\)]*\((Sup[\([\)\(i, j\)\(]\)])\)*\ \((Sup[\([\)\(k,             l\)\(]\)])\))\)\)\)\)\);  Wvec = Table[2/(\[Mu]*Wfactor)*(\!\( \*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(4\)]\( \*UnderoverscriptBox[\(\[Sum]\), \(k = 1\), \(4\)]\( \*UnderoverscriptBox[\(\[Sum]\), \(m = 1\), \(4\)]\( \*UnderoverscriptBox[\(\[Sum]\), \(l = 1\), \(4\)]Sup[\([\)\(j,             i\)\(]\)]*           Pup[\([\)\(k\)\(]\)]*\((loriemann[\([\)\(i, k, l,              m\)\(]\)])\)*\((Sup[\([\)\(l, m\)\(]\)])\)\)\)\)\)), {j,      1, n}];   NN = 1/Sqrt[1 - \!\( \*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(4\)]\( \*UnderoverscriptBox[\(\[Sum]\), \(k =         1\), \(4\)]\((glo[\([\)\(i, k\)\(]\)])\)*Wvec[\([\)\(i\)\(]\)]*       Wvec[\([\)\(k\)\(]\)]\)\)];   {Vt, Vr, V\[Theta], V\[Phi]} = NN (Wvec + Pup);  EOM = Flatten[    Join[{EOM1, EOM2, EOM3} /.          r -> r[\[Tau]] /. \[Theta] -> \[Theta][\[Tau]] /.        Derivative[1][r[\[Tau]]][\[Tau]] -> Derivative[1][r][\[Tau]] /.       Derivative[1][\[Theta][\[Tau]]][\[Tau]] ->        Derivative[1][\[Theta]][\[Tau]]]];  INT1 = {t[0] == 0,     r[0] == r0, \[Theta][0] == \[Theta]0, \[Phi][0] == 0}; INT2 = {Pt[0] == 1.32288, Pr[0] == 0, P\[Theta][0] == 0,     P\[Phi][0] == 0.07143}; INT3 = {{Stt[0] == 0, Str[0] == 0, St\[Theta][0] == 0,      St\[Phi][0] == 0},     {Srt[0] == 0, Srr[0] == 0, Sr\[Theta][0] == 0, Sr\[Phi][0] == 0},    {S\[Theta]t[0] == 0, S\[Theta]r[0] == 0, S\[Theta]\[Theta][0] == 0,      S\[Theta]\[Phi][0] == 0},    {S\[Phi]t[0] == 0, S\[Phi]r[0] == 0, S\[Phi]\[Theta][0] == 0,      S\[Phi]\[Phi][0] == 0}}; INT = Flatten[Join[{INT1, INT2, INT3}]]; r0 = 7; \[Theta]0 = Pi/2; \[Mu] = 1; aa = 0.5; M = 1;  NDSolve[Flatten[Join[{EOM, INT}]], {t, r, \[Theta], \[Phi], Pt, Pr,    P\[Theta], P\[Phi], Stt, Str, St\[Theta], St\[Phi], Srt, Srr,    Sr\[Theta], Sr\[Phi],   S\[Theta]t, S\[Theta]r, S\[Theta]\[Theta], S\[Theta]\[Phi],    S\[Phi]t, S\[Phi]r, S\[Phi]\[Theta], S\[Phi]\[Phi]}, {\[Tau], 0,    1000}] 

Is there any way to gain access to Evasion without taking multiple levels of a class?

So, I have a character with a really, really, really bonkers Reflex save. It wasn’t really the design plan, but a combination of class features, ancillary benefits from traits, and stats meant that I ended up with one.

Given that, Evasion would be a really great feature to have – better still, the Twist Away feat, which requires Evasion, would be incredible for this particular character, and thematically fitting.

Problem is, dipping 2 levels of Rogue (or another class) is a larger setback than I’d like.

So, is there any way to get Evasion through a feat or other means? I’m particularly interested in permanent methods, in order to qualify for other feats. One level dips are worth mentioning, but not ideal, and if it helps any, the character is Mythic, on the Trickster path, and can expect to get to Tier 10 ‘someday’ (but not anytime soon).

I’m interested in solutions that might apply for any race/class/level combination, as it seems a handy thing to pick up in a variety of circumstances – especially since Twist Away exists. That said, my particular circumstance is a Half Elf, Swash 1/Investigator 7 (the ACG versions).