Hi,
now I've got two binaries: one crashes and one doesn't. Both are without the
fix, build with pristine 2.2.3 sources:
the not-crashing is build as RelWithDebInfo, the crashing as Release
Btw. the compiler is llvm:
# clang -v
FreeBSD clang version 3.9.1 (tags/RELEASE_391/final 289601) (based on LLVM
3.9.1)
> I'm hesitating to just implement this quick fix as the case of a path
> with zero nodes looks fishy. I'd like to understand better how this
> happens. Maybe you can help me in two aspects. First thing I would like
> to learn is what you exactly do in order to produce the crash (you will
> need to revert the changes).
To reproduce the crash:
1) start darktable (cli: darktable)
darktable opens with last visited directory in lighttable (where it
was last properly shut down)
2) double click a picture in 'lighttable' to open in 'darktable'
the picture is opened in darktable
3) click on 'correction group'
the correction group is expanded
4) click on 'spot removal'
spot removal is expanded
5) click on 'add path' in the 'spot removal' module
crash, core dump
That's the shortest way to reproduce it, but it ends with a crash if I try
to 'add path' in any other tool/mask.
>
> Then it would be great if you could go into path.c, early in function
> _path_find_self_intersection(). Just add print statements that show with
> what values for nb_corners and border_count this function gets called. Like:
>
> printf("nb_corners %d, border_count %d\n", nb_corners, border_count);
OK, the results:
* binary with the fix, Release build:
nb_corners 0, border_count 0
* binary without the fix, RelWithDebInfo build:
nb_corners 0, border_count 0
in both cases, if I click and define some points, the following output
lines show numbers > 0; but there is always the first line with both vars == 0.
Other build/fix combinations crash before any output.
kind regards
Michael Figiel
___________________________________________________________________________
darktable developer mailing list
to unsubscribe send a mail to [email protected]