- Oct 24, 2013
-
-
Tomasz Grabiec authored
This happens when you move a file to a different directory. Thread 2 (Thread 2): 1 0x000000000032ed3b in halt_no_interrupts () at ../../arch/x64/processor.hh:239 osv::halt () at ../../core/power.cc:28 2 0x000000000020e7fe in abort ( msg=msg@entry=0x580160 "page fault outside application") at ../../runtime.cc:109 3 0x00000000002ecfdc in page_fault (ef=0xffffc0003e362008) at ../../core/mmu.cc:981 4 <signal handler called> 5 merge (b=0xffffc0003b4e8000, a=0xfffffffffffffff8) at ../../core/mempool.cc:421 6 memory::free_page_range_locked (range=range@entry=0xffffc0003b4e8000) at ../../core/mempool.cc:436 7 0x00000000003186d7 in memory::free_page_range ( range=range@entry=0xffffc0003b4e8000) at ../../core/mempool.cc:448 8 0x0000000000319280 in free_large (obj=0xffffc0003b4e9000) at ../../core/mempool.cc:460 9 std_free (object=0xffffc0003b4e9000) at ../../core/mempool.cc:790 10 free (obj=0xffffc0003b4e9000) at ../../core/mempool.cc:892 11 0x0000000000340e52 in ramfs_free_node (np=np@entry=0xffffc0003d250d40) at ../../fs/ramfs/ramfs_vnops.c:78 12 0x0000000000340ed2 in ramfs_remove_node (dnp=0xffffc0003d250a00, np=0xffffc0003d250d40) at ../../fs/ramfs/ramfs_vnops.c:131 13 0x0000000000340ffd in ramfs_rename (dvp1=0xffffc0003fc9a180, vp1=0xffffc0003fc9a100, name1=<optimized out>, dvp2=0xffffc0003fc9a280, vp2=<optimized out>, name2=0x2000001fedf1 "prefix_suffix") at ../../fs/ramfs/ramfs_vnops.c:380 14 0x0000000000340069 in sys_rename (src=<optimized out>, dest=<optimized out>) at ../../fs/vfs/vfs_syscalls.c:671 15 0x000000000033a3b2 in rename (oldpath=<optimized out>, newpath=0xffffc0003e858cc0 "/tmp/t3-26e1b47c/prefix_suffix") at ../../fs/vfs/main.cc:634 Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
Pekka Enberg authored
Spotted by Clang: ../../drivers/vga.hh:15:18: error: 'VGAConsole::write' hides overloaded virtual function [-Werror,-Woverloaded-virtual] virtual void write(const char *str); ^ ../../drivers/console.hh:16:18: note: hidden overloaded virtual function 'Console::write' declared here: different number of parameters (2 vs 1) virtual void write(const char *str, size_t len) = 0; ^ Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Spotted by Clang: ../../arch/x64/arch-cpu.hh:57:1: error: 'arch_thread' defined as a struct here but previously declared as a class [-Werror,-Wmismatched-tags] struct arch_thread { ^ ../../arch/x64/arch-cpu.hh:37:1: note: did you mean struct here? class arch_thread; ^~~~~ struct Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Spotted by Clang. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Spotted by Clang. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Spotted by Clang: ../../include/sched.hh:278:12: error: class 'arch_cpu' was previously declared as a struct [-Werror,-Wmismatched-tags] friend class arch_cpu; ^ ../../arch/x64/arch-cpu.hh:39:8: note: previous use is here struct arch_cpu { ^ ../../include/sched.hh:278:12: note: did you mean struct here? friend class arch_cpu; ^~~~~ struct Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Spotted by Clang: ../../include/sched.hh:278:12: error: class 'arch_cpu' was previously declared as a struct [-Werror,-Wmismatched-tags] friend class arch_cpu; ^ ../../arch/x64/arch-cpu.hh:39:8: note: previous use is here struct arch_cpu { ^ ../../include/sched.hh:278:12: note: did you mean struct here? friend class arch_cpu; ^~~~~ struct Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Spotted by Clang: ../../include/osv/trace.hh:58:1: error: 'assigner_type' defined as a struct template here but previously declared as a class template [-Werror,-Wmismatched-tags] struct assigner_type<storage_args<s_args...>, runtime_args<r_args...>> { ^ ../../include/osv/trace.hh:45:1: note: did you mean struct here? class assigner_type; ^~~~~ struct Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Oct 23, 2013
-
-
Tomasz Grabiec authored
Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
Tomasz Grabiec authored
Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
Tomasz Grabiec authored
Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
Tomasz Grabiec authored
Needed to link with boost_filesystem. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
Tomasz Grabiec authored
Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
Pekka Enberg authored
Spotted by GCC: ../../tests/tst-solaris-taskq.c: In function ‘tq_test_func’: ../../tests/tst-solaris-taskq.c:25:2: error: format ‘%s’ expects argument of type ‘char *’, but argument 3 has type ‘void *’ [-Werror=format=] kprintf("%s called for %s\n", __func__, arg); ^ Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Or Cohen authored
Signed-off-by:
Or Cohen <orc@fewbytes.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Or Cohen authored
m_print() used special format specifiers from BSD's printf(9). http://www.unix.com/man-page/freebsd/9/printf/ Instead of re-implementing these specifiers in different ways and because this method is not being used anywhere, it was completely removed. Signed-off-by:
Or Cohen <orc@fewbytes.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Or Cohen authored
ether_sprintf() used special format specifiers from BSD's printf(9). http://www.unix.com/man-page/freebsd/9/printf/ Instead of re-implementing these specifiers in different ways and because this method is not being used anywhere, it was completely removed. Signed-off-by:
Or Cohen <orc@fewbytes.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Or Cohen authored
Signed-off-by:
Or Cohen <orc@fewbytes.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Currently, OSv release numbers would look like this: $ git describe --tags --long v0.02-0-gc40b86b Stop using "--long" and let "git describe" do the right thing: $ git describe --tags v0.01-298-g42d11fb $ git tag v0.02 $ git describe --tags v0.02 Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Use the latest and greatest mgmt in preparation for v0.02. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Nadav Har'El authored
As noticed by Tomek in issue #64, unhandled C++ exceptions cause OSv to silently hang, in an endless loop inside the unwinding code. So this patch fixes the wrong CFI (DWARF Call Frame Information) which caused the unwinder to loop. We just had a single line of assembly missing: The topmost frame - the thread's main function - needs to undefine the saved %rip to prevent going further back. If we don't do that, gdb will end every "bt" output with a warning "Frame did not save its PC" (but hey, nobody complained... ;-)), and the unwinding library, will, unfortunately, go into an endless loop as seen in issue #64. With this one-line patch, unhandled exceptions now work as expected - they abort with a message like: terminate called after throwing an instance of 'int' Aborted And attaching a debugger you can see exactly where the offending throw came from (i.e., the stack does *not* unnecessarily unwind when there's nobody waiting to catch the exception). This works for uncaught exceptions anywhere - including inside main() and from constructors when loading the object (before running main()). "bt" in gdb also no longer ends each stack trace with an error message. The last frame it shows is "thread_main()". Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com>
-
Pekka Enberg authored
We are switching to Amazon S3 for OSv pre-built image releases. The script uses S3cmd: http://s3tools.org/s3cmd which can be installed on Fedora with: yum install s3cmd python-magic Please remember to configure your Amazon S3 credentials before running the script: s3cmd --configure To release a new version of OSv: git tag <version> ./scrips/release-s3 git push --tags Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Use osv::poweroff() instead of abort() in exit() to make the VM stop cleanly on JVM System.exit(). Needed by DaCapo. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
This patch adds version numbering to the loader. We use "git tag" for generating an unique version number with a little bit of shell script magic to make sure version number is always up-to-date. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Nadav Har'El authored
After commit 9bb55838, the name our jars now contains the version number 1.0.0 instead of 1.0. The default command line was changed accordingly (in build.mk), but we forgot to likewise update the example in the README. This trivial patch fixes the example. Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com>
-
- Oct 22, 2013
-
-
Pekka Enberg authored
The debug() call can deadlock because it's using boost format. Switch to debug_ll(). Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Needed to make dump_registers() safe to call from fault handler. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
The debug() format string is missing a newline. Fix that up. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
This is a workaround for linker error when compiling with -O0 `.text._Z9safe_loadIcEbPKT_RS0_' referenced in section `.text.fixup' of core/mmu.o: defined in discarded section `.text._Z9safe_loadIcEbPKT_RS0_[_Z9safe_loadIcEbPKT_RS0_]' of core/mmu.o The safe_load() template is used in both runtime.cc and core/mmu.cc but the linker keeps it only in one section discarding the other. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
Tomasz Grabiec authored
When building with -O0 we get: bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.o: In function `zfs_ioc_destroy_snaps_nvl': (...)/bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c:3265: undefined reference to `zvol_remove_minor' Looks like the problem is that the missing symbol, `zvol_remove_minor', referenced from zfs_ioctl.o is not in the zvol.o because it's not defined, because it is inside '#ifdef NOTYET' block (which is off). It works in the normal build because when compiled with -O2 (and even with -O1), the reference to zvol_remove_minor in zfs_ioctl.c is optimized away. This patch puts the block using zvol_remove_minor also inside '#ifdef NOTYET' to be consistent. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
- Oct 21, 2013
-
-
Pekka Enberg authored
This adds a script for releasing OSv QCOW2 images to Artifactory. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Oct 20, 2013
-
-
Dmitry Fleytman authored
FreeBSD networking code limits IP datagram size by IP_MAXPACKET which is exactly 64K. This calculation doesn't take into account Ethernet header length and may generate Ethernet packet longer than 64K. Such a packet cannot be processed properly by some devices (Xen netback) and being dropped. This patch fixes this corner case for all supported IP protocols. Signed-off-by:
Dmitry Fleytman <dmitry@daynix.com>
-
Dmitry Fleytman authored
This patch fixes part of TCP instability/low throughput problems on Xen. On transmit networking stack passes to Xen netfront driver a list of mbufs of up to PAGE_SIZE (4096) bytes each. In case the list consists of more than MAX_TX_REQ_FRAGS (18) fragments driver tries to defragment it with m_defrag(). m_defrag() in turn tries to build list of buffers of up to MCLBYTES (2048) bytes each. This leads to even longer chain and packet being dropped. As a result around 1% of TCP segments are lost and intensive TCP retransmissions and slowdowns occur. This patch makes m_defrag() use Jumbo packets zone for allocation, i.e. PAGE_SIZE per mbuf. This patch is pretty similar to what Glauber done on RX path before. Signed-off-by:
Dmitry Fleytman <dmitry@daynix.com>
-
- Oct 18, 2013
-
-
Pekka Enberg authored
Add a 'make check' target that runs whitelisted tests under OSv. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Oct 17, 2013
-
-
Pekka Enberg authored
Like commit b17819df ("mmu: optimize searching for vmas") but for rest of core/mmu.cc. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Make the adding file message less intimidating. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
Tomasz Grabiec authored
We should pass the image path to run.py Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
Tomasz Grabiec authored
This will be needed my mkzfs.py Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
Pekka Enberg authored
Start listening as soon as the guest is running. This makes host mkzfs.py conneciton less racy and fixes OSv image creation problems I'm seeing. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-