Re: proc_task2proc prototype change

2017-05-09 Thread Justus Winter
Samuel Thibault  writes:

> Justus Winter, on dim. 07 mai 2017 17:42:24 +0200, wrote:
>> Can you paste the client code?
>
> kern_return_t __proc_task2proc
> (
> process_t process,
> mach_port_t task,
> mach_port_t *proc,
> mach_msg_type_name_t *procPoly

Interesting.  For a moment I thought that I missed that polymorphic can
also mean "not only a right, but maybe an integer", but I indeed used
the MIG type 'mach_port_poly_t', so it knows that it will be a right.  I
obviously wasn't aware that the client code will also get another
parameter.

This is really unfortunate, not only because I broke the libc build this
time (sorry), but because every use of the MIG type 'mach_port_t' aka
MACH_MSG_TYPE_COPY_SEND as an 'out' parameter severely limits what the
server code can do: It is not possible to move a send right when
returning from the rpc, making it impossible to interpose this rpc.  And
function interposing is at the heart of the Mach design.  Likewise for
'mach_port_make_send_t' and any other non-polymorphic right type.

To answer your previous question, how to do that only for the server
side: It is possible to do so using either some preprocessor trickery,
or some other means of transformation (awk) on the protocol
specification, or by manually rewriting and committing a specialized rpc
definition.  Every one of these techniques is used in the Hurd, and I
despise them all ;)

Maybe we can fix MIG so that we can get server-side-polymorphic right
parameters.  Because I see us doing what I've done for these three
procedures every time we want to interpose something, and interposing is
what Mach is about aiui.


Justus


signature.asc
Description: PGP signature


guile-2.2.0 in GNU/Hurd

2017-05-09 Thread rennes

Hello,

I forwarded the mail about the guile-2.2 bug in Hurd; Andy a guile  
developer comments on the error as follows:


"'Setrlimit' is incapable of limiting your memory usage."

I understand that Hurd is an OS that is under development/experimental  
and has not yet implemented functions/features as mentioned.

Given this situation, can we do something about it?


On 05/02/2017 02:39:18 PM, Andy Wingo wrote:

On Thu 27 Apr 2017 04:35, rennes  writes:

> We are testing guile-2.2.0 in GNU/Hurd, we have passed the build  
phase

> setting "--disable-largefile" parameter to configure script.
> On the other hand in the check phase, get the error:
>
> wrote
>  
`/tmp/guix-build-guile-2.2.0.drv-0/guile-2.2.0/cache/guile/ccache/2.2-LE-4-3.9/tmp/guix-build-guile-2.2.0.drv-0/guile-2.2.0/test-suite/standalone/test-out-of-memory.go'

> Backtrace:
> 7 (apply-smob/1 #)
> In ice-9/boot-9.scm:
>  710:2  6 (call-with-prompt _ _ #default-prompt-handle?>)

> In ice-9/eval.scm:
>  619:8  5 (_ #(#(#)))
> In ice-9/boot-9.scm:
> 2309:4  4 (save-module-excursion _)
>3816:12  3 (_)
> In ./test-out-of-memory:
>   53:0  2 (_)
> In ice-9/boot-9.scm:
>  834:9  1 (catch _ _ #./test-out-of-memory:?>

> ?)
> In unknown file:
> 0 (scm-error misc-error #f "~A" ("should not be  
reached") #)

>
> ERROR: In procedure scm-error:
> ERROR: should not be reached
> FAIL: test-out-of-memory

This means that your "setrlimit" is incapable of limiting your memory
usage.  A Hurd bug?

Andy




Re: guile-2.2.0 in GNU/Hurd

2017-05-09 Thread mdn
Hello,
Hurd isn't a operating system it's a microkernel.
A kernel is software that manages hardware resources (ram, i/o etcetera...).
Linux is a kernel just like hurd is.
They just have different designs.

See more at:
https://en.wikipedia.org/wiki/GNU_Hurd
and of course
https://www.gnu.org/software/hurd/

I Hope this helped you.
Freely
BERNARD

rennes  writes:
>Hello,
>
>I forwarded the mail about the guile-2.2 bug in Hurd; Andy a guile
>developer comments on the error as follows:
>
>
>"'Setrlimit' is incapable of limiting your memory usage."
>
>I understand that Hurd is an OS that is under development/experimental
>and has not yet implemented functions/features as mentioned.
>
>Given this situation, can we do something about it?



signature.asc
Description: OpenPGP digital signature


Re: guile-2.2.0 in GNU/Hurd

2017-05-09 Thread Svante Signell
On Tue, 2017-05-09 at 18:42 +0200, mdn wrote:
> Hello,
> Hurd isn't a operating system it's a microkernel.
> A kernel is software that manages hardware resources (ram, i/o
> etcetera...).
> Linux is a kernel just like hurd is.
> They just have different designs.
> 
> See more at:
> https://en.wikipedia.org/wiki/GNU_Hurd
> and of course
> https://www.gnu.org/software/hurd/
> 
> I Hope this helped you.
> Freely
> BERNARD

Maybe you have misunderstood things? The kernel in GNU/Hurd is gnumach
and Hurd is a set of servers running on top of gnumach, creating a
POSIX-like system. I think the wikipedia terminology is not accurate.
Any volunteers?



Re: guile-2.2.0 in GNU/Hurd

2017-05-09 Thread Samuel Thibault
Hello,

rennes, on mar. 09 mai 2017 08:32:21 -0500, wrote:
> I forwarded the mail about the guile-2.2 bug in Hurd; Andy a guile developer
> comments on the error as follows:
> 
> "'Setrlimit' is incapable of limiting your memory usage."

Indeed, I think it's not implemented yet.

> I understand that Hurd is an OS that is under development/experimental and
> has not yet implemented functions/features as mentioned.
> Given this situation, can we do something about it?

Well, either implement it :) or skip the test, I guess.

Samuel

> On 05/02/2017 02:39:18 PM, Andy Wingo wrote:
> > On Thu 27 Apr 2017 04:35, rennes  writes:
> > 
> > > We are testing guile-2.2.0 in GNU/Hurd, we have passed the build phase
> > > setting "--disable-largefile" parameter to configure script.
> > > On the other hand in the check phase, get the error:
> > >
> > > wrote
> > > `/tmp/guix-build-guile-2.2.0.drv-0/guile-2.2.0/cache/guile/ccache/2.2-LE-4-3.9/tmp/guix-build-guile-2.2.0.drv-0/guile-2.2.0/test-suite/standalone/test-out-of-memory.go'
> > > Backtrace:
> > > 7 (apply-smob/1 #)
> > > In ice-9/boot-9.scm:
> > >  710:2  6 (call-with-prompt _ _ # > default-prompt-handle?>)
> > > In ice-9/eval.scm:
> > >  619:8  5 (_ #(#(#)))
> > > In ice-9/boot-9.scm:
> > > 2309:4  4 (save-module-excursion _)
> > >3816:12  3 (_)
> > > In ./test-out-of-memory:
> > >   53:0  2 (_)
> > > In ice-9/boot-9.scm:
> > >  834:9  1 (catch _ _ #
> > > ?)
> > > In unknown file:
> > > 0 (scm-error misc-error #f "~A" ("should not be reached")
> > #)
> > >
> > > ERROR: In procedure scm-error:
> > > ERROR: should not be reached
> > > FAIL: test-out-of-memory
> > 
> > This means that your "setrlimit" is incapable of limiting your memory
> > usage.  A Hurd bug?
> > 
> > Andy
> 

-- 
Samuel
#include 



Re: guile-2.2.0 in GNU/Hurd

2017-05-09 Thread mdn
Thank you for the explanation.
But does Mach and the hurd servers combined make it's possible to call
it an operating system ?

Le 09/05/2017 19:23, Svante Signell a écrit :
> On Tue, 2017-05-09 at 18:42 +0200, mdn wrote:
>> Hello,
>> Hurd isn't a operating system it's a microkernel.
>> A kernel is software that manages hardware resources (ram, i/o
>> etcetera...).
>> Linux is a kernel just like hurd is.
>> They just have different designs.
>>
>> See more at:
>> https://en.wikipedia.org/wiki/GNU_Hurd
>> and of course
>> https://www.gnu.org/software/hurd/
>>
>> I Hope this helped you.
>> Freely
>> BERNARD
> 
> Maybe you have misunderstood things? The kernel in GNU/Hurd is gnumach
> and Hurd is a set of servers running on top of gnumach, creating a
> POSIX-like system. I think the wikipedia terminology is not accurate.
> Any volunteers?
> 



signature.asc
Description: OpenPGP digital signature


Re: guile-2.2.0 in GNU/Hurd

2017-05-09 Thread Svante Signell
On Tue, 2017-05-09 at 22:51 +0200, mdn wrote:
> Thank you for the explanation.
> But does Mach and the hurd servers combined make it's possible to
> call
> it an operating system ?

Yes, together with glibc. A lot of functionality lies there too.



Re: guile-2.2.0 in GNU/Hurd

2017-05-09 Thread mdn
Ok then.
Thank you for your time.
Have a good day/night.

Le 09/05/2017 23:25, Svante Signell a écrit :
> On Tue, 2017-05-09 at 22:51 +0200, mdn wrote:
>> Thank you for the explanation.
>> But does Mach and the hurd servers combined make it's possible to
>> call
>> it an operating system ?
> 
> Yes, together with glibc. A lot of functionality lies there too.
> 



signature.asc
Description: OpenPGP digital signature