2
$\begingroup$

Few days ago, executing the command

Integrate[ UnitBox[(x + y)/eps - eps/3]/eps*UnitBox[(z + y)/eps]/eps*
UnitBox[(x + z)/eps]/eps, {x, -1, 1}, {y, -1, 1}, {z, -1, 1},
Assumptions -> eps > 0 && eps < 1/2]

, I obtained that communication

Mathematica has detected an internal error: iCopyExpr() called on symbol. Please report this error as soon as possible to support@wolfram.com giving as many details as possible of the circumstances under which it occurred.

enter image description here

I'd like to add that the command

Integrate[UnitBox[(x + y)/eps]/eps*UnitBox[(z + y)/eps]/eps* UnitBox[(x + z)/eps]/eps, {x, -1, 1}, {y, -1, 1}, {z, -1, 1}, Assumptions -> eps > 0 && eps < 1/2] results in 1/2 without any adventures and the command Integrate[ DiracDelta[x + y]*DiracDelta[y + z]*DiracDelta[x + z], {y, -1, 1}, {x, -1, 1}, {z, -1, 1}] returns the input.

Of course, a report was immediately sent by me. I am able to reproduce it on a fresh kernel just now. However, the questions remain open: what in general terms does this error mean? is it a feature of Windows 10 only?

$\endgroup$
15
  • 4
    $\begingroup$ It means what it says: there was an internal error. It's a bug. Report it to Wolfram. Nothing more can be said here. If you program in C and know what assert() is for, then it should be pretty clear. $\endgroup$
    – Szabolcs
    Mar 14, 2021 at 9:25
  • 4
    $\begingroup$ It is a common programming technique to include checks for conditions that the programmer knows should be true if everything works as expected. If the check fails, something is not working right. This is what happened here. The message is not intended to be understood by users like you and me. It is a debugging aid for the programmers who work on the Mathematica kernel. I hope this clears it up. $\endgroup$
    – Szabolcs
    Mar 14, 2021 at 9:30
  • 2
    $\begingroup$ In simpler terms, there are mechanism to detect bugs in Mathematica. This message means that such a bug was detected, and they're asking you to report it. The message is meant to be interpreted by the developers, not you or me. If I run this code on macOS (M 12.2.0), it just keeps running, and does not finish. I interrupted it after about one minute. $\endgroup$
    – Szabolcs
    Mar 14, 2021 at 10:20
  • 1
    $\begingroup$ (1) This is unlikely to be OS specific. (2) In general nature it is also unlikely to be version specific. That is to say, this type of issue might appear in many versions, although small code changes might make it more or less likely to manifest for this particular example. (3) If I can make it appear in a debugging kernel it will get fixed. $\endgroup$ Mar 14, 2021 at 14:55
  • 2
    $\begingroup$ (1) I had no success in reproducing this in either a debugging or a regular kernel. Try setting Internal`Integrate`debugSwitch=10 and rerunning. This will give a slew of printout. If it crashes, I'd want to see what is printed shortly before the crash. (2) I do not advertise this flag. Try not to make me regret having mentioned it. $\endgroup$ Mar 26, 2021 at 13:32

1 Answer 1

1
$\begingroup$

it seems to be fixed in 12.3.1. No internal error messages. On windows 10, from clean kernel:

enter image description here

Integrate[
 UnitBox[(x + y)/eps - eps/3]/eps*UnitBox[(z + y)/eps]/eps*
  UnitBox[(x + z)/eps]/eps, {x, -1, 1}, {y, -1, 1}, {z, -1, 1}, 
 Assumptions -> eps > 0 && eps < 1/2]

gives

1/2

edit

Info requested by comment:

AssociationMap[
 SystemInformation[#, "ReleaseID"] &, {"Kernel", "FrontEnd"}]

gives

<|"Kernel" -> "12.3.1.0 (7342483, 202106198367)", 
 "FrontEnd" -> "12.3.1.0 (7342483, 202106194031)"|>
$\endgroup$
8
  • $\begingroup$ Can you please provide the release id of your installation of 12.3.1 by running, AssociationMap[ SystemInformation[#, "ReleaseID"] &, {"Kernel", "FrontEnd"}]. $\endgroup$
    – user13892
    Jul 7, 2021 at 13:57
  • $\begingroup$ @user13892 fyi, added. $\endgroup$
    – Nasser
    Jul 7, 2021 at 14:00
  • $\begingroup$ In the front end when you press Ctrl+F to open the Find and Replace dialog box, does it render properly for you? $\endgroup$
    – user13892
    Jul 7, 2021 at 14:17
  • $\begingroup$ @user13892 Yes. Ctrl+F worked fine. got the dialog box and renders just fine. $\endgroup$
    – Nasser
    Jul 7, 2021 at 14:20
  • $\begingroup$ Sorry to bother you so much. Can you check what version of MXNet your 12.3.1 is using by running, Needs["MXNetLink`"]; GetMXNetVersion[]. I think I got some corrupted version of 12.3.1 with many bugs. $\endgroup$
    – user13892
    Jul 7, 2021 at 18:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.