4
$\begingroup$

Bug introduced in 10.4


I´m using a self written package with SortingUtilities when dealing with sorting algorithms. I use this package for more than a year or so. No I want to retrieve information on a certain function in this package via "??" and get an error message

Error retrieving information

The error occurs only on this one function in the package, all others do not show this behavior and work completely normal when retrieving information with "??". I looked a the code of the function in my package for a long time searching an error and do not see any. Here is the code to the package as a screenshot

Code under suspicion

Can anyone give me a hint what I did wrong? Sorry if it is obvious, but I do not see what is wrong here....

System: Mathematica 10.4,OS X 10.11.3

p.s.: I provide the code also as Mathematica-Code directly from my package.

storeSortingTime[dataset_Dataset, (* current Dataset of timing data *) 
sortingData_List,                 (* data to be stored format {{length , time}....} *)
label_String,                     (* name of the sorting algorithm  *)
machine_String,                   (* name of the machine on which the data was calculatd *)
file_String:"timing.m"]:=         (* file to which the new Dataset has to be stored *)
Module[{rules, dsTemp, dsNew, x, y},
 rules = sortingData /.{x_,y_}-> {"length"-> x,"time"-> y};
 rules = Append[#,"machine" -> machine]& /@ rules;
 dsTemp = Dataset@(Association@@@rules);
 dsTemp = Append[#,"algorithm" -> label] & /@ dsTemp;
 dsNew=Union[dataset,dsTemp];
 Export[file,dsNew];
 dsNew
]
$\endgroup$
  • $\begingroup$ This is very puzzling. It is also interesting to note that ?storeSortingTime barfs up the same errors, while Definition[storeSortingTime] works fine, although Definition should be explicitly equivalent to ?. On the other hand, Information returns the same result as ??, i.e. the errors seen above. $\endgroup$ – MarcoB Mar 16 '16 at 14:12
  • $\begingroup$ Have you recently upgraded to a newer version of MMA? $\endgroup$ – MarcoB Mar 16 '16 at 14:26
  • $\begingroup$ @MarcoB: Yes I did the latest update when 10.4 was available. I am currently on a business trip but at home I have also 10.3 and can try it out at the weekend. $\endgroup$ – mgamer Mar 16 '16 at 16:15
  • $\begingroup$ That would be great! I am very curious to see how far back this goes. $\endgroup$ – MarcoB Mar 16 '16 at 22:42
  • 4
    $\begingroup$ I think this is a duplicate of Dataset seems to break Information. $\endgroup$ – WReach Mar 17 '16 at 0:54
2
$\begingroup$

It seems to be a bug connected with the presence of a Dataset expression in your function. (I am on Mathematica v. 10.4 on Win7-64).

You can see the failure in a simpler example:

Clear[f]
f[a_] := Dataset@a

Definition of this function returns:

Definition[f]

Mathematica graphics

which looks weird to me: I would not have expected the Dataset to be evaluated to that graphical representation in the definition.

I would think that it is this attempt to create the graphical representation that is sending MMA into a tailspin here.

I would be interested in hearing if this behavior is new to v. 10.4 (I have just upgraded and don't have access to previous versions myself).

Using ?, Information, or ?? all return the same errors you see; for instance:

Mathematica graphics

$\endgroup$
  • $\begingroup$ This seems to be a good explanation, I have also seen the attempt of the system regarding the processing of an Image. I´m going to report that to WR, for the moment I´m pleased that it had not been an obvious mistake made by myself ;-) $\endgroup$ – mgamer Mar 16 '16 at 16:18
  • $\begingroup$ On 10.3, the Dataset[] does not evaluate with either Definition[] or Information[]. This might be a new bug indeed. $\endgroup$ – J. M. will be back soon Mar 16 '16 at 23:28
  • $\begingroup$ @J.M. Thanks for checking. Ilian added the bugs tag, so I'll go ahead and add a header indicating that the bug was probably introduced in 10.4. $\endgroup$ – MarcoB Mar 17 '16 at 0:00

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