scottdraves / flam3

the original fractal flame renderer and genetic language
GNU General Public License v3.0
394 stars 73 forks source link

Crashing on Ubuntu 14.04, 'filter' address wiped out after pthread joins #2

Closed EReckase closed 9 years ago

EReckase commented 9 years ago

Compiling from source on Xubuntu 14.04, if -O3 is specified, code crashes with a segfault. Checking the address of the spatial filter storage before and after the pthread_join calls indicate that that address is changed from a valid location to 0x0. If all -O3 optimizations are used except -ftree-vectorize, code executes properly. -O2 works fine.

EReckase commented 9 years ago

Changed compiler options with latest checkin, removed compiler optimization flag that has an issue with something in our code. Regression test timing for a single thread in my VM is shown below. While many of the render times went down slightly, there was definitely an impact on some of the larger sized renders. Negative percentages mean that the -O2 code ran faster.

                       R  RefS  TriS    PrcD  ImgCompare
var00.flame          : Y     9     9   -4.1%  COMPARE OK
var01.flame          : Y    16    16   -2.9%  COMPARE OK
var02.flame          : Y    11    11    0.5%  COMPARE OK
var03.flame          : Y    18    19    6.3%  COMPARE OK
var04.flame          : Y    12    12    0.6%  COMPARE OK
var05.flame          : Y    17    18    7.3%  COMPARE OK
var06.flame          : Y    29    27   -5.9%  COMPARE OK
var07.flame          : Y    28    27   -5.4%  COMPARE OK
var08.flame          : Y    25    25   -0.3%  COMPARE OK
var09.flame          : Y    18    18   -0.1%  COMPARE OK
var10.flame          : Y    11    10   -4.8%  COMPARE OK
var11.flame          : Y    15    15   -3.5%  COMPARE OK
var12.flame          : Y    27    27   -0.8%  COMPARE OK
var13.flame          : Y    27    27   -0.4%  COMPARE OK
var14.flame          : Y    10    10    3.5%  COMPARE OK
var15.flame          : Y    21    21    0.6%  COMPARE OK
var16.flame          : Y    12    12   -4.2%  COMPARE OK
var17.flame          : Y    32    32    0.8%  COMPARE OK
var18.flame          : Y    20    20    1.0%  COMPARE OK
var19.flame          : Y    23    23    0.6%  COMPARE OK
var20.flame          : Y    26    25   -1.3%  COMPARE OK
var21.flame          : Y    13    13   -3.1%  COMPARE OK
var22.flame          : Y    27    27   -0.9%  COMPARE OK
var23.flame          : Y    23    23   -1.0%  COMPARE OK
var24.flame          : Y    24    24   -1.5%  COMPARE OK
var25.flame          : Y    28    28   -0.5%  COMPARE OK
var26.flame          : Y    14    14   -1.6%  COMPARE OK
var27.flame          : Y    13    13   -1.5%  COMPARE OK
var28.flame          : Y    11    11   -2.9%  COMPARE OK
var29.flame          : Y    13    12   -6.1%  COMPARE OK
var30.flame          : Y    13    11  -11.3%  COMPARE OK
var31.flame          : Y    22    21   -1.4%  COMPARE OK
var32.flame          : Y    37    38    1.9%  COMPARE OK
var33.flame          : Y    40    41    1.7%  COMPARE OK
var34.flame          : Y    23    23    0.2%  COMPARE OK
var35.flame          : Y    20    23   15.3%  COMPARE OK
var36.flame          : Y    31    29   -5.9%  COMPARE OK
var37.flame          : Y    21    21   -1.3%  COMPARE OK
var38.flame          : Y    33    32   -2.0%  COMPARE OK
var39.flame          : Y    12    11   -3.5%  COMPARE OK
var40.flame          : Y    11    11   -3.1%  COMPARE OK
var41.flame          : Y    13    14    4.8%  COMPARE OK
var42.flame          : Y    23    24    5.3%  COMPARE OK
var43.flame          : Y    13    14    4.5%  COMPARE OK
var44.flame          : Y    23    22   -0.4%  COMPARE OK
var45.flame          : Y    28    18  -35.5%  COMPARE OK
var46.flame          : Y    21    16  -19.7%  COMPARE OK
var47.flame          : Y    23    23    0.0%  COMPARE OK
var48.flame          : Y    12    11   -6.9%  COMPARE OK
var49.flame          : Y    16    16   -0.9%  COMPARE OK
var50.flame          : Y    60    60    0.3%  COMPARE OK
var51.flame          : Y    19    19    1.1%  COMPARE OK
var52.flame          : Y    14    14    1.5%  COMPARE OK
var53.flame          : Y    15    15    1.9%  COMPARE OK
big_est_rad.flame    : Y    64    62   -2.7%  COMPARE OK
120073.flame         : Y    80    80   -0.6%  COMPARE OK
26208.flame          : Y    59    59   -0.1%  COMPARE OK
242_2575.flame       : Y   236   253    7.3%  COMPARE OK
243_00210.flame      : Y   193   309   59.5%  COMPARE OK
243_00212.flame      : Y   124   206   65.4%  COMPARE OK
243_00313.flame      : Y   216   378   74.9%  COMPARE OK
243_00305.flame      : Y   269   297   10.6%  COMPARE OK
243_00336_edge.flame : Y   129   126   -2.0%  COMPARE OK
243_00358_edge.flame : Y   169   165   -2.5%  COMPARE OK
243_00604_edge.flame : Y    56    56   -0.7%  COMPARE OK
243_00447_edge.flame : Y    17    17    0.1%  COMPARE OK
243_2918_edge.flame  : Y    48    48    1.0%  COMPARE OK
121566_old.flame     : Y   180   176   -2.7%  COMPARE OK
202.13926.old.flame  : Y    37    35   -6.2%  COMPARE OK
198-22682-sing.flame : Y    45    46    2.1%  COMPARE OK
testseq:seq00000.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00020.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00040.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00060.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00080.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00100.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00120.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00140.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00160.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00180.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00200.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00220.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00240.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00260.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00280.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00300.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00320.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00340.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00360.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00380.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00400.png : Y  2321  2263   -2.5%  COMPARE OK
testseq:seq00420.png : Y  2321  2263   -2.5%  COMPARE OK
EReckase commented 9 years ago

Issue resolved with latest commit.

scottdraves commented 9 years ago

but shouldn't you undo that and apply that type fix instead?

On Sat, Apr 11, 2015 at 9:03 AM, Erik Reckase notifications@github.com wrote:

Issue resolved with latest commit.

— Reply to this email directly or view it on GitHub https://github.com/scottdraves/flam3/issues/2#issuecomment-91841048.

BeakerNotebook.com ScottDraves.com http://www.ScottDraves.com @Scott_Draves http://twitter.com/scott_draves

EReckase commented 9 years ago

The return value isn't used, NULL takes care of the problem.

On Sat, Apr 11, 2015 at 10:59 AM, Scott Draves notifications@github.com wrote:

but shouldn't you undo that and apply that type fix instead?

On Sat, Apr 11, 2015 at 9:03 AM, Erik Reckase notifications@github.com wrote:

Issue resolved with latest commit.

— Reply to this email directly or view it on GitHub https://github.com/scottdraves/flam3/issues/2#issuecomment-91841048.

BeakerNotebook.com ScottDraves.com http://www.ScottDraves.com @Scott_Draves http://twitter.com/scott_draves

— Reply to this email directly or view it on GitHub https://github.com/scottdraves/flam3/issues/2#issuecomment-91880921.