Howdy!
I've been kicking the tires, a bit, and wish that the internet hadn't gone AWOL at the CLEC, otherwise I could have gotten it up a little sooner... anyway, I've written down some observations. All were in lowmem mode. I *love* lowmem mode. I really like the progress in this app -- you're doing an excellent job. In this light, I'd like to give you some detailed items I ran into.
Animation tab:
clicked “record flight” then clicked “record keyframe”
error: “(mandelbulber:7874): Gtk-CRITICAL **: gtk_entry_get_text: assertion `GTK_IS_ENTRY (entry)' failed
”
Giant explosion #1:
Timeline:
clicked “record keyframe” while initial rendering
produced segfault [2]
2nd attempt to replicate the bug, loaded timeline and clicked “record keyframe” recorded keyframe successfully.
Keyframe image obscured by horizontal scroll bar and button sizes are very large, unlike the first time I tried. I loaded it, then clicked on “record keyframe” from animation tab; added successfully and an image was displayed for keyframe 1. The image was what keyframe 0 should have been, but keyframe 0 was blank.
Likewise, adding keyframe 3 from animation tab added successfully, but, again, displayed what should have been keyframe 2.
Recorded keyframe from timeline, then, which added successfully, but displayed keyframe 3 rather than 4.
I then alt-tabbed over to write down my observations and it crashed:
Rendering Screen Space Ambient Occlusion. Done 100%
*** glibc detected *** mandelbulber: corrupted double-linked list: 0x0a133488 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb748217f]
/lib/tls/i686/cmov/libc.so.6[0xb7483c8d]
/lib/tls/i686/cmov/libc.so.6(__libc_malloc+0x95)[0xb7485ac5]
/usr/local/lib/libglib-2.0.so.0(g_realloc+0x3a)[0xb779c97a]
/usr/local/lib/libpango-1.0.so.0(pango_glyph_string_set_size+0x4e)[0xb794c33e]
/usr/local/lib/pango/1.6.0/modules/pango-basic-fc.so[0xb6519e0e]
/usr/local/lib/libpango-1.0.so.0[0xb7952f9a]
/usr/local/lib/libpango-1.0.so.0(pango_shape+0x5a)[0xb79662fa]
/usr/local/lib/libpango-1.0.so.0[0xb79583a2]
/usr/local/lib/libpango-1.0.so.0[0xb7958df3]
/usr/local/lib/libpango-1.0.so.0[0xb795aba1]
/usr/local/lib/libpango-1.0.so.0[0xb795bd1b]
/usr/local/lib/libpango-1.0.so.0(pango_layout_get_pixel_extents+0x7e)[0xb795d9ae]
/usr/lib/libgtk-x11-2.0.so.0[0xb7cf93f5]
/usr/local/lib/libgobject-2.0.so.0(g_cclosure_marshal_VOID__BOXED+0x8c)[0xb786f05c]
/usr/local/lib/libgobject-2.0.so.0[0xb78607e9]
/usr/local/lib/libgobject-2.0.so.0(g_closure_invoke+0xd8)[0xb7861fe8]
/usr/local/lib/libgobject-2.0.so.0[0xb7877f42]
/usr/local/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x73c)[0xb7879dbc]
/usr/local/lib/libgobject-2.0.so.0(g_signal_emit_by_name+0x165)[0xb787a0b5]
/usr/lib/libgtk-x11-2.0.so.0[0xb7d2f036]
/usr/lib/libgtk-x11-2.0.so.0[0xb7d2f307]
/usr/lib/libgtk-x11-2.0.so.0(gtk_widget_size_request+0x7f)[0xb7de376f]
/usr/lib/libgtk-x11-2.0.so.0[0xb7bff1ec]
/usr/local/lib/libgobject-2.0.so.0(g_cclosure_marshal_VOID__BOXED+0x8c)[0xb786f05c]
/usr/local/lib/libgobject-2.0.so.0[0xb78607e9]
/usr/local/lib/libgobject-2.0.so.0(g_closure_invoke+0xd8)[0xb7861fe8]
/usr/local/lib/libgobject-2.0.so.0[0xb7877f42]
/usr/local/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x73c)[0xb7879dbc]
/usr/local/lib/libgobject-2.0.so.0(g_signal_emit_by_name+0x165)[0xb787a0b5]
/usr/lib/libgtk-x11-2.0.so.0[0xb7d2f036]
/usr/lib/libgtk-x11-2.0.so.0[0xb7d2f307]
/usr/lib/libgtk-x11-2.0.so.0(gtk_widget_size_request+0x7f)[0xb7de376f]
/usr/lib/libgtk-x11-2.0.so.0[0xb7decd9a]
/usr/local/lib/libgobject-2.0.so.0(g_cclosure_marshal_VOID__BOXED+0x8c)[0xb786f05c]
/usr/local/lib/libgobject-2.0.so.0[0xb78607e9]
/usr/local/lib/libgobject-2.0.so.0(g_closure_invoke+0x1ab)[0xb78620bb]
/usr/local/lib/libgobject-2.0.so.0[0xb7877f42]
/usr/local/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x73c)[0xb7879dbc]
/usr/local/lib/libgobject-2.0.so.0(g_signal_emit_by_name+0x165)[0xb787a0b5]
/usr/lib/libgtk-x11-2.0.so.0[0xb7d2f036]
/usr/lib/libgtk-x11-2.0.so.0[0xb7d2f307]
/usr/lib/libgtk-x11-2.0.so.0(gtk_widget_size_request+0x7f)[0xb7de376f]
/usr/lib/libgtk-x11-2.0.so.0[0xb7ded1a3]
/usr/lib/libgtk-x11-2.0.so.0[0xb7df5d03]
/usr/local/lib/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0x84)[0xb786f9f4]
/usr/local/lib/libgobject-2.0.so.0[0xb78607e9]
/usr/local/lib/libgobject-2.0.so.0(g_closure_invoke+0x1ab)[0xb78620bb]
/usr/local/lib/libgobject-2.0.so.0[0xb7878361]
/usr/local/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x73c)[0xb7879dbc]
/usr/local/lib/libgobject-2.0.so.0(g_signal_emit+0x26)[0xb787a266]
/usr/lib/libgtk-x11-2.0.so.0(gtk_container_check_resize+0x8a)[0xb7c3246a]
/usr/lib/libgtk-x11-2.0.so.0[0xb7c324c0]
/usr/lib/libgdk-x11-2.0.so.0[0xb7b138fb]
/usr/local/lib/libglib-2.0.so.0[0xb7791f61]
/usr/local/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1d5)[0xb7793f25]
/usr/local/lib/libglib-2.0.so.0[0xb7797bfb]
/usr/local/lib/libglib-2.0.so.0(g_main_context_iteration+0x68)[0xb7797e78]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main_iteration+0x34)[0xb7cbb634]
mandelbulber[0x804cddd]
mandelbulber[0x804fc21]
mandelbulber[0x8057fe7]
/usr/local/lib/libglib-2.0.so.0[0xb77946a6]
======= Memory map: ========
08048000-0808a000 r-xp 00000000 08:05 1066006 /usr/bin/mandelbulber
0808a000-0808b000 r--p 00041000 08:05 1066006 /usr/bin/mandelbulber
0808b000-0808c000 rw-p 00042000 08:05 1066006 /usr/bin/mandelbulber
0808c000-08099000 rw-p 0808c000 00:00 0
09f40000-0a35c000 rw-p 09f40000 00:00 0 [heap]
b03d7000-b03d8000 ---p b03d7000 00:00 0
b03d8000-b0bd8000 rw-p b03d8000 00:00 0
b12af000-b12b0000 ---p b12af
[2]- Aborted mandelbulber -lowmem
Initial startup, Animation tab:
nothing rendered yet; clicked “Record Keyframe”
(mandelbulber:8474): Gtk-CRITICAL **: gtk_entry_get_text: assertion `GTK_IS_ENTRY (entry)' failed
Segmentation fault
In loading app back up, started rendering a polynom^2 and loaded Timeline. The buttons were all shaped properly and the keyframe display was correct. It was loading previous keyframes from before the crash.
They were now displaying the correct image corresponding with the keyframes and deleted “old” keyframes properly.
When recording new keyframe 0, it added properly and displayed what should be there.
Clicked on render window to zoom in, then clicked on Timeline->record new while rendering was still completing.
Took a couple of seconds longer than the first time (presumably because it had to render the tiny version), and added correctly with proper corresponding image.
Clicked to zoom in, again, and allowed image to render completely.
Modified the palette, though it did not show up as updated in render window, but when recording keyframe from Timeline, it updated the palette.
After 5 total keyframes were recorded, went to Animation tab and selected “render from keyframes.”
It went right to it, starting with a Trigonometric, not Polynomial Power 2 as set in the keyframes.
Trig was selected in the main window after keyframe 1 was recorded, but subsequent zooms still kept to the Polynom^2, as originally selected. The palette was the one set in keyframe 5, as of first frame.
If you want a screenshot of the behavior, I dropped it on my server. Here's the link:
http://www.pmwdesigns.net/mandelbrot/screenshot.jpegHope this helps. I'll hopefully get more chance to run it through some paces later this week. Again, great program and keep up the good work!
Phil