Re: Re: Help with a possible bug
- To: mathgroup at smc.vnet.net
- Subject: [mg98983] Re: [mg98943] Re: Help with a possible bug
- From: peter <plindsay.0 at gmail.com>
- Date: Thu, 23 Apr 2009 06:43:01 -0400 (EDT)
- References: <gsivea$9bt$1@smc.vnet.net> <gsk2gp$nu3$1@smc.vnet.net>
"7.0 for Mac OS X x86 (32-bit) (February 18, 2009)" {691894176, 691894176, 691894176, 691894176, 691894176, 691894176, 691894176, \ 691894176, 691894176, 691894176, 691894176, 691894176, 691894176,\ 2009/4/22 Raffy <raffy at mac.com> > On Apr 21, 2:09 am, Bob F <deepyog... at gmail.com> wrote: > > On Apr 20, 5:11 pm, M8R-lj1... at mailinator.com wrote: > > > > > > > > > > > > > At work we seem to have stumbled on a strange bug between Table and > > > Part. We can reproduce the bug on differently configured Mac and > > > Linux boxes. I tried Wolfram support, but they claim they cannot > > > reproduce the bug. So I was hoping someone could try it out and > > > report their results. Thanks in advance to all volunteers. > > > > > For us, the bug is new in 7.0.1. It does not show up in version 6. > > > To reproduce it, fill up a 17 x 267 matrix with 3s. Compute the sum > > > of some of the columns and you get the result 51 (17 x 3). But if on= > e > > > computes the sum for the last few columns, the result is completely > > > off. The bug seems to arise from the interaction of optimizations = > i= > > n > > > Table and the use of All inside of Part. > > > > > ------------ code > > > > > mat = Table[3, {i, 1, 17}, {j, 1, 267}]; > > > > > sum = Table[Total[mat[[All, j]]], {j, 1, 249}] > > > > > sum1 = Table[Total[mat[[All, j]]], {j, 1, 252}]; > > > sum2 = Table[Total[mat[[All, j]]], {j, 1, 252}] > > > > > ------------ end code > > > > > If you look at sum1, it will be correct on a fresh copy of the > > > Kernel. The problem only arise from the second time on. > > > > > Thanks, > > > > > Papin > > > > > Email: ImportString["cGFwaW5AY294Lm5ldA==", "Base64"] > > > > How bizarre!! On my Mac with version 7.0.1 every sum for the last 18 > > columns is bogus, and it appears that the bogus values keep changing > > in some sort of random way. For example if you tried > > > > mat = Table[3, {i, 1, 17}, {j, 1, 267}]; > > Manipulate[ > > sum = Table[Total[mat[[All, jj]]], {jj, 1, mm}], {mm, 1, 267, 1}] > > > > everything is OK up thru 249th column (and even thru the 267th the > > first time on a fresh kernel just like you described), then as soon as > > you select any other of the 250th thru 267th columns - they total goes > > squirrely from then on for all subsequent TOTAL's that are calculated, > > and changes every time you look at any of the last 18 (even looking at > > the same column total the numbers are different, ie look at column > > 267, then 266, then 267 again and the numbers are different from the > > first time you looked), so there is apparently some sort of random > > gibberish it is picking up when the totals are calculated. > > > > Try sending Wolfram the Manipulate command and it's trivial to > > reproduce on a Mac -- make sure you stay on the phone with them while > > they try it on a Mac. > > > > To make it even more obvious, change the starting index on the > > Manipulate to 248 and start "playing" the manipulate and watch it go > > bonkers. The numbers seem to always be 9 digits and are between the > > upper 200 millions and the middle to upper 300 millions in magnitude, > > but didn't seem to get much different even after letting the > > Manipulate play for quite a while at the highest "speed". > > > > Let us know what they say. > > > > -Bob > > It is definitely a bug with auto-compilation. > > SetSystemOptions["CompileOptions" -> "TableCompileLength" -> Infinity] > will restore expected operation. > > -- Peter Lindsay