DaemonForums  

Go Back   DaemonForums > OpenBSD > OpenBSD Installation and Upgrading

OpenBSD Installation and Upgrading Installing and upgrading OpenBSD.

Reply
 
Thread Tools Display Modes
  #1   (View Single Post)  
Old 18th March 2018
toprank toprank is offline
Fdisk Soldier
 
Join Date: Feb 2018
Posts: 54
Default Minimum Specs to Build -stable

I'm trying to build a -stable base system and X release on a small virtual machine for quick distribution to a few machines as per the release(8) instructions, but it keeps crashing during the userland build in step 3. I can't find any recommendations for compiling the kernel and userland from source, but I'm guessing 1 GB RAM on 1 CPU isn't sufficient?
Reply With Quote
  #2   (View Single Post)  
Old 19th March 2018
jggimi's Avatar
jggimi jggimi is online now
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default

I build -stable components (ports, primarily) in vmm(4) virtual machines. Both amd64 and i386 architectures use 1GB RAM, and they must use a single processor, as vmm() is currently limited to a single virtual CPU. These systems are configured with 2G swap space.

Unfortunately, "keeps crashing" isn't enough information to provide you with any specific help.
Reply With Quote
  #3   (View Single Post)  
Old 20th March 2018
toprank toprank is offline
Fdisk Soldier
 
Join Date: Feb 2018
Posts: 54
Default

Sorry, that really is useless, vague information! I was wondering if there are any minimum recommended specs to build userland in OpenBSD as I don't think this is a case of any build errors but a case of the system becoming unresponsive due to stress. The system would freeze; top(1) would show increasingly more demand being placed on the system before the machine became unresponsive.
Reply With Quote
  #4   (View Single Post)  
Old 20th March 2018
jggimi's Avatar
jggimi jggimi is online now
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default

OK, since your problem report so far doesn't let me help you....and your two messages report different symptoms (a "crash" is not a "hang")....

1. How much swap space do you have configured in your 1G RAM systems?

2. Where in your build process do your compiles stop operating ("hang") or fail ("crash")? Is it at the same point each time? Different points? If the same point, what is it building?
Here's a hint: use script(1) post-processed with col(1) -b, or the pipe-pane command in tmux(1) to log your builds. Determine if the builds hang or crash at the same point each time, and, if there is a crash, capture the actual error messages produced.
3. You posted that top(1) reports "demand." What does that mean?

I'm sorry, but I'm not looking over your shoulder at your workstation. I can only see what you post in this forum.

Last edited by jggimi; 20th March 2018 at 09:17 AM. Reason: stress -> demand
Reply With Quote
  #5   (View Single Post)  
Old 20th March 2018
toprank toprank is offline
Fdisk Soldier
 
Join Date: Feb 2018
Posts: 54
Default

That's cool. I know I haven't provided anything useful. Hopefully this helps.

The build hangs at different points each time. This latest attempt, the console froze at this point for a long time without any movement:

Code:
cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG  -MD -MP  -c -p /usr/src/lib/libfuse/dict.c -o dict.po
cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG  -MD -MP  -c -p /usr/src/lib/libfuse/fuse.c -o fuse.po
cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG  -MD -MP  -c -p /usr/src/lib/libfuse/fuse_ops.c -o fuse_ops.po
cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG  -MD -MP  -c -p /usr/src/lib/libfuse/fuse_opt.c -o fuse_opt.po
cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG  -MD -MP  -c -p /usr/src/lib/libfuse/fuse_subr.c -o fuse_subr.po
cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG  -MD -MP  -c -p /usr/src/lib/libfuse/tree.c -o tree.po
building profiled fuse library
ranlib libfuse_p.a
cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG  -MD -MP  -c -fpic -DPIC /usr/src/lib/libfuse/debug.c -o debug.so
cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG  -MD -MP  -c -fpic -DPIC /usr/src/lib/libfuse/dict.c -o dict.so
cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG  -MD -MP  -c -fpic -DPIC /usr/src/lib/libfuse/fuse.c -o fuse.so
cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG  -MD -MP  -c -fpic -DPIC /usr/src/lib/libfuse/fuse_ops.c -o fuse_ops.so
cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG  -MD -MP  -c -fpic -DPIC /usr/src/lib/libfuse/fuse_opt.c -o fuse_opt.so
cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG  -MD -MP  -c -fpic -DPIC /usr/src/lib/libfuse/fuse_subr.c -o fuse_subr.so
cc -O2 -pipe -g -Wall -g -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare -I/usr/src/lib/libfuse -DDEBUG  -MD -MP  -c -fpic -DPIC /usr/src/lib/libfuse/tree.c -o tree.so
building shared fuse library (version 1.1)
cc -shared -fpic -o libfuse.so.1.1  `echo debug.so dict.so fuse.so fuse_ops.so fuse_opt.so fuse_subr.so tree.so | tr ' ' '\n' | sort -R` 
===> libkeynote
yacc -d -d -p kn -b k /usr/src/lib/libkeynote/keynote.y
cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote  -MD -MP  -c k.tab.c -o k.tab.o
lex  -Cr -Pkn -s -i /usr/src/lib/libkeynote/keynote.l
cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote  -MD -MP  -c lex.kn.c -o lex.kn.o
cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote  -MD -MP  -c /usr/src/lib/libkeynote/environment.c -o environment.o
cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote  -MD -MP  -c /usr/src/lib/libkeynote/parse_assertion.c -o parse_assertion.o
cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote  -MD -MP  -c /usr/src/lib/libkeynote/signature.c -o signature.o
cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote  -MD -MP  -c /usr/src/lib/libkeynote/auxil.c -o auxil.o
cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote  -MD -MP  -c /usr/src/lib/libkeynote/base64.c -o base64.o
building standard keynote library
ranlib libkeynote.a
cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote  -MD -MP  -c -p k.tab.c -o k.tab.po
cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote  -MD -MP  -c -p lex.kn.c -o lex.kn.po
cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote  -MD -MP  -c -p /usr/src/lib/libkeynote/environment.c -o environment.po
cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote  -MD -MP  -c -p /usr/src/lib/libkeynote/parse_assertion.c -o parse_assertion.po
cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote  -MD -MP  -c -p /usr/src/lib/libkeynote/signature.c -o signature.po
cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote  -MD -MP  -c -p /usr/src/lib/libkeynote/auxil.c -o auxil.po
cc -O2 -pipe -g -Wall -I. -I/usr/src/lib/libkeynote  -MD -MP  -c -p /usr/src/lib/libkeynote/base64.c -o base64.po
building profiled keynote library
ranlib libkeynote_p.a
===> libkvm
cc -O2 -pipe -g -D_LIBKVM  -MD -MP  -c /usr/src/lib/libkvm/kvm_i386.c -o kvm_i386.o
cc -O2 -pipe -g -D_LIBKVM  -MD -MP  -c /usr/src/lib/libkvm/kvm.c -o kvm.o
cc -O2 -pipe -g -D_LIBKVM  -MD -MP  -c /usr/src/lib/libkvm/kvm_file2.c -o kvm_file2.o
cc -O2 -pipe -g -D_LIBKVM  -MD -MP  -c /usr/src/lib/libkvm/kvm_getloadavg.c -o kvm_getloadavg.o
cc -O2 -pipe -g -D_LIBKVM  -MD -MP  -c /usr/src/lib/libkvm/kvm_proc.c -o kvm_proc.o
cc -O2 -pipe -g -D_LIBKVM  -MD -MP  -c /usr/src/lib/libkvm/kvm_proc2.c -o kvm_proc2.o
cc -O2 -pipe -g -D_LIBKVM  -MD -MP  -c /usr/src/lib/libkvm/kvm_cd9660.c -o kvm_cd9660.o
cc -O2 -pipe -g -D_LIBKVM  -MD -MP  -c /usr/src/lib/libkvm/kvm_udf.c -o kvm_udf.o
cc -O2 -pipe -g -D_LIBKVM  -MD -MP  -c /usr/src/lib/libkvm/kvm_ntfs.c -o kvm_ntfs.o
building standard kvm library
ranlib libkvm.a
cc -O2 -pipe -g -D_LIBKVM  -MD -MP  -c -p /usr/src/lib/libkvm/kvm_i386.c -o kvm_i386.po
cc -O2 -pipe -g -D_LIBKVM  -MD -MP  -c -p /usr/src/lib/libkvm/kvm.c -o kvm.po
cc -O2 -pipe -g -D_LIBKVM  -MD -MP  -c -p /usr/src/lib/libkvm/kvm_file2.c -o kvm_file2.po
packet_write_wait: Connection to  port 22: Broken pipe
The screen log ended here:

Code:
$ tail stableBuild.log                                                                                                                                                                                 
cc -O2 -pipe -g -I/usr/src/lib/libexpat -DHAVE_EXPAT_CONFIG_H -fvisibility=hidden  -MD -MP  -c /usr/src/lib/libexpat/lib/xmlrole.c -o xmlrole.o
building standard expat library
ranlib libexpat.a
cc -O2 -pipe -g -I/usr/src/lib/libexpat -DHAVE_EXPAT_CONFIG_H -fvisibility=hidden  -MD -MP  -c -p /usr/src/lib/libexpat/lib/xmlparse.c -o xmlparse.po
cc -O2 -pipe -g -I/usr/src/lib/libexpat -DHAVE_EXPAT_CONFIG_H -fvisibility=hidden  -MD -MP  -c -p /usr/src/lib/libexpat/lib/xmltok.c -o xmltok.po
cc -O2 -pipe -g -I/usr/src/lib/libexpat -DHAVE_EXPAT_CONFIG_H -fvisibility=hidden  -MD -MP  -c -p /usr/src/lib/libexpat/lib/xmlrole.c -o xmlrole.po
building profiled expat library
ranlib libexpat_p.a
cc -O2 -pipe -g -I/usr/src/lib/libexpat -DHAVE_EXPAT_CONFIG_H -fvisibility=hidden  -MD -MP  -c -fpic -DPIC /usr/src/lib/libexpat/lib/xmlparse.c -o xmlparse.so
cc -O2 -pipe -g -I/usr/src/lib/libexpat -DHAVE_EXPAT_CONFIG_H -fvisibility=hidden  -MD -MP  -c -fpic -DPIC /usr/src/lib/libexpat/lib/xmltok.c -o xmltok.so
There is 2 GB swap:

Code:
16 partitions:
#                size           offset  fstype [fsize bsize   cpg]
  a:          2092384               64  4.2BSD   2048 16384 12958 # /
  b:          2620248          2092448    swap                    # none
top shows an increasing demand on the system CPU state; upwards of 75%
Reply With Quote
  #6   (View Single Post)  
Old 20th March 2018
jggimi's Avatar
jggimi jggimi is online now
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default

Your "b" swap partition has only 1.25GB of swap, assuming 512-byte sectors. How much swap space does top() report is consumed? What is your memory consumption?

Have you tried bumping the virtual machine's RAM?

My host is amd64, and -current. What is the architecture/flavor of your host?
Reply With Quote
  #7   (View Single Post)  
Old 20th March 2018
toprank toprank is offline
Fdisk Soldier
 
Join Date: Feb 2018
Posts: 54
Default

I neglected to catch the memory consumption but am about to try another build now so will pay attention. I haven't tried increasing RAM yet. I'll do that after this attempt. Or maybe increase the swap partition.

My host is also amd64 and running -current.
Reply With Quote
  #8   (View Single Post)  
Old 20th March 2018
jggimi's Avatar
jggimi jggimi is online now
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default

The output from top() can be piped to a log file.

Based solely on what I have obtained from you in this thread, I can only make guesses.
Right now, I'm going to guess your guest(s) is(are) running out of swap space, or are "thrashing" between swap and virtual RAM.
Reply With Quote
  #9   (View Single Post)  
Old 20th March 2018
toprank toprank is offline
Fdisk Soldier
 
Join Date: Feb 2018
Posts: 54
Default

Lack of memory was my first though too. I mean, the unresponsiveness at different points in the build with no errors made me think as much. Which is why I wondered if there were any minimum recommendations to build world. But I can remember building OpenBSD 20+ years ago on a pretty limited system.

Last two iterations of top:

Code:
load averages:  1.08,  0.28,  0.10    dev1.msk.com 00:25:46
52 processes: 2 running, 49 idle, 1 on processor  up  0:32
CPU states: 13.3% user,  0.0% nice, 84.7% system,  2.0% interrupt,  0.0% idle
Memory: Real: 27M/300M act/tot Free: 691M Cache: 198M Swap: 0K/1279M

load averages:  1.08,  0.28,  0.10    dev1.msk.com 00:25:49
50 processes: 1 running, 47 idle, 1 dead, 1 on processor  up  0:32
CPU states: 14.3% user,  0.0% nice, 84.4% system,  0.7% interrupt,  0.7% idle
Memory: Real: 26M/300M act/tot Free: 691M Cache: 198M Swap: 0K/1279M
First two iterations at the commencement of the build:

Code:
load averages:  0.00,  0.01,  0.00    dev1.msk.com 00:24:24
42 processes: 2 running, 39 idle, 1 on processor  up  0:31
CPU states:  1.9% user,  0.0% nice,  0.8% system,  0.1% interrupt, 97.3% idle
Memory: Real: 23M/293M act/tot Free: 699M Cache: 198M Swap: 0K/1279M

load averages:  0.00,  0.01,  0.00    dev1.msk.com 00:24:27
42 processes: 41 idle, 1 on processor  up  0:31
CPU states:  8.3% user,  0.0% nice,  0.3% system,  0.0% interrupt, 91.4% idle
Memory: Real: 23M/293M act/tot Free: 698M Cache: 198M Swap: 0K/1279M
Build failed at a different point again.

It doesn't look like it's using any swap. Should I log swapctl during next attempt?
Reply With Quote
Old 20th March 2018
jggimi's Avatar
jggimi jggimi is online now
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default

The output from top() you posted doesn't show any swapping, nor any significant load.

Does the guest report anything on its console? The guest's console is logged in /var/log/messages but that assumes syslogd(8) is still functional. You may find more info on the virtual machine's console, connected via vmctl(8).

I can build large packages on my guests, which is not the same as a system build, but should be similar in terms of resource consumption. But my host is not resource constrained. Yours might be.

Could you please post more information? For example:
  • Host dmesg(8)
  • Guest dmesg()
  • Host top() report at the time of a hang
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
-stable snapshots "openbsd-stable.org" (?) dnix OpenBSD Installation and Upgrading 9 18th December 2011 12:48 PM
ARM specs out first 64-bit RISC chips J65nko News 0 28th October 2011 08:54 PM
8-STABLE build fails at installworld ionflux FreeBSD Installation and Upgrading 7 3rd November 2009 09:51 PM
Bare Minimum Site-to-Site VPN on OpenBSD ai-danno Guides 0 20th May 2008 12:45 AM


All times are GMT. The time now is 05:36 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content copyright © 2007-2010, the authors
Daemon image copyright ©1988, Marshall Kirk McKusick