POV-Ray : Newsgroups : povray.beta-test : The return of the "Dangling pointer bug" ??? : The return of the "Dangling pointer bug" ??? Server Time
29 Jul 2024 12:26:43 EDT (-0400)
  The return of the "Dangling pointer bug" ???  
From: Tor Olav Kristensen
Date: 8 May 2002 21:45:21
Message: <3CD9D3E8.E12C98@hotmail.com>
I have had a sneaking suspicion that this "pet bug" of mine has not left
us completely yet:

* Macro bug (job000146)
  (POV can dereference a deallocated pointer if you return a local from a
  macro. Causes POV to crash.)
  Reported in:
"Known Bug" for Rune
http://news.povray.org/3BB4ED11.8EC69CEC@hotmail.com
strings operations crash with both compiles
http://news.povray.org/e3piut8anmf4cli4pnfmstadgc3nleqvb2@4ax.com


But in the last few betas it has surfaced so rarely that it has been
very difficult to chase it.

I'm running POV-Ray v3.5.beta.RC4.icl.win32 in Windows 98 on a 100 MHz
Pentium with 48 MB of RAM.


Here is the shortest code I could find that leads to this error message:
"The POV-Ray core rendering code caused an access violation exception."


#macro B(P, Q)
  #local G = dimension_size(P, 1);
  #local H = dimension_size(Q, 1);
  P
#end

#declare N = B(array[1] { 0 }, B(array[1] { 0 }, array[1] { 0 }))


I also found that another error message is triggered by some similar code:

#macro A()
  #local T = array[1] { 0 }
  T
#end

#macro B(P, Q)
  #local G = dimension_size(P, 1);
  #local H = dimension_size(Q, 1);
  A()
#end

#declare N = B(array[1] { 0 }, B(array[1] { 0 }, array[1] { 0 }))


Here's the error message:

  #local T = array[1] { 0 }

  T <----ERROR

Parse Error: Cannot pass uninitialized identifier as macro parameter.
Initialize identifier first.



Can anyone else confirm this ?


Tor Olav


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.