| 10 Sep 2024 |
colemickens | xargs cp :/ | 06:25:21 |
colemickens | runs out of mem | 06:25:25 |
colemickens | https://github.com/nix-community/disko/blob/e55f9a8678adc02024a4877c2a403e3f6daf24fe/lib/make-disk-image.nix#L200
💀 | 06:31:03 |
colemickens | minus a couple small things, disko was great. got a gpt rk3588 uboot+roofs emmc image image, all automated with disko. | 07:47:18 |
colemickens | truly much more pleasant that sdImage | 07:47:39 |
matthewcroughan | In reply to @colemickens:matrix.org xargs cp :/ OMG you found the reason for the out of mem? | 11:36:09 |
matthewcroughan | Can we fix it | 11:36:11 |
matthewcroughan | lassulus: | 11:36:26 |
matthewcroughan | https://github.com/nix-community/disko/blob/e55f9a8678adc02024a4877c2a403e3f6daf24fe/disko-install#L238 | 11:36:45 |
matthewcroughan | xargs cp is running out of mem apparently according to cole | 11:36:56 |
lassulus | hm? I thought the xargs cp was used instead of the nix copy since it uses less memory? | 11:37:01 |
matthewcroughan | * xargs cp is running out of mem apparently in disko according to cole | 11:37:01 |
matthewcroughan | maybe both do and we still haven't found the reason, but it's interesting that cole identified it almost immediately | 11:37:25 |
lassulus | yeah copying derivations is usually the step where we do OOM | 11:38:51 |
| @shinri:zince.net left the room. | 12:37:47 |
colemickens | no no | 14:57:14 |
colemickens | so the issue is that there's a module option for memSize, that is ignored in the impure/script route. | 14:57:29 |
colemickens | I can try to remember to send a small patch for that. | 14:57:38 |
colemickens | The postVM example is also ... wrong (you can't glob like that in a script), and ALSO a bit scary, because the script just clobbers $out/disk0.raw, no matter what is there, and worse, if the globbing worked, would just hit every "*raw" in whatever $out happens to be. | 14:58:30 |
colemickens | But also, yeah, it would be cool if it didn't use up a fair bit of ram just running 'cp' :) | 14:59:03 |
colemickens | * The postVM example is also ... wrong (you can't glob like that in a script), and ALSO a bit scary, because the script just clobbers $out/disk0.raw, no matter what is there, and worse, if the globbing worked, would just hit every "*raw" in whatever $out happens to be. (In "impure" $out is just where you run the image script from!) | 14:59:43 |
matthewcroughan | In reply to @colemickens:matrix.org But also, yeah, it would be cool if it didn't use up a fair bit of ram just running 'cp' :) the image builder occasionally ooms still to this day I think | 15:23:07 |
matthewcroughan | it's not very reproducible, just happens sometimes | 15:23:13 |
matthewcroughan | maybe we could replace xargs and cp with rust based things and see if it still happens | 15:24:16 |
matthewcroughan | There is rargs and fcp | 15:24:46 |
matthewcroughan | * There is rargs and fcp both written in rust | 15:24:54 |
matthewcroughan | * There is rargs and fcp or cn, both written in rust | 15:25:08 |
matthewcroughan | * There is rargs and fcp, both written in rust | 15:25:57 |
matthewcroughan | There's also https://github.com/uutils/coreutils | 15:27:50 |
matthewcroughan | IDK, I've played with 10,000+ arguments in xargs before, you run out of some limit like the stack size limit | 15:29:39 |