Also I have noticed my stack trace does not show Golang symbol names like 
some example stacktraces in  #850 do have. What am I missing to make the 
stack traces to show Golang symbols? I dit verify with readelf that the 
hello shared library has debugging info in it. Is it because 
upload_manifest.py strips all *.so files?

Waldek 

On Thursday, December 28, 2017 at 11:00:43 AM UTC-5, Waldek Kozaczuk wrote:
>
> I can see that for example this patch - 
> https://groups.google.com/forum/#!searchin/osv-dev/golang$20example%7Csort:date/osv-dev/Jkd7mX18QQQ/T2RyQvCsCAAJ
>  
> - was just to make the go example build properly but not necessarily run. 
> And this branch commit would probably make the example run - 
> https://github.com/benoit-canet/osv/commit/c93d358db133af3a4014c09f7b4ccf49edfeba15
> . 
>
> Yes I am very interested in getting Golang work on OSv and I can help with 
> testing and reviving/reviewing the patches. Can someone (@benoit-canet) 
> elaborate where exactly are we with the state of the state of Go support - 
> remaining issues, submitted patches that need to be reviewed? I understand 
> that adding Go support to OSv is not as trivial as adding read-only 
> filesystem :-)
>
> I also saw that @HawxChen submitted a patch (
> https://groups.google.com/forum/#!searchin/osv-dev/golang$20example%7Csort:date/osv-dev/Ol1zuoOwjzg/PVa3u3_VAwAJ)
>  
> to address issue #808 but it seems he had some issues he could not overcome?
>
> Thanks,
> Waldek
>
> On Thursday, December 28, 2017 at 2:28:58 AM UTC-5, Nadav Har'El wrote:
>>
>>
>> On Thu, Dec 28, 2017 at 8:14 AM, Waldek Kozaczuk <jwkoz...@gmail.com> 
>> wrote:
>>
>>> When I build it using go 1.8.3 the image fails with following stacktrace:
>>>
>>> OSv v0.24-469-g2eab5f3
>>> eth0: 192.168.122.15
>>> [registers]
>>> RIP: 0x0000100000c54812 <???+12929042>
>>> RFL: 0x0000000000010206  CS:  0x0000000000000008  SS:  0x0000000000000010
>>> RAX: 0x66078351029700e4  RBX: 0x0000100000f56060  RCX: 
>>> 0x00002000000ff5d8  RDX: 0x00002000000ff5d8
>>> RSI: 0x0000000000000003  RDI: 0x0000100000f56ed0  RBP: 
>>> 0x00002000000ff5c8  R8:  0xffff800002bf8740
>>> R9:  0x0000000000c2c5b0  R10: 0x0000000000000000  R11: 
>>> 0x0000000000000001  R12: 0x0000000000000002
>>> R13: 0x0000000000c2c5b0  R14: 0x0000000000000000  R15: 
>>> 0x0000000000000001  RSP: 0x00002000000ff570
>>> general protection fault
>>>
>>> [backtrace]
>>> 0x000000000038a389 <general_protection+137>
>>> 0x0000000000387fc2 <???+3702722>
>>> 0x0000100000c773ac <???+13071276>
>>> 0x0000100000c89b47 <???+13146951>
>>> 0x0000100000c76fb6 <???+13070262>
>>> 0x0000100000ca133e <???+13243198>
>>> 0x000000000033d048 <elf::object::run_init_funcs()+200>
>>> 0x0000000000342ce8 
>>> <elf::program::get_library(std::__cxx11::basic_string<char, 
>>> std::char_traits<char>, std::allocator<char> >, 
>>> std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, 
>>> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, 
>>> std::char_traits<char>, std::allocator<char> > > >)+472>
>>> 0x0000000000413b93 
>>> <osv::application::application(std::__cxx11::basic_string<char, 
>>> std::char_traits<char>, std::allocator<char> > const&, 
>>> std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, 
>>> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, 
>>> std::char_traits<char>, std::allocator<char> > > > const&, bool, 
>>> std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, 
>>> std::allocator<char> >, std::__cxx11::basic_string<char, 
>>> std::char_traits<char>, std::allocator<char> >, 
>>> std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, 
>>> std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, 
>>> std::char_traits<char>, std::allocator<char> > >, 
>>> std::allocator<std::pair<std::__cxx11::basic_string<char, 
>>> std::char_traits<char>, std::allocator<char> > const, 
>>> std::__cxx11::basic_string<char, std::char_traits<char>, 
>>> std::allocator<char> > > > > const*)+707>
>>> 0x00000000004142d8 
>>> <osv::application::run(std::__cxx11::basic_string<char, 
>>> std::char_traits<char>, std::allocator<char> > const&, 
>>> std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, 
>>> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, 
>>> std::char_traits<char>, std::allocator<char> > > > const&, bool, 
>>> std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, 
>>> std::allocator<char> >, std::__cxx11::basic_string<char, 
>>> std::char_traits<char>, std::allocator<char> >, 
>>> std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, 
>>> std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, 
>>> std::char_traits<char>, std::allocator<char> > >, 
>>> std::allocator<std::pair<std::__cxx11::basic_string<char, 
>>> std::char_traits<char>, std::allocator<char> > const, 
>>> std::__cxx11::basic_string<char, std::char_traits<char>, 
>>> std::allocator<char> > > > > const*)+104>
>>> 0x00000000004144eb 
>>> <osv::application::run(std::vector<std::__cxx11::basic_string<char, 
>>> std::char_traits<char>, std::allocator<char> >, 
>>> std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, 
>>> std::allocator<char> > > > const&)+27>
>>> 0x0000000000213a49 <do_main_thread(void*)+2649>
>>> 0x0000000000443b85 <???+4471685>
>>> 0x00000000003e5446 <thread_main_c+38>
>>> 0x0000000000388f82 <???+3706754>
>>>
>>> When I build it using go 1.7.6:
>>> OSv v0.24-469-g2eab5f3
>>> eth0: 192.168.122.15
>>> syscall(): unimplemented system call 200
>>> syscall(): unimplemented system call 231
>>> page fault outside application, addr: 0x0000000000000000
>>> [registers]
>>> RIP: 0x0000000000378615 <call_signal_handler+309>
>>> RFL: 0x0000000000010206  CS:  0x0000000000000008  SS:  0x0000000000000010
>>> RAX: 0x0000000000f55ef0  RBX: 0x0000000000000008  RCX: 
>>> 0x0000100000ca401b  RDX: 0x0000000000000000
>>> RSI: 0x000000000000000b  RDI: 0x0000000000000002  RBP: 
>>> 0x00002000001ffcb0  R8:  0x0000000000000001
>>> R9:  0x0000000000c2c5b0  R10: 0x0000000000000008  R11: 
>>> 0x0000000000000202  R12: 0xffffa00001787190
>>> R13: 0x0000000000c2c5b0  R14: 0x0000000000000008  R15: 
>>> 0x0000000000000202  RSP: 0x00002000001ff580
>>> Aborted
>>>
>>> [backtrace]
>>> 0x000000000032a168 <???+3318120>
>>> 0x000000000032b14b <mmu::vm_fault(unsigned long, exception_frame*)+171>
>>> 0x0000000000389178 <page_fault+136>
>>> 0x0000000000388006 <???+3702790>
>>> 0x0000000000388f8a <???+3706762>
>>> 0x0000100000c8555b <???+13129051>
>>> 0x0000100000ca0786 <???+13240198>
>>> 0x00000000003e5446 <thread_main_c+38>
>>> 0x0000000000388f82 <???+3706754>
>>>
>>> I thought that this simple app was supposed to work. It does not use 
>>> goroutines and should not have issues with "tiny stack" - 
>>> https://github.com/cloudius-systems/osv/issues/808. 
>>>
>>
>> I don't think this example works with the mainline version of OSv, see 
>> https://github.com/cloudius-systems/osv/issues/850
>> Benoit had some additional go-related OSv patches that were never 
>> committed, and I believe are important to run this test.
>> Benoit, is this also what you remember?
>> Seeing the error is different in the two versions of Go, it's also 
>> possible that the Go runtime changed and we also have new problems now...
>>
>> If you have the energy and interest to work with Go, you are welcome to 
>> revive that thread of committing Benoit's patches, as well as testing them 
>> on the new Go (with Benoit's patches, this test should work but perhaps 
>> never exit, as shown in issue #850). I don't know if Benoit is still 
>> interest to be involved.
>>
>>
>>
>>> What am I doing wrong?
>>>
>>> Waldek 
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "OSv Development" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to osv-dev+u...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osv-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to