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)