Hi Jean-Pierre,
it seems to be crashing within the fltk library. Did you compile
fltk-1.3 yourself? If so, you could try whether tests/fonts from the
fltk tarball works on your system.
The output of
fc-list : family | cut -d ',' -f 2 | sort
would also be interesting.
Regards,
Johannes
On Sun, Apr 21, 2013 at 10:47:16PM +0200, Jean-Pierre Demailly wrote:
> Hi:
>
> I tried to use dillo3 on my linux/amd64 box, but did not succeed to start dillo as it segfaults immediately, even when not trying to load an html file. This occurred with dillo-3.0.2 /fltk-1.3.0, dillo-3.0.2 /fltk-1.3.2 and dillo-3.0.3 /fltk-1.3.2. Here is the output by valgrind. The problem seems to be related to loading fonts at start-up. The program does not even get to the point when it would try to open a window.
>
> Putting exit(0); before checkPreferredFonts(); in dillo.cc exits normally.
> Putting exit(0); after checkPreferredFonts(); in dillo.cc segfaults.
>
> Maybe dillo absolutely wants some fonts that I don't have. Which is strange because I really have all usual truetype fonts (and many more). Hope this helps !
>
> Best regards,
> Jean-Pierre Demailly
> ==8449== Memcheck, a memory error detector
> ==8449== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
> ==8449== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
> ==8449== Command: dillo
> ==8449==
> ==8449== Conditional jump or move depends on uninitialised value(s)
> ==8449== at 0x4017296: index (strchr.S:55)
> ==8449== by 0x4007702: expand_dynamic_string_token (dl-load.c:430)
> ==8449== by 0x4007FDF: _dl_map_object (dl-load.c:2502)
> ==8449== by 0x40018BD: map_doit (rtld.c:638)
> ==8449== by 0x400E225: _dl_catch_error (dl-error.c:177)
> ==8449== by 0x4000F1D: do_preload (rtld.c:827)
> ==8449== by 0x4004577: dl_main (rtld.c:1731)
> ==8449== by 0x40145C3: _dl_sysdep_start (dl-sysdep.c:242)
> ==8449== by 0x4004DF8: _dl_start (rtld.c:343)
> ==8449== by 0x40016E7: ??? (in /lib/x86_64-linux-gnu/ld-2.16.so)
> ==8449==
> ==8449== Conditional jump or move depends on uninitialised value(s)
> ==8449== at 0x401729B: index (strchr.S:58)
> ==8449== by 0x4007702: expand_dynamic_string_token (dl-load.c:430)
> ==8449== by 0x4007FDF: _dl_map_object (dl-load.c:2502)
> ==8449== by 0x40018BD: map_doit (rtld.c:638)
> ==8449== by 0x400E225: _dl_catch_error (dl-error.c:177)
> ==8449== by 0x4000F1D: do_preload (rtld.c:827)
> ==8449== by 0x4004577: dl_main (rtld.c:1731)
> ==8449== by 0x40145C3: _dl_sysdep_start (dl-sysdep.c:242)
> ==8449== by 0x4004DF8: _dl_start (rtld.c:343)
> ==8449== by 0x40016E7: ??? (in /lib/x86_64-linux-gnu/ld-2.16.so)
> ==8449==
> paths: Cannot open file '/home/demailly/.dillo/dillorc': No such file or directory
> paths: Using /usr/etc/dillo/dillorc
> prefs: Color 'bfdabf' not recognized.
> paths: Cannot open file '/home/demailly/.dillo/keysrc': No such file or directory
> paths: Using /usr/etc/dillo/keysrc
> paths: Cannot open file '/home/demailly/.dillo/domainrc': No such file or directory
> paths: Using /usr/etc/dillo/domainrc
> Domain: Default accept.
> dillo_dns_init: Here we go! (threaded)
> Disabling cookies.
> ==8449== Invalid read of size 1
> ==8449== at 0x53392A4: Fl::set_fonts(char const*) (in /usr/lib/x86_64-linux-gnu/libfltk.so.1.3)
> ==8449== by 0x455070: dw::fltk::FltkFont::initSystemFonts() (fltkplatform.cc:153)
> ==8449== by 0x455351: dw::fltk::FltkFont::fontExists(char const*) (fltkplatform.cc:188)
> ==8449== by 0x40ADA0: checkFont(char const*, char const*) (dillo.cc:227)
> ==8449== by 0x409F2C: main (dillo.cc:233)
> ==8449== Address 0x0 is not stack'd, malloc'd or (recently) free'd
> ==8449==
> ==8449==
> ==8449== Process terminating with default action of signal 11 (SIGSEGV)
> ==8449== Access not within mapped region at address 0x0
> ==8449== at 0x53392A4: Fl::set_fonts(char const*) (in /usr/lib/x86_64-linux-gnu/libfltk.so.1.3)
> ==8449== by 0x455070: dw::fltk::FltkFont::initSystemFonts() (fltkplatform.cc:153)
> ==8449== by 0x455351: dw::fltk::FltkFont::fontExists(char const*) (fltkplatform.cc:188)
> ==8449== by 0x40ADA0: checkFont(char const*, char const*) (dillo.cc:227)
> ==8449== by 0x409F2C: main (dillo.cc:233)
> ==8449== If you believe this happened as a result of a stack
> ==8449== overflow in your program's main thread (unlikely but
> ==8449== possible), you can try to increase the size of the
> ==8449== main thread stack using the --main-stacksize= flag.
> ==8449== The main thread stack size used in this run was 8388608.
> ==8449==
> ==8449== HEAP SUMMARY:
> ==8449== in use at exit: 898,434 bytes in 3,729 blocks
> ==8449== total heap usage: 22,900 allocs, 19,171 frees, 4,128,838 bytes allocated
> ==8449==
> ==8449== LEAK SUMMARY:
> ==8449== definitely lost: 9,256 bytes in 19 blocks
> ==8449== indirectly lost: 23,164 bytes in 483 blocks
> ==8449== possibly lost: 0 bytes in 0 blocks
> ==8449== still reachable: 866,014 bytes in 3,227 blocks
> ==8449== suppressed: 0 bytes in 0 blocks
> ==8449== Rerun with --leak-check=full to see details of leaked memory
> ==8449==
> ==8449== For counts of detected and suppressed errors, rerun with: -v
> ==8449== Use --track-origins=yes to see where uninitialised values come from
> ==8449== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 1 from 1)