Hello, I have had a quick look at gegl-demo. It looks good ;-), but I have found some bugs (well, I do not understand the details of gegl architecture very well, so may be they are features...)
- after modifying the region of interest in multi-gegl.c (line 89, e.g. to
(0,0,200,200) the program crashes. After a bit of hacking it seems to me that
the problem appears when there are nodes whose roi has zero dimensions. The
backtrace is attached. But I am not sure where should be handled the case
with zero roi...
- after modifying the roi only a little (e.g. to 10,10,550,420; so that there
is no node with zero roi), the program loops in gegl-node.c: at line 719, the
offsetx=tile_offset(-64,64)=64. Hence at line 828 tile_width-offsetx=0 :-(.
I changed the definition of REMAINDER to this:
#define REMAINDER(dividend, divisor) \
((((dividend)%(divisor) < 0) ? \
(divisor) - ((-(dividend)) % (divisor)) : \
((dividend) % (divisor))))
Is this the right fix?
Keep up good work :-)
Richard
babl-memory.c:145 babl_free()
memory not allocated by babl allocator
Using host libthread_db library "/lib/tls/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1209575200 (LWP 19165)]
0x46b1cace in waitpid () from /lib/tls/libc.so.6
#0 0x46b1cace in waitpid () from /lib/tls/libc.so.6
#1 0x46ac1dd9 in strtold_l () from /lib/tls/libc.so.6
#2 0x46cfa55d in system () from /lib/tls/libpthread.so.0
#3 0xb7f12533 in babl_backtrack () at babl-internal.c:68
#4 0xb7f12557 in babl_die () at babl-internal.c:74
#5 0xb7f1358f in babl_free (ptr=0x809a428) at babl-memory.c:145
#6 0xb7f0f872 in babl_fish_reference_process (babl=0x815bf08,
source=0x819c698, destination=0x809a218, n=64) at babl-fish-reference.c:336
#7 0xb7f0dd0c in babl_fish_process (babl=0x815bf08, source=0x819c698,
destination=0x809a218, n=64) at babl-fish.c:164
#8 0xb7f125fd in babl_process (babl=0x815bf08, source=0x819c698,
destination=0x809a218, n=64) at babl-internal.c:102
#9 0xb7f4ca06 in gegl_buffer_iterate_fmt (buffer=0x809f420, buf=0x8098db8,
write=0, format=0x8067930) at gegl-buffer.c:797
#10 0xb7f4ce16 in gegl_buffer_get_fmt (buffer=0x809f420, dst=0x8098db8,
format=0x8067930) at gegl-buffer.c:897
#11 0x08052ea7 in evaluate (operation=0x806b278, output_prop=0x806e0e0
"output") at ops/op_opacity.c:132
#12 0x0804d913 in evaluate (operation=0x806b278, output_prop=0x806e0e0
"output") at ops/op_composer.c:199
#13 0xb7f46268 in gegl_operation_evaluate (self=0x806b278, output_pad=0x806e0e0
"output") at gegl-operation.c:124
#14 0xb7f4188c in visit_pad (self=0x8076ca0, pad=0x8060280) at
gegl-eval-visitor.c:75
#15 0xb7f493bf in gegl_visitor_visit_pad (self=0x8076ca0, pad=0x8060280) at
gegl-visitor.c:435
#16 0xb7f47aef in visitable_accept (visitable=0x8060280, visitor=0x8076ca0) at
gegl-pad.c:292
#17 0xb7f484d6 in gegl_visitable_accept (interface=0x8060280,
visitor=0x8076ca0) at gegl-visitable.c:74
#18 0xb7f48eed in dfs_traverse (self=0x8076ca0, visitable=0x8060280) at
gegl-visitor.c:309
#19 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8060220) at
gegl-visitor.c:301
#20 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8060200) at
gegl-visitor.c:301
#21 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8060360) at
gegl-visitor.c:301
#22 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8060340) at
gegl-visitor.c:301
#23 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8060260) at
gegl-visitor.c:301
#24 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8060240) at
gegl-visitor.c:301
#25 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x80601c0) at
gegl-visitor.c:301
#26 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8060180) at
gegl-visitor.c:301
#27 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x80603a0) at
gegl-visitor.c:301
#28 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8060380) at
gegl-visitor.c:301
#29 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x80605a0) at
gegl-visitor.c:301
#30 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8060580) at
gegl-visitor.c:301
#31 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x80607a0) at
gegl-visitor.c:301
#32 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8060780) at
gegl-visitor.c:301
#33 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x80719a0) at
gegl-visitor.c:301
#34 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8071980) at
gegl-visitor.c:301
#35 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8071ba0) at
gegl-visitor.c:301
#36 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8071b80) at
gegl-visitor.c:301
#37 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8071da0) at
gegl-visitor.c:301
#38 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8071d80) at
gegl-visitor.c:301
#39 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x80749a0) at
gegl-visitor.c:301
#40 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8074980) at
gegl-visitor.c:301
#41 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8074ba0) at
gegl-visitor.c:301
#42 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8074b80) at
gegl-visitor.c:301
#43 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8074da0) at
gegl-visitor.c:301
#44 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x8074d80) at
gegl-visitor.c:301
#45 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x80600c0) at
gegl-visitor.c:301
#46 0xb7f48eac in dfs_traverse (self=0x8076ca0, visitable=0x80600e0) at
gegl-visitor.c:301
#47 0xb7f48d8c in gegl_visitor_dfs_traverse (self=0x8076ca0,
visitable=0x80600e0) at gegl-visitor.c:251
#48 0xb7f416c6 in gegl_eval_mgr_apply (self=0x8073450, root=0x806c818,
pad_name=0x805c7df "output") at gegl-eval-mgr.c:129
#49 0xb7f43ca4 in gegl_node_apply_roi (self=0x806c818,
output_pad_name=0x805c7df "output", roi=0xbfe549b0) at gegl-node.c:555
#50 0x0805a2e8 in main (argc=1, argv=0xbfe54a74) at multi-gegl.c:82
pgpwILaDxSSu0.pgp
Description: PGP signature
_______________________________________________ Gegl-developer mailing list [email protected] https://lists.XCF.Berkeley.EDU/mailman/listinfo/gegl-developer

