Created attachment 642108 [details] backtrace Description of problem: The new version of google-earth is crashing on startup, and further investigation reveals it is due to expat failing to parse /etc/fonts/conf.d/65-fonts-persian.conf. Removing that file makes google earth start properly. Version-Release number of selected component (if applicable): google-earth-stable-7.0.1.8244-0.x86_64 expat-2.1.0-1.fc17.i686 expat-2.1.0-1.fc17.x86_64 fontconfig-2.8.0-8.fc17.x86_64 fontconfig-2.8.0-8.fc17.i686 How reproducible: always Steps to Reproduce: 1. Install google-earth from http://www.google.com/earth/download/thanks.html#os=linux#linux_dl=rpm_64 2. Try to launch it Actual results: Program crashes on startup Expected results: It runs Additional info: To get useful gdb output, do the following: $ cd /opt/google/earth/free/ $ export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH $ gdb googleearth
i think you mean this commands $ cd /opt/google/earth/free/ $ export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH $ gdb googleearth-bin
Yeah, I made the same mistake on Fedora Forum. Sorry about that.
Can you: 1) attach the file /etc/fonts/conf.d/65-fonts-persian.conf on your system? 2) try running: export MALLOC_CHECK_=2 before executing google-earth, and capture a new backtrace.
Created attachment 674983 [details] stock persian.conf I'm on F-18 now, this is the new backtrace: (gdb) bt #0 poolGrow (pool=pool@entry=0x806f018) at lib/xmlparse.c:6215 #1 0x43321f34 in poolAppend (pool=pool@entry=0x806f018, enc=enc@entry=0xf554fc00, ptr=ptr@entry=0x8085c79 "family\">\n\t\t\t<string>serif</string>\n\t\t</test>\n\t\t<test name=\"weight\" compare=\"more_eq\">\n\t\t\t<int>200</int>\n\t\t</test>\n\t\t<test name=\"size\" compare=\"more_eq\">\n\t\t\t<double>24</double>\n\t\t</test>\n\t\t<edit name=\""..., end=end@entry=0x8085c7f "\">\n\t\t\t<string>serif</string>\n\t\t</test>\n\t\t<test name=\"weight\" compare=\"more_eq\">\n\t\t\t<int>200</int>\n\t\t</test>\n\t\t<test name=\"size\" compare=\"more_eq\">\n\t\t\t<double>24</double>\n\t\t</test>\n\t\t<edit name=\"family"...) at lib/xmlparse.c:6148 #2 0x43321f6d in poolStoreString (pool=pool@entry=0x806f018, enc=enc@entry=0xf554fc00, ptr=0x8085c79 "family\">\n\t\t\t<string>serif</string>\n\t\t</test>\n\t\t<test name=\"weight\" compare=\"more_eq\">\n\t\t\t<int>200</int>\n\t\t</test>\n\t\t<test name=\"size\" compare=\"more_eq\">\n\t\t\t<double>24</double>\n\t\t</test>\n\t\t<edit name=\""..., end=0x8085c7f "\">\n\t\t\t<string>serif</string>\n\t\t</test>\n\t\t<test name=\"weight\" compare=\"more_eq\">\n\t\t\t<int>200</int>\n\t\t</test>\n\t\t<test name=\"size\" compare=\"more_eq\">\n\t\t\t<double>24</double>\n\t\t</test>\n\t\t<edit name=\"family"...) at lib/xmlparse.c:6201 #3 0x43324981 in storeAtts (parser=parser@entry=0x806ee78, enc=enc@entry=0xf554fc00, attStr=0x8085c6d "<test name=\"family\">\n\t\t\t<string>serif</string>\n\t\t</test>\n\t\t<test name=\"weight\" compare=\"more_eq\">\n\t\t\t<int>200</int>\n\t\t</test>\n\t\t<test name=\"size\" compare=\"more_eq\">\n\t\t\t<double>24</double>\n\t\t</test>\n\t\t"..., tagNamePtr=tagNamePtr@entry=0x80803c4, bindingsPtr=bindingsPtr@entry=0x80803e4) at lib/xmlparse.c:2810 #4 0x4332576f in doContent (parser=parser@entry=0x806ee78, startTagLevel=startTagLevel@entry=0, enc=0xf554fc00, s=0x8085c6d "<test name=\"family\">\n\t\t\t<string>serif</string>\n\t\t</test>\n\t\t<test name=\"weight\" compare=\"more_eq\">\n\t\t\t<int>200</int>\n\t\t</test>\n\t\t<test name=\"size\" compare=\"more_eq\">\n\t\t\t<double>24</double>\n\t\t</test>\n\t\t"..., s@entry=0x80859a8 "<family>Koodak</family>\n\t\t\t<family>Terafik</family>\n\t\t</accept>\n\t</alias>\n\n\t<!-- Persian monospace fonts -->\n\t<alias>\n\t\t<family>monospace</family>\n\t\t<accept>\n\t\t\t<!-- Not really monospace -->\n\t\t\t<famil"..., end=end@entry=0x808612e "", nextPtr=nextPtr@entry=0x806ee90, haveMore=1 '\001') at lib/xmlparse.c:2439 #5 0x433268b3 in contentProcessor (parser=0x806ee78, start=0x80859a8 "<family>Koodak</family>\n\t\t\t<family>Terafik</family>\n\t\t</accept>\n\t</alias>\n\n\t<!-- Persian monospace fonts -->\n\t<alias>\n\t\t<family>monospace</family>\n\t\t<accept>\n\t\t\t<!-- Not really monospace -->\n\t\t\t<famil"..., end=0x808612e "", endPtr=0x806ee90) at lib/xmlparse.c:2105 #6 0x4332ac8f in XML_ParseBuffer (parser=parser@entry=0x806ee78, len=len@entry=1926, isFinal=isFinal@entry=0) at lib/xmlparse.c:1651 #7 0x432f82b1 in IA__FcConfigParseAndLoad (config=config@entry=0x80609b0, name=0x806e048 "/etc/fonts/conf.d/65-fonts-persian.conf", complain=complain@entry=0) at fcxml.c:2967 #8 0x432f85a9 in FcConfigParseAndLoadDir (complain=0, dir=0x8064d70 "/etc/fonts/conf.d", name=0xffffbacc "/etc/fonts/conf.d", config=0x80609b0) at fcxml.c:2832 #9 IA__FcConfigParseAndLoad (config=0x80609b0, name=name@entry=0xffffbacc "/etc/fonts/conf.d", complain=complain@entry=0) at fcxml.c:2903 #10 0x432f8a3e in FcParseInclude (parse=0xffffb9f0) at fcxml.c:2081 #11 FcEndElement (userData=0xffffb9f0, name=0x805f668 "include") at fcxml.c:2551 #12 0x43325a4e in doContent (parser=parser@entry=0x805fa48, startTagLevel=startTagLevel@entry=0, enc=0xf554fc00, s=0x8061a10 "</include>\n\n<!-- Font cache directory list -->\n\n\t<cachedir>/var/cache/fontconfig</cachedir>\n\t<cachedir prefix=\"xdg\">fontconfig</cachedir>\n\t<!-- the following element will be removed in the future -->\n"..., s@entry=0x80612a3 "<fontconfig>\n\n<!--\n\tDO NOT EDIT THIS FILE.\n\tIT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.\n\tLOCAL CHANGES BELONG IN 'local.conf'.\n\n\tThe intent of this standard configuration file is to be adequate fo"..., end=end@entry=0x80627ee "", nextPtr=nextPtr@entry=0x805fa60, haveMore=1 '\001') at lib/xmlparse.c:2532 #13 0x433268b3 in contentProcessor (parser=parser@entry=0x805fa48, start=start@entry=0x80612a3 "<fontconfig>\n\n<!--\n\tDO NOT EDIT THIS FILE.\n\tIT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.\n\tLOCAL CHANGES BELONG IN 'local.conf'.\n\n\tThe intent of this standard configuration file is to be adequate fo"..., end=end@entry=0x80627ee "", endPtr=endPtr@entry=0x805fa60) at lib/xmlparse.c:2105 #14 0x433284c8 in doProlog (parser=parser@entry=0x805fa48, enc=<optimized out>, s=0x80612a3 "<fontconfig>\n\n<!--\n\tDO NOT EDIT THIS FILE.\n\tIT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.\n\tLOCAL CHANGES BELONG IN 'local.conf'.\n\n\tThe intent of this standard configuration file is to be adequate fo"..., s@entry=0x8061220 "<?xml version=\"1.0\"?>\n<!DOCTYPE fontconfig SYSTEM \"fonts.dtd\">\n<!-- /etc/fonts/fonts.conf file to configure system font access -->\n<fontconfig>\n\n<!--\n\tDO NOT EDIT THIS FILE.\n\tIT WILL BE REPLACED WHEN "..., end=end@entry=0x80627ee "", tok=<optimized out>, next=0x80612a3 "<fontconfig>\n\n<!--\n\tDO NOT EDIT THIS FILE.\n\tIT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.\n\tLOCAL CHANGES BELONG IN 'local.conf'.\n\n\tThe intent of this standard configuration file is to be adequate fo"..., nextPtr=nextPtr@entry=0x805fa60, haveMore=1 '\001') at lib/xmlparse.c:4016 #15 0x43328c63 in prologProcessor (parser=0x805fa48, s=0x8061220 "<?xml version=\"1.0\"?>\n<!DOCTYPE fontconfig SYSTEM \"fonts.dtd\">\n<!-- /etc/fonts/fonts.conf file to configure system font access -->\n<fontconfig>\n\n<!--\n\tDO NOT EDIT THIS FILE.\n\tIT WILL BE REPLACED WHEN "..., end=0x80627ee "", nextPtr=0x805fa60) at lib/xmlparse.c:3739 #16 0x4332ac8f in XML_ParseBuffer (parser=parser@entry=0x805fa48, len=len@entry=5582, isFinal=isFinal@entry=0) at lib/xmlparse.c:1651 #17 0x432f82b1 in IA__FcConfigParseAndLoad (config=config@entry=0x80609b0, name=name@entry=0x0, complain=complain@entry=1) at fcxml.c:2967 #18 0x432eb2b7 in IA__FcInitLoadConfig () at fcinit.c:67 #19 0x432eb45a in IA__FcInitLoadConfigAndFonts () at fcinit.c:117 #20 0x432eb6ed in IA__FcInit () at fcinit.c:140 #21 0xf73c202f in qt_init(QApplicationPrivate*, int, _XDisplay*, unsigned long, unsigned long) () from ./libQtGui.so.4 #22 0xf733cb2a in QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) () from ./libQtGui.so.4 #23 0xf733da53 in QApplication::QApplication(int&, char**, int) () from ./libQtGui.so.4 #24 0xf7ef1e79 in earth::client::Application::Application(int&, char**) () from ./libgoogleearth_free.so #25 0xf7e5e7ff in ?? () from ./libgoogleearth_free.so #26 0xf7e5ebb9 in earthmain () from ./libgoogleearth_free.so #27 0x0804877b in ?? () #28 0x42aa5865 in __libc_start_main () from /lib/libc.so.6 #29 0x080486c1 in ?? ()
Well, it's a heap corruption bug. valgrind emits a couple of warnings before the crash inside expat. It's highly likely to be a bug outside expat. Please report it to Google.