cloudozer / ling

Erlang on Xen

Home Page:http://erlangonxen.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project status

lessless opened this issue · comments

Hello peeps,

It's a sorrow to see that such extraordinaire project isn't being updated! What is the current status and future plans?

All recent updates to the code were customer-driven. New users mean new updates. The likely application area for this is NFV, modular software for telecoms. No definite plans,

@maximk You might find the following post interesting, given that you mention NFV. You probably met Wassim and Heikki at SCaLE.
http://unikernel.org/blog/2016/unikernel-nfv-platform

it's sad to see such a peace rotting here … so i would offer my open source time to work here but i'm kinda new to unikernels … but if someone will give me a hand here to start and how - i would love to keep this running.

@bmalum I'm glad to help, I'm available at https://gitter.im/cloudozer/ling or in personal messaging there.

P.S. I took part in developing LING in the past.

I too would like to revive this project. I have been trying to bring this to V19 of Erlang but running into compile time issues when running 'railing image'. Any pointers or doc or anything to point me in the right direction would be amazing...

Please. Zero OS unikernels is very important. Not the least being practically zero attack surface.

@EarlGray Let me ask you, if you were tasked to bring LING to V19, where would you start? I tried the simple, get it to compile under the latest revs, fixed all the warnings, added Erlang:time stamp as a BIF... all seemed ok but running Railing generates an exception in one of the encoding beam encoding libraries... Where could you point me?

Thanks for any help...

@maximk Thanks for helping...

Here is the first significant warning

core/ling_main.c: In function ‘proc_main’:
core/ling_main.c:5678:3: warning: array subscript is above array bounds [-Warray-bounds]
rs[1022] = *(term_t *)expand_ptr(tmp_arg1);
^
core/ling_main.c:5976:7: warning: array subscript is above array bounds [-Warray-bounds]
if (rs[1022] != (term_t)ip[2])
^

Now changing NUM_REGS to 1024 fixes the warning, but I see some significance to 1022.

Here is the error when running railing image for cowboy's hello_world example.

_Compile: rel/hello_world_example/lib/asn1-4.0.4/ebin/asn1ct_check.beam
escript: exception error: no function clause matching ling_lib:enc({reg_as_term,1022}) (bc/ling_lib.erl, line 233)
in function ling_lib:'-encode/1-lc$^0/1-0-'/1 (bc/ling_lib.erl, line 231)
in call from ling_lib:'-encode/1-lc$^0/1-0-'/1 (bc/ling_lib.erl, line 231)
in call from ling_lib:encode/1 (bc/ling_lib.erl, line 231)
in call from ling_lib:code_chunk/1 (bc/ling_lib.erl, line 174)
in call from ling_lib:specs_to_binary/1 (bc/ling_lib.erl, line 125)
in call from railing:compile/2 (railing/railing.erl, line 399)
in call from railing:'-main/1-lc$^9/1-8-'/2 (railing/railing.erl, line 198)

This 1022 pops again. Happens wetter the NUM_REGS is set to 1024 too.

I compiled LING with the latest build-essential, using Erlang V19.2

I added a new BIF for erlang:timestamp() (I just duplicated what was there for erlang:now() ).

Let me know if you need anything else.

Thanks

I made some progress towards enabling erlang 19.0. Now I crashed at: but at least otp is starting.

TRACEEX: caught [<0.10.0>] error:badarg stack [{maps,merge,[#cp,#err(0x1027e94e)],[]},{supervisor,check_flags,1,[{file,"supervisor.erl"},{line,1254}]},{supervisor,set_flags,2,[{file,"supervisor.erl
"},{line,1244}]},{supervisor,init,1,[{file,"supervisor.erl"},{line,296}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,328}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}
]

If it is pressing/important I can have a look into it. I will need sources with the latest changes.

I found the issue. the map implementation in ling is incomplete and buggy. in 17.0, there is almost no usage for map. but in 19.0, map is used for process state.

Please check my latest commit in my branch to see the code. code is quick code and I even use bubble sort.

Now I am facing another crash in execute instruction get_map_elements_0.

updates, after fixing all map related issue, the shell actual starts (still one more thing to go that there is no echo when typing.) but at least erlang VM starts well now.

This is true that the map implementation leaves much to be desired. It has not been in use much.

Yes. now it is used in many places of stdlib. Now I am porting over one change which cause no echo after started, erlang/otp@48083e5

finally, the console works. time to try. I don't have XEN box and I only tested posix ARCH.

Erlang [ling-0.5.0]
Eshell V6.3 (abort with ^G)
1> test:run(lists).
append_1 ok
append_2 ok
....
Total: 68, Ok: 68, Failed: 0
{68,0}
2> q().
ok
3> console_detach()

The homepage for this project is down. I'll have to assume the project is dead?

:'(

Is it project is down? I like help this amazing opensource project to continues. :(

yes, would be great to see this project continue, it has a lot of potential

not sure if Maksym is around to maintain this, further development and keeping up with Erlang updates requires a team so perhaps when there is a commercial demand and budget someone can fork this and continue hopefully keeping it open source