BC4 not starting at all unter Kubuntu 12.04 (64 bit)

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • armakuni
    Enthusiast
    • Aug 2014
    • 37

    BC4 not starting at all unter Kubuntu 12.04 (64 bit)

    Hi folks,

    Some time ago I installed BC3 under Kubuntu 12.04 (64 bit). It didn't worked. Sometimes there was a "Runtime error 230", but actually there is only a "Segmentation fault (core dumped)" error.

    On July, 29 I replied on a mail from Scooter Software:

    Hi Matth,

    I followed your guide and removed BC3 and installed BC4.0.0.18629. I used the AMD64 DEB package. After this, I removed my .config/bcompare directory and tried to start bcompare.

    Now I simply get this output "Segmentation fault (core dumped)". This time no window is opening with a crash report or something similar. I managed to
    retrieve the crash log created by Ubuntu/KDE itself and attached it.

    I hope this log can help you to find out the cause of this problem.
    Actually I am waiting for a possible solution from Scooter Software support.

    On a other machine a test version of BC3 works without any problems. I don't know the cause, but it's under the same OS as my notebook, were BC doesn't work.

    Before I got the hint to try BC4 I had the same issue with BC3.

    Today I found out, that BC4 runs without any problems if I execute it as root!

    In my intended cases of using BC it would be no problem for me to execute it as root, but nevertheless I'm curious about what causes the problems.

    I hope someone can give me some hints where to search for the cause.

    Thanks in advance!
  • Aaron
    Team Scooter
    • Oct 2007
    • 15997

    #2
    Hello,

    Needing to be root almost sounds like we are having trouble creating or accessing the settings directory, which is normally created in your own user account's .config/beyondcompare directory (with a few BCSetting.xmls inside).

    How did you run the .deb installer?

    If you manually create a .beyondcompare/ directory in your user's home directory, does this help?

    Despite the fact you are running an older 12.04 OS, with the recent patches you should be using the i386.deb installer. BC3/4 are 32bit applications, regardless of the installer used. On older, legacy Linux 64bit systems, the package had to be named for amd64 and included a couple extra tricks to get the right-click Scripts to work.
    Aaron P Scooter Software

    Comment

    • armakuni
      Enthusiast
      • Aug 2014
      • 37

      #3
      Hi Aaron,

      thanks for your reply and for your mail. I think it's better to continue this thread here in the forum, maybe other users can give hints for solving this.

      I doubt it would help to create the settings directory manually because it is always created as I try to run bcompare.

      If there is a ~/.beyondcompare/ it will be used, otherwise bcompare creates a ~/.local/bcompare/ directory. Nevertheless, in every case bcompare crashes. Even if these directories already exist (with or without files within), bcompare crashes.

      I ran the .deb installer from Dolphin, the file manager. It asks for sudo password and installs without any error. It's the same way as if I would invoke "dpkg -i".

      On every attempt bcompare quits with a "Segmentation fault (core dumped)". I started bcompare on a terminal to see this message. Via mail I provided already a crash log for this.

      I tried this today with your latest BC4 beta version with the i386 .deb package.

      Does bcompare contain some kind of logging function, like "bcompare -v" for more output or something similar?

      Comment

      • Aaron
        Team Scooter
        • Oct 2007
        • 15997

        #4
        Hello,

        I setup a new test environment that is Kubuntu 12.04 with all updates, and installed BC4's latest beta release.

        First thing, sorry, but while Ubuntu 12.04 works with the 32bit package, I found this did not work out of the box with Kubuntu. The same system updates are probably not in place, and it is probably easier to use the 64bit.deb installer on this legacy system.

        A fresh install seems to work, and notably creates a ~/.config/bcompare folder in my User's directory with the setting files (BCState.xml, etc). This isn't .local like you are seeing? Do you know why this might be? My .local directory does not contain the BC settings.
        Aaron P Scooter Software

        Comment

        • armakuni
          Enthusiast
          • Aug 2014
          • 37

          #5
          Originally posted by Aaron
          Hello,
          A fresh install seems to work, and notably creates a ~/.config/bcompare folder in my User's directory with the setting files (BCState.xml, etc). This isn't .local like you are seeing? Do you know why this might be? My .local directory does not contain the BC settings.
          Sorry, it's my fault. I wrote .local/, but it's in .config/.

          Comment

          • Aaron
            Team Scooter
            • Oct 2007
            • 15997

            #6
            Running as root is a good clue that somewhere user permissions aren't configured quite right. Could you verify that the files in /usr/lib/beyondcompare are executable by your user?

            Could you also use "ldd /usr/lib/beyondcompare/BCompare" to find the linked libraries, and verify they are also accessible by your user?
            Aaron P Scooter Software

            Comment

            • armakuni
              Enthusiast
              • Aug 2014
              • 37

              #7
              Every file in /usr/lib/beyondcompare is executable, except for the ASCII kind of files.

              I did the "ldd" command as asked, with "export LD_LIBRARY_PATH=/usr/lib/beyondcompare/" before to get all files. Additionally, I "ldd" every file given from BCompare and tested them all for accessibility.

              It's all green here.

              Comment

              • Aaron
                Team Scooter
                • Oct 2007
                • 15997

                #8
                Hmm, since the program runs as root, there must be some system level configuration that is causing the problem.

                How about your environment? Running "env" between your user and root, are there any noticeable differences?

                If you need help reviewing, you can email in private logs to [email protected], with a link back to the forum thread and a brief description in the email.
                Aaron P Scooter Software

                Comment

                • armakuni
                  Enthusiast
                  • Aug 2014
                  • 37

                  #9
                  Originally posted by Aaron
                  How about your environment? Running "env" between your user and root, are there any noticeable differences?
                  This is env from root:

                  Code:
                  DISPLAY=:0
                  HOME=/home/thomas
                  LANG=de_DE.UTF-8
                  LANGUAGE=
                  LOGNAME=root
                  LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
                  MAIL=/var/mail/root
                  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                  SHELL=/bin/bash
                  SUDO_COMMAND=/usr/bin/env
                  SUDO_GID=1000
                  SUDO_UID=1000
                  SUDO_USER=thomas
                  TERM=xterm
                  USERNAME=root
                  USER=root
                  And this is my env:
                  Code:
                  COLORFGBG=15;0
                  CUR_WIDTH=0
                  DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-SB7AmvnvGg,guid=5757cb753b81755271816bd40000a408
                  DEFAULTS_PATH=/usr/share/gconf/default.default.path
                  DESKTOP_SESSION=default
                  DISPLAY=:0
                  DM_CONTROL=/var/run/xdmctl
                  GPG_AGENT_INFO=/tmp/gpg-8T0zrp/S.gpg-agent:16272:1
                  GS_LIB=/home/thomas/.fonts
                  GTK2_RC_FILES=/home/thomas/.gtkrc-2.0-kde4
                  HOME=/home/thomas
                  INFINALITY_FT_AUTOHINT_HORIZONTAL_STEM_DARKEN_STRENGTH=10
                  INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS=true
                  INFINALITY_FT_AUTOHINT_SNAP_STEM_HEIGHT=100
                  INFINALITY_FT_AUTOHINT_VERTICAL_STEM_DARKEN_STRENGTH=25
                  INFINALITY_FT_BOLD_EMBOLDEN_X_VALUE=0
                  INFINALITY_FT_BOLD_EMBOLDEN_Y_VALUE=0
                  INFINALITY_FT_BRIGHTNESS=0
                  INFINALITY_FT_CHROMEOS_STYLE_SHARPENING_STRENGTH=0
                  INFINALITY_FT_CONTRAST=0
                  INFINALITY_FT_FILTER_PARAMS=11 22 38 22 11
                  INFINALITY_FT_FRINGE_FILTER_STRENGTH=0
                  INFINALITY_FT_GAMMA_CORRECTION=0 100
                  INFINALITY_FT_GLOBAL_EMBOLDEN_X_VALUE=0
                  INFINALITY_FT_GLOBAL_EMBOLDEN_Y_VALUE=0
                  INFINALITY_FT_GRAYSCALE_FILTER_STRENGTH=0
                  INFINALITY_FT_STEM_ALIGNMENT_STRENGTH=25
                  INFINALITY_FT_STEM_FITTING_STRENGTH=25
                  INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE=40
                  INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS=true
                  INFINALITY_FT_USE_VARIOUS_TWEAKS=true
                  INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH=5
                  KDED_STARTED_BY_KDEINIT=1
                  KDE_FULL_SESSION=true
                  KDE_SESSION_UID=1000
                  KDE_SESSION_VERSION=4
                  KONSOLE_DBUS_SERVICE=:1.623
                  KONSOLE_DBUS_SESSION=/Sessions/1
                  KONSOLE_DBUS_WINDOW=/Windows/1
                  KONSOLE_PROFILE_NAME=Shell
                  LANG=de_DE.UTF-8
                  LANGUAGE=
                  LESSCLOSE=/usr/bin/lesspipe %s %s
                  LESSOPEN=| /usr/bin/lesspipe %s
                  LOGNAME=thomas
                  LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
                  MANDATORY_PATH=/usr/share/gconf/default.mandatory.path
                  OLDPWD=/home/thomas/tmp
                  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
                  PROFILEHOME=/home/thomas/
                  PWD=/home/thomas/tmp/env-vergleich-bc
                  QT_PLUGIN_PATH=/home/thomas/.kde/lib/kde4/plugins/:/usr/lib/kde4/plugins/
                  SESSION_MANAGER=local/prometheus:@/tmp/.ICE-unix/16352,unix/prometheus:/tmp/.ICE-unix/16352
                  SHELL=/bin/bash
                  SHELL_SESSION_ID=984f2c1e846d40009cb39dbcb248a3a6
                  SHLVL=1
                  SSH_AGENT_PID=16271
                  SSH_AUTH_SOCK=/tmp/ssh-UvdweDx16213/agent.16213
                  TERM=xterm
                  UBUNTU_MENUPROXY=libappmenu.so
                  USER=thomas
                  _=/usr/bin/env
                  WINDOWID=115343434
                  WINDOWPATH=8
                  XCURSOR_SIZE=0
                  XCURSOR_THEME=Descartes_Breeze
                  XDG_CONFIG_DIRS=/etc/xdg/xdg-default:/etc/xdg
                  XDG_CURRENT_DESKTOP=KDE
                  XDG_DATA_DIRS=/usr/share:/usr/share/default:/usr/local/share/:/usr/share/
                  XDG_SESSION_COOKIE=b974456b7efc7610eb4c5eb400000009-1408092849.465773-1755958160
                  XDM_MANAGED=method=classic
                  I sorted these lines for better comparison purposes. Unfortunately I can't see anything strange which could cause problems.

                  As a side note: If I do this command from a terminal "kdesudo bcompare", everything runs fine. If I invoke "sudo bash", I become root and after running "bcompare", I get this, maybe it helps:

                  Code:
                  Beyond Compare Version 4.0 beta (build 18629)
                  Exception occurred at: 0806F6ED
                  EAccessViolation: Access violation at address F6FE1675, accessing address 00000000
                    $0806F6ED   bcompare ($08048000)   RaiseSignalException,  SysUtils line 10718.
                  
                  BackTrace:
                    $081172D7   bcompare ($08048000)   backtrace,  KylExcept line 192
                    $081174A3   bcompare ($08048000)   MyRaiseException,  KylExcept line 255
                    $0805DE7A   bcompare ($08048000)   SysRaiseException,  System line 2740
                    $0806F6ED   bcompare ($08048000)   RaiseSignalException,  SysUtils line 10718
                    $F6FE1676   libc.so.6 ($F6EAE000)     + -151120266
                    $F64ACC08   
                  <THIS LINE REPEATS SERVERAL TIMES, I SHORTENED THIS FOR 10000 CHARACTERS LIMIT HERE>
                  
                  12555 (Main Thread LWP - Failed - see top trace)
                  12558 (Child Thread LWP):
                  
                    $082C6A07   bcompare ($08048000)   TVfsCacheDeleteThread.Execute,  VfsFileCache line 648
                    $08090C3A   bcompare ($08048000)   ThreadProc,  Classes line 9192
                    $08060B3E   bcompare ($08048000)   ThreadWrapper,  System line 11727
                    $08117878   bcompare ($08048000)   ThreadFuncWrapper,  KylExcept line 369
                    $F7065D4C   libpthread.so.0 ($F705F000)     + -150577844
                    $F6F9DDDE   libc.so.6 ($F6EAE000)    clone + 94
                  
                  
                  Beyond Compare Version 4.0 beta (build 18629)
                  Exception occurred at: 0806F6ED
                  EAccessViolation: Access violation at address F6FE1675, accessing address 00000000
                    $0806F6ED   bcompare ($08048000)   RaiseSignalException,  SysUtils line 10718.
                  
                  BackTrace:
                    $081172D7   bcompare ($08048000)   backtrace,  KylExcept line 192
                    $081174A3   bcompare ($08048000)   MyRaiseException,  KylExcept line 255
                    $0805DE7A   bcompare ($08048000)   SysRaiseException,  System line 2740
                    $0819E466   bcompare ($08048000)   TBcApplication.FiberMessageLoop,  BcForms line 2146
                    $0818D185   bcompare ($08048000)   ContextStartProc,  cMicroThreads line 1004
                    $F6EEDF1B   libc.so.6 ($F6EAE000)    makecontext + 75
                    $090E6D70   
                  
                  12555 (Main Thread LWP - Failed - see top trace)
                  12558 (Child Thread LWP):
                  
                    $082C6A07   bcompare ($08048000)   TVfsCacheDeleteThread.Execute,  VfsFileCache line 648
                    $08090C3A   bcompare ($08048000)   ThreadProc,  Classes line 9192
                    $08060B3E   bcompare ($08048000)   ThreadWrapper,  System line 11727
                    $08117878   bcompare ($08048000)   ThreadFuncWrapper,  KylExcept line 369
                    $F7065D4C   libpthread.so.0 ($F705F000)     + -150577844
                    $F6F9DDDE   libc.so.6 ($F6EAE000)    clone + 94
                  
                  
                  Runtime error 231 at 0806F6ED

                  Comment

                  • Aaron
                    Team Scooter
                    • Oct 2007
                    • 15997

                    #10
                    Thanks for all of that info.

                    Our Linux developer looked this over and thinks it might be the QT_PLUGIN_PATH variable, which would override our own included plug-in (QT3) potentially. Would it be possible to remove this, restart, and see if this helps?

                    The stack trace itself is also not particularly helpful, but if you can reproduce the crash, you could generate a much more detailed report using gdb. To do so:

                    export LD_LIBRARY_PATH=/usr/lib/beyondcompare
                    gdb /usr/lib/beyondcompare/BCompare
                    run

                    (wait for beyond compare to crash)

                    thread apply all bt

                    This should display a stack trace for all running threads after a crash.

                    Please send us whatever output gdb generates and we'll keep trying to figure out what is causing the crash on your system. You can email us at [email protected] with a link back to this forum thread for our reference.
                    Aaron P Scooter Software

                    Comment

                    • armakuni
                      Enthusiast
                      • Aug 2014
                      • 37

                      #11
                      Removing the QT_PLUGIN_PATH variable had no effect.

                      gdb gave me te following:
                      Code:
                      GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04
                      Copyright (C) 2012 Free Software Foundation, Inc.
                      License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
                      This is free software: you are free to change and redistribute it.
                      There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
                      and "show warranty" for details.
                      This GDB was configured as "x86_64-linux-gnu".
                      For bug reporting instructions, please see:
                      <http://bugs.launchpad.net/gdb-linaro/>...
                      Reading symbols from /usr/lib/beyondcompare/BCompare...(no debugging symbols found)...done.
                      (gdb) run
                      Starting program: /usr/lib/beyondcompare/BCompare 
                      [Thread debugging using libthread_db enabled]
                      Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
                      [New Thread 0xf6803b40 (LWP 8824)]
                      [New Thread 0xf5effb40 (LWP 8825)]
                      [New Thread 0xf56feb40 (LWP 8826)]
                      
                      Program received signal SIGSEGV, Segmentation fault.
                      0xf789f675 in ?? () from /lib/i386-linux-gnu/libc.so.6
                      (gdb) thread apply all bt
                      
                      Thread 4 (Thread 0xf56feb40 (LWP 8826)):
                      #0  0xf7fdb430 in __kernel_vsyscall ()
                      #1  0xf792796b in pthread_cond_wait@@GLIBC_2.3.2 ()
                         from /lib/i386-linux-gnu/libpthread.so.0
                      #2  0xf7928264 in pthread_cond_wait@GLIBC_2.0 ()
                         from /lib/i386-linux-gnu/libpthread.so.0
                      #3  0x081f95e7 in ?? ()
                      #4  0x08090c3a in ?? ()
                      #5  0x08060b3e in ?? ()
                      #6  0x08117878 in ?? ()
                      #7  0xf7923d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
                      #8  0xf785bdde in clone () from /lib/i386-linux-gnu/libc.so.6
                      
                      Thread 3 (Thread 0xf5effb40 (LWP 8825)):
                      #0  0xf7fdb430 in __kernel_vsyscall ()
                      #1  0xf792b27b in open () from /lib/i386-linux-gnu/libpthread.so.0
                      #2  0x081f971c in ?? ()
                      #3  0x08090c3a in ?? ()
                      #4  0x08060b3e in ?? ()
                      #5  0x08117878 in ?? ()
                      #6  0xf7923d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
                      #7  0xf785bdde in clone () from /lib/i386-linux-gnu/libc.so.6
                      
                      Thread 2 (Thread 0xf6803b40 (LWP 8824)):
                      #0  0xf7fdb430 in __kernel_vsyscall ()
                      #1  0xf7929d60 in sem_wait@GLIBC_2.0 () from /lib/i386-linux-gnu/libpthread.so.0
                      #2  0x080f91b8 in ?? ()
                      #3  0x082c6a07 in ?? ()
                      #4  0x08090c3a in ?? ()
                      #5  0x08060b3e in ?? ()
                      #6  0x08117878 in ?? ()
                      #7  0xf7923d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
                      #8  0xf785bdde in clone () from /lib/i386-linux-gnu/libc.so.6
                      
                      Thread 1 (Thread 0xf6d6a740 (LWP 8821)):
                      #0  0xf789f675 in ?? () from /lib/i386-linux-gnu/libc.so.6
                      #1  0xf6e6aa24 in ?? () from /usr/lib/i386-linux-gnu/libfreetype.so.6
                      #2  0xf6e173bc in FT_Render_Glyph_Internal ()
                         from /usr/lib/i386-linux-gnu/libfreetype.so.6
                      #3  0xf6e1745d in FT_Render_Glyph ()
                         from /usr/lib/i386-linux-gnu/libfreetype.so.6
                      #4  0xf6ec9487 in XftFontLoadGlyphs () from /usr/lib/i386-linux-gnu/libXft.so.2
                      #5  0xf6ec65f6 in XftGlyphExtents () from /usr/lib/i386-linux-gnu/libXft.so.2
                      #6  0xf71f874f in QFontEngineXft::boundingBox(unsigned short) ()
                         from /usr/lib/beyondcompare/libqt-mt.so.3
                      #7  0xf71f78d5 in QFontEngineXft::minRightBearing() const ()
                         from /usr/lib/beyondcompare/libqt-mt.so.3
                      #8  0xf7245287 in QFontMetrics::minRightBearing() const ()
                         from /usr/lib/beyondcompare/libqt-mt.so.3
                      #9  0xf729b3fc in qt_format_text(QFont const&, QRect const&, int, QString const&, int, QRect*, int, int*, int, QTextParag**, QPainter*) ()
                         from /usr/lib/beyondcompare/libqt-mt.so.3
                      #10 0xf729c2b0 in QPainter::drawText(QRect const&, int, QString const&, int, QRect*, QTextParag**) () from /usr/lib/beyondcompare/libqt-mt.so.3
                      #11 0xf729c469 in QPainter::boundingRect(QRect const&, int, QString const&, int, QTextParag**) () from /usr/lib/beyondcompare/libqt-mt.so.3
                      #12 0xf7d87330 in QPainter_boundingRect1 ()
                         from /usr/lib/beyondcompare/libqtc.so.1
                      #13 0x08075304 in ?? ()
                      #14 0x0809b99f in ?? ()
                      #15 0x0809ba0c in ?? ()
                      #16 0x0809ba45 in ?? ()
                      #17 0x0808cc5a in ?? ()
                      #18 0x08089ec1 in ?? ()
                      #19 0x0808617c in ?? ()
                      #20 0x08086330 in ?? ()
                      #21 0x080863af in ?? ()
                      #22 0x080db83d in ?? ()
                      #23 0x081753c7 in ?? ()
                      #24 0x08322877 in ?? ()
                      #25 0x083552e0 in ?? ()
                      #26 0x08352df8 in ?? ()
                      #27 0x0818d185 in ?? ()
                      #28 0xf77abf1b in makecontext () from /lib/i386-linux-gnu/libc.so.6
                      #29 0x0819e404 in ?? ()
                      #30 0x08a88110 in ?? ()
                      Backtrace stopped: previous frame inner to this frame (corrupt stack?)
                      (gdb) quit
                      A debugging session is active.
                      
                      	Inferior 1 [process 8821] will be killed.
                      
                      Quit anyway? (y or n)

                      Comment

                      • Aaron
                        Team Scooter
                        • Oct 2007
                        • 15997

                        #12
                        Hello,

                        Thanks for that trace. It looks like it is having trouble drawing a specific font, from a globally installed library. Have you reconfigured your fonts at all as your user?

                        The fonts used are controlled by the qtrc configuration file, which might have been altered by the same script that setup your qt4 environment variable. To set the reset these settings, copy the example file from /user/lib/beyondcompare/qtrc to the ~/.qt/ folder, then try running Beyond Compare again.
                        Aaron P Scooter Software

                        Comment

                        • armakuni
                          Enthusiast
                          • Aug 2014
                          • 37

                          #13
                          Most fonts are installed in my user account and not system-wide. There are some system fonts like "Liberation Sans", "Ubuntu" and some other.

                          Actually, as there are no other apps having issues with my fonts, I don't know what to do. What do you mean with "reconfiguring my fonts"?

                          On the other side, it seems that the ~/.qt/qtrc file is ignored by BCompare? I changed this file as you suggested, I even deleted it later, it doesn't change anything.

                          I installed qtconfig-qt3 for checking this file, and it is created with new settings I made. Normally, with KDE the qtconfig app is not needed. I successfully saved a new qtrc file, but this file doesn't help BCompare to work either.

                          //EDIT:
                          Meanwhile, I upgrade BC4 to build 18746.

                          Now, I always get a runtime error 231. This line typically comes twices. What does this error code mean?
                          Last edited by armakuni; 20-Aug-2014, 08:00 AM. Reason: Additional infos

                          Comment

                          • David
                            Team Scooter
                            • Oct 2009
                            • 124

                            #14
                            runtime error 231 is "Too many nested exceptions". I.e. exceptions occurred while handling an exception.

                            To verify that the base cause of the exception has not changed you can run gdb again and see if the stack trace has changed.

                            In the previous stack trace BC was trying to render some text to put it into a graphical QT object. Or rather BC had requested our QT3 library (libqt-mt.so which resides in /usr/lib/beyondcompare) to create a graphical object with text. The qt library then called on the Xlibs to determine the font size which then calls into libc. Xlib then calls libfreetype which makes a call to libc. It is inside libc that the exception occurs. Our guess is that there is some thing with the font that it is trying to use that is causing the exception. If you have user specific fonts set up then this would match with the fact that BC will run for root.

                            BC for linux is built with an old delphi compatible compiler that relies on QT3. Since no modern Linux still provides QT3, we provide the libqt-mt with our distribution. Thus the need to run qtconfig-qt3 for BC when you don't have to do it for anything else. We realize this is a pain. And it doesn't look so good at this point. We wish delphi had a newer linux solution but they don't. We will be looking for options as soon as we get BC4 officially released.

                            I checked the libqt-mt code and it will look for qtrc file in various places including $BC_LIB (you can find this in the bcompare script. use 'which bcompare' to find the location and then look inside the bcompare script to see what BC_LIB is set to). If a qtrc is placed inside of BC_LIB it should use that one first. The hope is that you can change the font values in qtrc so that BC can find one that it doesn't cause the exception.
                            David J Scooter Software

                            Comment

                            • armakuni
                              Enthusiast
                              • Aug 2014
                              • 37

                              #15
                              I ran gdb again as suggested, but there is no difference.

                              Can you tell me in which order the qtrc will be searched and used? I tried already to move the ~/.qt/qtrc away and I tried this also for /usr/bin/beyondcompare/qtrc. Actually I have a /etc/qt3/qtrc too, but this is maybe because of the installation of qtconfig-qt3? I can't tell if this file already existed before.

                              Actually it seems to me that none of these qtrc files will be used?

                              Comment

                              Working...