1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

FreeBSD in VirtualBox: Programme stürzen ab, starten gar nicht erst oder haben Ein-Ausgabe-Fehler

Dieses Thema im Forum "FreeBSD - Anwendungen und Ports" wurde erstellt von Morfio, 16 Oktober 2017.

  1. Morfio

    Morfio Member

    Registriert seit:
    3 Juli 2005
    Beiträge:
    557
    Ort:
    Brohltal
    Hallo zusammen,

    ich habe VirtualBox auf Windows 10 Professional. Darin ist ein FreeBSD 11.1p1 amd64 installiert. Installiert habe ich XFCE sowie Firefox und Chromium.

    Wenn ich versuche, z.B. das Terminal von XFCE zu starten, kommt der Fehler

    Firefox stürzt mit einem SegFault ab, Chromium bringt den Fehler:

    Hat jemand eine Idee, woran das liegen könnte? Programme wie xterm und xclock laufen, XFCE läuft auch.

    Viele Grüße

    Morfio
     
  2. mogbo

    mogbo Does it run under Windows? Who cares?

    Registriert seit:
    12 September 2016
    Beiträge:
    482
    Kurz grundlegend:
    - RAM ist ausreichend?
    - Partitionen zu klein fällt auch weg?
    Kein swap und zuwenig RAM oder ein zu kleines /home wäre so ein fixer Gedanke meinerseits

    Sind denke ich auch alle via pkg Tool installiert?
     
  3. Morfio

    Morfio Member

    Registriert seit:
    3 Juli 2005
    Beiträge:
    557
    Ort:
    Brohltal
    4GB sind zugewiesen, 120MB werden in etwa benutzt

    Ist nur /, da ein Testsystem, und hat noch 34GB frei.

    swap hat 2,5GB.

    Ja, aus meinem poudriere. Die Packages nutze ich aber auch auf etlichen physikalischen Systemen, die funktionieren dort bisher einwandfrei.
     
  4. Rakor

    Rakor Moderator Mitarbeiter

    Registriert seit:
    17 September 2009
    Beiträge:
    2.014
    Ort:
    Mannheim
    Hast du dynamisch wachsenden Festspeicher definiert? Das hat bei mir in der Vergangenheit zu Problemen geführt.
     
  5. Morfio

    Morfio Member

    Registriert seit:
    3 Juli 2005
    Beiträge:
    557
    Ort:
    Brohltal
    Ja, habe ich. Ich hatte bis dato noch kein Problem damit, aber ich probiere mal rum.
     
  6. Morfio

    Morfio Member

    Registriert seit:
    3 Juli 2005
    Beiträge:
    557
    Ort:
    Brohltal
    Mit einer nicht mitwachsenden "Platte" kommen leider die selben Probleme.
     
  7. Morfio

    Morfio Member

    Registriert seit:
    3 Juli 2005
    Beiträge:
    557
    Ort:
    Brohltal
    Hmm, es scheint an den Paketen in meinem Poudriere zu liegen, mit den offiziellen Paketen funktioniert es. Warum, kann ich nicht sagen, da ich die Pakete auf zwei Rechnern jeden Tag nutze, allerdings mit KDE und nicht mit XFCE. Unter Umständen wird da noch irgendwas mitgezogen, was bei der XFCE-Installation nicht mitgezogen wird. Ich bin ein wenig ratlos. Oder heute waren zufällig irgendwelche Pakete defekt. Es findet gerade ein neuer Poudriere-Lauf statt.
     
  8. lme

    lme FreeBSD Committer

    Registriert seit:
    6 Mai 2003
    Beiträge:
    2.621
    Ort:
    Düsseldorf
    Hast du die Pakete vielleicht mit obskuren Flags in der make.conf gebaut? Mit falscher CPU-Optimierung oder so?
     
  9. Morfio

    Morfio Member

    Registriert seit:
    3 Juli 2005
    Beiträge:
    557
    Ort:
    Brohltal
    Eigentlich nicht, hier ist die make.conf:

    Code:
    FORCE_MAKE_JOBS=yes
    MAKE_JOBS_NUMBER=8
    CUPS_OVERWRITE_BASE=yes
    NO_LPR=yes
    WITH_CUPS=yes
    WITH_GTK2=yes
    PAGE=A4
    PAPERSIZE=a4
    A4=yes
    WITH_VIM_OPTIONS=yes
    DISABLE_LICENSES=yes
    WANT_OPENLDAP_SASL=yes
     
  10. lme

    lme FreeBSD Committer

    Registriert seit:
    6 Mai 2003
    Beiträge:
    2.621
    Ort:
    Düsseldorf
    Ok, dann ist es mir auch ein Rätsel. :)
     
  11. Morfio

    Morfio Member

    Registriert seit:
    3 Juli 2005
    Beiträge:
    557
    Ort:
    Brohltal
    Ich baue die Packages auf einem FreeBSD, welches mit KVM virtualisiert ist. Könnte es daran liegen?
     
  12. foxit

    foxit Moderator Mitarbeiter

    Registriert seit:
    4 Juli 2012
    Beiträge:
    1.427
    Ort:
    /home
    Nein denke ich nicht. Ich mache dies schon seit über 2 Jahren so. Vielleicht einfach mal das komplette Repo löschen und nochmals von Null aus bauen lassen.
     
  13. Morfio

    Morfio Member

    Registriert seit:
    3 Juli 2005
    Beiträge:
    557
    Ort:
    Brohltal
    Ich hatte jetzt einmal probiert, alles neu zu bauen mit bulk -c, da kamen aber die selben Probleme bei heraus. Ich habe jetzt das Jail gelöscht und neu installiert und lasse das jetzt einmal durchlaufen. In zwei Tagen müsste das durch sein, dann kann ich mehr dazu sagen.
     
  14. Morfio

    Morfio Member

    Registriert seit:
    3 Juli 2005
    Beiträge:
    557
    Ort:
    Brohltal
    Das Problem ist immer noch das selbe. Ich werde das jetzt mal auf Hardware ausprobieren.
     
  15. Morfio

    Morfio Member

    Registriert seit:
    3 Juli 2005
    Beiträge:
    557
    Ort:
    Brohltal
    Interessant: auf "echter" Hardware treten die Probleme nicht auf, sehr wohl aber unter VirtualBox. Hat vielleicht jemand eine Idee?
     
  16. Yamagi

    Yamagi Possessed With Psi Powers Mitarbeiter

    Registriert seit:
    14 April 2004
    Beiträge:
    8.851
    Ort:
    Schleswig-Holstein
    VirtualBox hat eine Option zur Speicherdeduplizierung. Also das in mehreren VMs gleiche Daten nur einmal im Speicher des Hosts gehalten werden. Ich weiß leider nicht mehr, wie sie heißt. Aber sie hatte unter FreeBSD immer interessante Nebenwirkungen.
     
  17. Morfio

    Morfio Member

    Registriert seit:
    3 Juli 2005
    Beiträge:
    557
    Ort:
    Brohltal
    Das heißt wohl Page Fusion. Das ist aber abgeschaltet.
     
  18. foxit

    foxit Moderator Mitarbeiter

    Registriert seit:
    4 Juli 2012
    Beiträge:
    1.427
    Ort:
    /home
    Kannst du mal bitte deine poudriere.conf, make.conf wie auch deine verwendeten Kommandos posten?
     
  19. Morfio

    Morfio Member

    Registriert seit:
    3 Juli 2005
    Beiträge:
    557
    Ort:
    Brohltal
    make.conf:

    Code:
    FORCE_MAKE_JOBS=yes
    MAKE_JOBS_NUMBER=8
    CUPS_OVERWRITE_BASE=yes
    NO_LPR=yes
    WITH_CUPS=yes
    PAGE=A4
    PAPERSIZE=a4
    A4=yes
    WITH_VIM_OPTIONS=yes
    DISABLE_LICENSES=yes
    WANT_OPENLDAP_SASL=yes
    poudriere.conf:

    Code:
    # Poudriere can optionally use ZFS for its ports/jail storage. For
    # ZFS define ZPOOL, otherwise set NO_ZFS=yes
    #
    #### ZFS
    # The pool where poudriere will create all the filesystems it needs
    # poudriere will use tank/${ZROOTFS} as its root
    #
    # You need at least 7GB of free space in this pool to have a working
    # poudriere.
    #
    ZPOOL=zroot
    
    ### NO ZFS
    # To not use ZFS, define NO_ZFS=yes
    #NO_ZFS=yes
    
    # root of the poudriere zfs filesystem, by default /poudriere
    ZROOTFS=/server/poudriere
    
    # the host where to download sets  for the jails setup
    # You can specify here a host or an IP
    # replace _PROTO_ by http or ftp
    # replace _CHANGE_THIS_ by the hostname of the mirrors where you want to fetch
    # by default: ftp://ftp.freebsd.org
    #
    # Also not that every protocols supported by fetch(1) are supported here, even
    # file:///
    #FREEBSD_HOST=http://ftp.ch.freebsd.org
    FREEBSD_HOST=ftp://ftp2.de.FreeBSD.org
    
    # By default the jails have no /etc/resolv.conf, you will need to set
    # REVOLV_CONF to a file on your hosts system that will be copied has
    # /etc/resolv.conf for the jail, except if you don't need it (using an http
    # proxy for example)
    RESOLV_CONF=/etc/resolv.conf
    
    # The directory where poudriere will store jails and ports
    BASEFS=/server/poudriere
    
    # The directory where the jail will store the packages and logs
    # by default a zfs filesystem will be created and set to
    # ${BASEFS}/data
    #
    #POUDRIERE_DATA=${BASEFS}/data
    
    # Use portlint to check ports sanity
    USE_PORTLINT=no
    
    # When building packages, a memory device can be used to speedup the build.
    # Only one of MFSSIZE or USE_TMPFS is supported. TMPFS is generally faster
    # and will expand to the needed amount of RAM. MFS is a bit slower, but is
    # more mature and can have its memory usage capped.
    
    # If set WRKDIRPREFIX will be mdmfs of the given size (mM or gG)
    #MFSSIZE=4G
    
    # Use tmpfs(5)
    # This can be a space-separated list of options:
    # wrkdir    - Use tmpfs(5) for port building WRKDIRPREFIX
    # data      - Use tmpfs(5) for poudriere cache/temp build data
    # localbase - Use tmpfs(5) for LOCALBASE (installing ports for packaging/testing)
    # all       - Run the entire build in memory, including builder jails.
    # yes       - Only enables tmpfs(5) for wrkdir
    # EXAMPLE: USE_TMPFS="wrkdir data"
    USE_TMPFS=no
    
    # If set the given directory will be used for the distfiles this allow the share
    # the distfiles between jails and ports tree
    DISTFILES_CACHE=/server/poudriere/distfiles
    
    # If set the ports or source tree marked to use csup method will use the defined mirror
    # Note: csup is deprecated. Use svn instead.
    #CSUP_HOST=cvsup._CHANGE_THIS_.freebsd.org
    
    # If set the ports tree or source tree marked to use svn will use the defined
    # mirror (default: svn0.us-west.FreeBSD.org)
    # The full mirror list is available here:
    # http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/svn-mirrors.html
    #SVN_HOST=svn0.us-west.FreeBSD.org
    
    # Automatic OPTION change detection
    # When bulk building packages, compare the options from kept packages to
    # the current options to be built. If they differ, the existing package
    # will be deleted and the port will be rebuilt.
    # Valid options: yes, no, verbose
    # verbose will display the old and new options
    CHECK_CHANGED_OPTIONS=verbose
    
    # Automatic Dependency change detection
    # When bulk building packages, compare the dependencies from kept packages to
    # the current dependencies for every port. If they differ, the existing package
    # will be deleted and the port will be rebuilt. This helps catch changes such
    # as DEFAULT_RUBY_VERSION, PERL_VERSION, WITHOUT_X11 that change dependencies
    # for many ports.
    # Valid options: yes, no
    CHECK_CHANGED_DEPS=yes
    
    
    # Path to the RSA key to sign the PKGNG repo with. See pkg-repo(8)
    #PKG_REPO_SIGNING_KEY=/etc/ssl/keys/repo.key
    
    
    # ccache support. Supply the path to your ccache cache directory.
    # It will be mounted into the jail and be shared among all jails.
    #CCACHE_DIR=/storage/poudriere/ccache
    #
    
    # parallel build support.
    #
    # By default poudriere uses hw.ncpu to determine the number of builders.
    # You can override this default by changing PARALLEL_JOBS here, or
    # by specifying the -J flag to bulk/testport.
    #
    # Example to define PARALLEL_JOBS to one single job
    PARALLEL_JOBS=2
    
    
    # If set, failed builds will save the WRKDIR to ${POUDRIERE_DATA}/wrkdirs
    # SAVE_WRKDIR=yes
    
    # Choose the default format for the workdir packing: could be tar,tgz,tbz,txz
    # default is tbz
    WRKDIR_ARCHIVE_FORMAT=txz
    
    # Disable linux support
    NOLINUX=no
    
    
    # by default poudriere set PACKAGE_BUILDING
    # to disable it:
    # NO_PACKAGE_BUILDING=yes
    
    # If you are using a proxy define it here:
    # export HTTP_PROXY=bla
    # export FTP_PROXY=bla
    #
    # Cleanout the restricted packages
    # NO_RESTRICTED=yes
    
    # By default MAKE_JOBS is disabled to allow only one process per cpu
    # Use the following to allow it anyway
    # ALLOW_MAKE_JOBS=yes
    
    
    # Define as the URL that your POUDRIERE_DATA/logs is hosted at
    # This will be used for giving URL hints to the HTML output when
    # scheduling and starting builds
    #URL_BASE=http://yourdomain.com/poudriere/
    
    
    # This defines the max time (in seconds) that a command may run for a build
    # before it is killed for taking too long. Default: 86400
    #MAX_EXECUTION_TIME=86400
    
    # This defines the how long (in seconds) before a command is considered to
    # be in a runaway state for having no output on stdout. Default: 7200
    #NOHANG_TIME=7200
    
    Zeile zum Bauen:

    Code:
    poudriere ports -u
    poudriere jail -u -j "11_1-amd64-client"
    poudriere bulk -f "/usr/local/etc/poudriere.d/11_1-amd64-client-ports.conf" -j "11_1-amd64-client"
    
     
  20. foxit

    foxit Moderator Mitarbeiter

    Registriert seit:
    4 Juli 2012
    Beiträge:
    1.427
    Ort:
    /home
    Also ich sehe da mehrere Sachen, welche du überprüfen und auch anpassen kannst.

    1) Wenn du eine neue Version von poudriere installierst, solltest du deine poudriere.conf immer mit poudriere.conf.sample vergleichen und die Neuerungen übernehmen. Das kannst du am einfachsten mit vimdiff machen:
    Code:
    vimdiff poudriere.conf poudriere.conf.sample
    
    2) Deiner make.conf traue ich nicht und ich würde sie anpassen: "FORCE_MAKE_JOBS, MAKE_JOBS_NUMBER" komplett löschen. Dafür gibt es eigene Optionen in der poudriere.conf (Siehe unten). Ich habe folgendes noch in meiner make.conf:
    Code:
    OPTIMIZED_CFLAGS=YES
    BUILD_OPTIMIZED=YES
    WITH_CPUFLAGS=YES
    WITH_OPTIMIZED_CFLAGS=YES
    
    3) Änderungen an deiner poudriere.conf Datei:
    • USE_TMPFS=yes
      • Einschlaten bringt einen kleinen Vorteil
    • CCACHE_DIR=/storage/ccache
      • Bringt wohl am meisten bei allen Verbesserungen
    • #PARALLEL_JOBS=2
      • Dies würde ich Poudriere selber entscheiden lassen und kommentieren
    • NOLINUX=yes
      • Brauchst du Linux?
    • ALLOW_MAKE_JOBS_PACKAGES="pkg samba* py*"
      • Bei diesen Paketen wird "MAKE_JOBS" verwendet. Hier z.B. bei pkg Samba und allem was mit py beginnt.
    Ja... sonst fällt mir auch nicht mehr viel ein.

    Gruss