Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"exception nested too deeply" when running "make check" on httpserver #59

Open
tgrabiec opened this issue Jun 21, 2014 · 2 comments
Open

Comments

@tgrabiec
Copy link
Member

:~/src/osv $ make image=mgmt
:~/src/osv/mgmt/httpserver $ make check
cd ../.. && mgmt/httpserver/tests/testhttpserver.py
OSv v0.09-216-g87bb832
eth0: 192.168.122.15
..--2014-06-21 14:18:20--  http://localhost:8000/file/usr/mgmt/test-file.txt?op=GET
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:8000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 784890 (766K) [text/plain]
Saving to: 'tmp-test-dwnld.txt'

100%[===============================>] 784.890     --.-K/s   in 0,02s   

2014-06-21 14:18:20 (41,4 MB/s) - 'tmp-test-dwnld.txt' saved [784890/784890]

...........
[/]% ....exception nested too deeply
[backtrace]
@tgrabiec
Copy link
Member Author

After removing print_backtrace() call the backtrace is obtainable:

#0  0x00000000003c7e72 in cli_hlt () at /home/tgrabiec/src/osv/arch/x64/processor.hh:241
#1  halt_no_interrupts () at /home/tgrabiec/src/osv/arch/x64/arch.hh:48
#2  osv::halt () at /home/tgrabiec/src/osv/core/power.cc:34
#3  0x0000000000220340 in abort (fmt=fmt@entry=0x630340 "exception nested too deeply") at /home/tgrabiec/src/osv/runtime.cc:127
#4  0x0000000000368834 in enter_exception (this=<optimized out>) at /home/tgrabiec/src/osv/arch/x64/arch-cpu.cc:19
#5  sched::exception_guard::exception_guard (this=<optimized out>) at /home/tgrabiec/src/osv/arch/x64/arch-cpu.cc:37
#6  0x000000000036b375 in page_fault (ef=0xffff80003fd3d038) at /home/tgrabiec/src/osv/arch/x64/mmu.cc:22
#7  <signal handler called>
#8  0x00000000004fd81c in _Unwind_IteratePhdrCallback ()
#9  0x00000000004160bf in operator() (ml=..., __closure=<synthetic pointer>) at /home/tgrabiec/src/osv/libc/dlfcn.cc:107
#10 with_modules<dl_iterate_phdr(int (*)(dl_phdr_info*, size_t, void*), void*)::__lambda1> (f=..., this=0xffffa0003fc08400) at /home/tgrabiec/src/osv/include/osv/elf.hh:551
#11 dl_iterate_phdr (callback=0x4fd730 <_Unwind_IteratePhdrCallback>, data=0xffff80003fd3b7f0) at /home/tgrabiec/src/osv/libc/dlfcn.cc:112
#12 0x00000000004fe06f in _Unwind_Find_FDE ()
#13 0x00000000004fa2d1 in uw_frame_state_for ()
#14 0x00000000004fc083 in _Unwind_RaiseException ()
#15 0x0000000000420d62 in __cxa_throw ()
#16 0x00000000003d1cab in size (f=...) at /home/tgrabiec/src/osv/fs/fs.cc:18
#17 0x000000000032345d in mmu::file_vma::fault (this=0xffffa0003f84d680, addr=0x1000015d6000, ef=0xffff80003fd3c038) at /home/tgrabiec/src/osv/core/mmu.cc:1564
#18 0x000000000031f6c5 in mmu::vm_fault (addr=<optimized out>, addr@entry=0x1000015d686c, ef=ef@entry=0xffff80003fd3c038) at /home/tgrabiec/src/osv/core/mmu.cc:1217
#19 0x000000000036b3ba in page_fault (ef=0xffff80003fd3c038) at /home/tgrabiec/src/osv/arch/x64/mmu.cc:38
#20 <signal handler called>
#21 0x00000000004fd81c in _Unwind_IteratePhdrCallback ()
#22 0x00000000004160bf in operator() (ml=..., __closure=<synthetic pointer>) at /home/tgrabiec/src/osv/libc/dlfcn.cc:107
#23 with_modules<dl_iterate_phdr(int (*)(dl_phdr_info*, size_t, void*), void*)::__lambda1> (f=..., this=0xffffa0003fc08400) at /home/tgrabiec/src/osv/include/osv/elf.hh:551
#24 dl_iterate_phdr (callback=0x4fd730 <_Unwind_IteratePhdrCallback>, data=0xffff8000382cf820) at /home/tgrabiec/src/osv/libc/dlfcn.cc:112
#25 0x00000000004fe06f in _Unwind_Find_FDE ()
#26 0x00000000004fa2d1 in uw_frame_state_for ()
#27 0x00000000004fc083 in _Unwind_RaiseException ()
#28 0x0000000000420d62 in __cxa_throw ()
#29 0x00000000003d1cab in size (f=...) at /home/tgrabiec/src/osv/fs/fs.cc:18
#30 0x000000000032345d in mmu::file_vma::fault (this=0xffffa0003f84d680, addr=0x1000013d7000, ef=0xffff8000382d0068) at /home/tgrabiec/src/osv/core/mmu.cc:1564
#31 0x000000000031f6c5 in mmu::vm_fault (addr=<optimized out>, addr@entry=0x1000013d7fb2, ef=ef@entry=0xffff8000382d0068) at /home/tgrabiec/src/osv/core/mmu.cc:1217
#32 0x000000000036b3ba in page_fault (ef=0xffff8000382d0068) at /home/tgrabiec/src/osv/arch/x64/mmu.cc:38
#33 <signal handler called>
#34 0x00001000013d7fb2 in ?? ()
#35 0x0000200008b93d90 in ?? ()
#36 0x00000000003a8e86 in std_malloc (alignment=0x10, size=0xffffa00038428950) at /home/tgrabiec/src/osv/core/mempool.cc:1125
#37 malloc (size=0x1000019ed788) at /home/tgrabiec/src/osv/core/mempool.cc:1322

@gleb-cloudius
Copy link

This is a manifestation of the same problem as was reported earlier with
assert failure in get_arcbuf(): file is accessed after root file system
is unmounted. We need to stop other cpus in shutdown() before call to
vfs_exit().

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants