Re: proc_task2proc prototype change
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
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
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
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
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
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
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
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