POV-Ray : Newsgroups : povray.beta-test : Random crash in beta.4 Server Time
22 Dec 2024 09:24:06 EST (-0500)
  Random crash in beta.4 (Message 1 to 10 of 14)  
Goto Latest 10 Messages Next 4 Messages >>>
From: dick balaska
Subject: Random crash in beta.4
Date: 2 Apr 2017 02:50:34
Message: <58e09f3a$1@news.povray.org>
I had a random crash very early in the parse process in pvengine64 
official beta.4 (I know, I haven't updated yet).
It offered to explore the crash in vs15 which was neat, except I don't have
D:\Projekte\POV-Ray Build Stage\windows\vs2015\bin64\pvengine64.pdb
:) :(

-- 
dik


Post a reply to this message

From: dick balaska
Subject: Re: Random crash in beta.4
Date: 2 Apr 2017 03:30:22
Message: <58e0a88e$1@news.povray.org>
Am 2017-04-02 02:50, also sprach dick balaska:
> I had a random crash very early in the parse process in pvengine64
> official beta.4 (I know, I haven't updated yet).
> It offered to explore the crash in vs15 which was neat, except I don't have
> D:\Projekte\POV-Ray Build Stage\windows\vs2015\bin64\pvengine64.pdb
> :) :(
>

Bleh, not so random. I did something to crash quite regularly. And it's 
happening in povconsole64.beta.4 too.  I will update and chase. :(

Another stack thingy?

I'm trying to do 700 quick frames. Most scene features are turned off so 
I can check timings and positions of a new colefax spline move.

It did 2 frames and then:

==============================================================
@@begin
+++ F:0105  myclock=4.3411 clock=0.0750
F:0105  Camera= <488.99, 53.25, 151.06> Lookat= <485.90, 53.25, 162.65>
File '../haus/famroom.inc' line 179: Possible Parse Error: Unmatched {
File '../haus/famroom.inc' line 199: Parse Error: No matching }, camera
  identifier found instead
Fatal error in parser: Cannot parse input.
Render failed
==============================================================

So I start again at frame 105 and it does that one and dies on 106.
Lather, rinse, repeat.
Usually it silently fails. When it does say something, it is that odd 
camera in famroom. (Line 199 is a moderate macro that in this case is 
emitting a single tiny clear sphere at the origin to satisfy the 
enclosing union @ line 179.)

@@begin is the second line of code (after #version 3.7)
@@end is the last line of code

==============================================================

Parser Statistics
----------------------------------------------------------------------------
Finite Objects:         3833
Infinite Objects:         12
LighSegmentation fault
$ cat debug.out
@@begin

+++ F:0105  myclock=4.3411 clock=0.0750
F:0105 Camera: MoveStart: i=0.018
F:0105 Lookat: MoveStart: i=0.018
F:0105  Camera= <488.99, 53.25, 151.06> Lookat= <485.90, 53.25, 162.65>
@@end
@@begin

+++ F:0106  myclock=4.3828 clock=0.0758
F:0106 Camera: MoveStart: i=0.019
F:0106 Lookat: MoveStart: i=0.019
F:0106  Camera= <488.90, 53.25, 151.46> Lookat= <486.97, 53.25, 163.30>

==============================================================

The spline preview looks ok...
http://www.buckosoft.com/tteoac/video/frames/ttto0001.png

-- 
dik


Post a reply to this message

From: clipka
Subject: Re: Random crash in beta.4
Date: 2 Apr 2017 03:36:26
Message: <58e0a9fa@news.povray.org>
Am 02.04.2017 um 08:50 schrieb dick balaska:
> I had a random crash very early in the parse process in pvengine64
> official beta.4 (I know, I haven't updated yet).
> It offered to explore the crash in vs15 which was neat, except I don't have
> D:\Projekte\POV-Ray Build Stage\windows\vs2015\bin64\pvengine64.pdb
> :) :(

Were you able to reproduce the crash?

BTW, the offer to explore the crash in VS2015 (=vs14; or did you mean
VS2017 = vs15?) is a feature of the Visual Studio installation on your
computer, not a thing built into POV-Ray ;)

I didn't keep the .pdb generated along with the beta 4 binaries; but
just in case such things happen again, I might upload the next betas'
.pdb files on GitHub.


Post a reply to this message

From: clipka
Subject: Re: Random crash in beta.4
Date: 2 Apr 2017 03:42:43
Message: <58e0ab73$1@news.povray.org>
Am 02.04.2017 um 09:30 schrieb dick balaska:

> Bleh, not so random. I did something to crash quite regularly. And it's
> happening in povconsole64.beta.4 too.  I will update and chase. :(

You might try building a debug version and running that one from VS, so
you have a changce to see where it dies.

> Another stack thingy?

With stack overruns anything might happen. You could, just for giggles,
try increasing the stack, and see whether it crashes later. Or not at all.


Post a reply to this message

From: dick balaska
Subject: Re: Random crash in beta.4
Date: 3 Apr 2017 00:29:23
Message: <58e1cfa3$1@news.povray.org>
Am 2017-04-02 02:50, also sprach dick balaska:

> D:\Projekte\POV-Ray Build Stage\windows\vs2015\bin64\pvengine64.pdb


Here is the call stack of the crash for starters.

povconsole64d.exe!_free_dbg(void * block, int block_use) Line 1009	C++
[External Code]	
povconsole64d.exe!pov::Parser::Destroy_Ident_Data(void * Data, int Type) 
Line 9343	C++
povconsole64d.exe!pov::Parser::Test_Redefine(int Previous, int * 
NumberPtr, void * Data, bool allow_redefine) Line 9570	C++
povconsole64d.exe!pov::Parser::Parse_RValue(int Previous, int * 
NumberPtr, void * * DataPtr, pov::Sym_Table_Entry * sym, bool ParFlag, 
bool SemiFlag, bool is_local, bool allow_redefine, bool allowUndefined, 
int old_table_index) Line 9121	C++
povconsole64d.exe!pov::Parser::Parse_Declare(bool is_local, bool 
after_hash) Line 8804	C++
povconsole64d.exe!pov::Parser::Parse_Directive(int After_Hash) Line 2331	C++
povconsole64d.exe!pov::Parser::Get_Token() Line 458	C++
povconsole64d.exe!pov::Parser::Parse_Frame() Line 6809	C++
povconsole64d.exe!pov::Parser::Run() Line 220	C++
povconsole64d.exe!pov::Task::TaskThread(const boost::function0<void> & 
completion) Line 168	C++
povconsole64d.exe!boost::_mfi::mf1<void,pov::Task,boost::function0<void> 
const & __ptr64>::operator()(pov::Task * p, const boost::function0<void> 
& a1) Line 166	C++
povconsole64d.exe!boost::_bi::list2<boost::_bi::value<pov::Task * 
__ptr64>,boost::_bi::value<boost::function0<void> > 
 >::operator()<boost::_mfi::mf1<void,pov::Task,boost::function0<void> 
const & __ptr64>,boost::_bi::list0>(boost::_bi::type<void> __formal, 
boost::_mfi::mf1<void,pov::Task,boost::function0<void> const &> & f, 
boost::_bi::list0 & a, int __formal) Line 320	C++
povconsole64d.exe!boost::_bi::bind_t<void,boost::_mfi::mf1<void,pov::Task,boost::function0<void>

const & __ptr64>,boost::_bi::list2<boost::_bi::value<pov::Task * 
__ptr64>,boost::_bi::value<boost::function0<void> > > >::operator()() 
Line 1295	C++
povconsole64d.exe!boost::detail::thread_data<boost::_bi::bind_t<void,boost::_mfi::mf1<void,pov::Task,boost::function0<void>

const & __ptr64>,boost::_bi::list2<boost::_bi::value<pov::Task * 
__ptr64>,boost::_bi::value<boost::function0<void> > > > >::run() Line 
117	C++
povconsole64d.exe!boost::`anonymous 
namespace'::thread_start_function(void * param) Line 296	C++
povconsole64d.exe!invoke_thread_procedure(unsigned int(*)(void *) 
procedure, void * const context) Line 92	C++
povconsole64d.exe!thread_start<unsigned int (__cdecl*)(void * 
__ptr64)>(void * const parameter) Line 115	C++

-- 
dik


Post a reply to this message

From: dick balaska
Subject: Unix stack for crash in beta.5
Date: 6 Apr 2017 01:56:44
Message: <58e5d89c$1@news.povray.org>
The stack for this crash on the unix verison.

(gdb) r ttto.ini +sf100 +ef120
Starting program: /home/dick/povray/povray/unix/povray ttto.ini +sf100 
+ef120
...
Persistence of Vision(tm) Ray Tracer Version 3.7.1-beta.5.unofficial 
(g++ 5.4.0
  @ x86_64-pc-linux-gnu)
...

Thread 6 "povray" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffef967700 (LWP 6407)]
__GI___libc_free (mem=0x34) at malloc.c:2949
2949    malloc.c: No such file or directory.
(gdb) back
#0  __GI___libc_free (mem=0x34) at malloc.c:2949
#1  0x00000000005165ee in pov::Parser::Parse_RValue 
(this=this@entry=0x7fffe8004db0, Previous=Previous@entry=67, 
NumberPtr=NumberPtr@entry=0x7fffdc0ac480, 
DataPtr=DataPtr@entry=0x7fffdc0ac478,
     sym=sym@entry=0x0, ParFlag=ParFlag@entry=false, SemiFlag=true, 
is_local=true, allow_redefine=true, allowUndefined=true, 
old_table_index=100) at parser/parser.cpp:9315
#2  0x00000000005179b8 in pov::Parser::Parse_Declare 
(this=this@entry=0x7fffe8004db0, is_local=<optimized out>, 
after_hash=<optimized out>) at parser/parser.cpp:8804
#3  0x000000000061fa07 in pov::Parser::Parse_Directive 
(this=this@entry=0x7fffe8004db0, After_Hash=After_Hash@entry=1) at 
parser/parser_tokenizer.cpp:2330
#4  0x000000000061b1b3 in pov::Parser::Get_Token 
(this=this@entry=0x7fffe8004db0) at parser/parser_tokenizer.cpp:456
#5  0x0000000000620609 in pov::Parser::Get_Token 
(this=this@entry=0x7fffe8004db0) at parser/parser_tokenizer.cpp:323
#6  0x0000000000518978 in pov::Parser::Parse_Frame (this=0x7fffe8004db0) 
at parser/parser.cpp:6809
#7  0x0000000000519424 in pov::Parser::Run (this=0x7fffe8004db0) at 
parser/parser.cpp:217
#8  0x00000000004a54d5 in pov::Task::TaskThread (this=0x7fffe8004db0, 
completion=...) at backend/support/task.cpp:168
#9  0x00007ffff70ae5d5 in ?? () from 
/usr/lib/x86_64-linux-gnu/libboost_thread.so.1.58.0
#10 0x00007ffff63e26ba in start_thread (arg=0x7fffef967700) at 
pthread_create.c:333
#11 0x00007ffff611882d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:109
(gdb)


Post a reply to this message

From: dick balaska
Subject: Re: Unix stack for crash in beta.5
Date: 6 Apr 2017 03:39:04
Message: <58e5f098@news.povray.org>
Am 2017-04-06 01:56, also sprach dick balaska:

I found it.

#range (Start, End)
     #local V=
     #break

I tried this code, but it correctly gives me an "RValue expected"
#version 3.7;
#switch (1)
         #range (0,1)
         #local V=
         #break
#end

So, here's another uber-trimmed tteoac.
wget http://www.buckosoft.com/tteoac/video/ttcrash2.bz2
tar -xvjf ttcrash2.bz2
cd ttto
povray ttto.ini -sf100 -ef100

Note in ttto/direct.inc line 133
	#local _v=
If you comment that out, it doesn't crash
(It also won't render much, because everything is gone)

dik


Post a reply to this message

From: clipka
Subject: Re: Unix stack for crash in beta.5
Date: 6 Apr 2017 04:24:58
Message: <58e5fb5a$1@news.povray.org>
Am 06.04.2017 um 09:39 schrieb dick balaska:
> So, here's another uber-trimmed tteoac.

Whines about "beatdebug.inc" missing.


Post a reply to this message

From: dick balaska
Subject: Re: Unix stack for crash in beta.5
Date: 6 Apr 2017 04:31:41
Message: <58e5fced$1@news.povray.org>
Am 2017-04-06 04:24, also sprach clipka:
> Am 06.04.2017 um 09:39 schrieb dick balaska:
>> So, here's another uber-trimmed tteoac.
>
> Whines about "beatdebug.inc" missing.
>

with -sf100 -ef100?

-- 
dik


Post a reply to this message

From: dick balaska
Subject: Re: Unix stack for crash in beta.5
Date: 6 Apr 2017 04:44:06
Message: <58e5ffd6$1@news.povray.org>
Fixed cut/paste instructions (was a bad cd)

wget http://www.buckosoft.com/tteoac/video/ttcrash2.bz2
tar -xvjf ttcrash2.bz2
cd ttcrash2/ttto
povray ttto.ini -sf100 -ef100


My theory from the stack trace was that it gave up on a #declare's 
rvalue, and double freed it.  That seems to be likely.

This crash also is in 3.7.0, which is what runs when I paste the above 
into ubuntu.
-- 
dik


Post a reply to this message

Goto Latest 10 Messages Next 4 Messages >>>

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