Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ERROR Objects are not valid as a React child #396

Open
jon-bit opened this issue Sep 24, 2024 · 26 comments
Open

ERROR Objects are not valid as a React child #396

jon-bit opened this issue Sep 24, 2024 · 26 comments

Comments

@jon-bit
Copy link

jon-bit commented Sep 24, 2024

I have no clue what is means or why it is doing this but I made my own kernel, installed somethings here and their and now when I install I get this after going throw the CLI install process. I have used 10.0.038 and 39 but the result is the same and I have no clue why. @pieroproietti and ideas?

 ERROR Objects are not valid as a React child (found: [object Error]). If you
       meant to render a collection of children, use an array instead.

 /usr/lib/penguins-eggs/node_modules/.pnpm/[email protected][email protected]
 /node_modules/react-reconciler/cjs/react-reconciler.development.js:4279:9

 4276:
 4277: function throwOnInvalidObjectType(returnFiber, newChild) {
 4278:   var childString = Object.prototype.toString.call(newChild);
 4279   throw new Error("Objects are not valid as a React child (found: " + 
 :   (childString === '[object Object]' ? 'object with keys {' + 
     Object.keys(newChild).join(', ') + '}' : childString) + "). " + 'If you 
     meant to render a collection of children, use an array ' + 'instead.');
 4280: }
 4281:
 4282: function warnOnFunctionType(returnFiber) {

 -throwOnInvalidObje (/usr/lib/penguins-eggs/node_modules/.pnpm/react-reconcile
  ctType            [email protected][email protected]/node_modules/react-reconciler/cjs/rea
                    ct-reconciler.development.js:4279:9)
 -createChil (/usr/lib/penguins-eggs/node_modules/.pnpm/[email protected]
            [email protected]/node_modules/react-reconciler/cjs/react-reconciler.de
            velopment.js:4531:7)
 -reconcileChildren (/usr/lib/penguins-eggs/node_modules/.pnpm/react-reconciler
  rray             @[email protected]/node_modules/react-reconciler/cjs/react
                   -reconciler.development.js:4796:25)
 -reconcileChildFi (/usr/lib/penguins-eggs/node_modules/.pnpm/react-reconciler@
  ers             [email protected]/node_modules/react-reconciler/cjs/react-r
                  econciler.development.js:5213:16)
 -reconcileChild (/usr/lib/penguins-eggs/node_modules/.pnpm/react-reconciler@0.
  en            [email protected]/node_modules/react-reconciler/cjs/react-recon
                ciler.development.js:10359:28)
 -updateHostCompo (/usr/lib/penguins-eggs/node_modules/.pnpm/react-reconciler@0
  ent            [email protected]/node_modules/react-reconciler/cjs/react-rec
                 onciler.development.js:11126:3)
 -beginWor (/usr/lib/penguins-eggs/node_modules/.pnpm/[email protected]_r
          [email protected]/node_modules/react-reconciler/cjs/react-reconciler.develo
          pment.js:12830:14)
 -beginWork$ (/usr/lib/penguins-eggs/node_modules/.pnpm/[email protected]
            [email protected]/node_modules/react-reconciler/cjs/react-reconciler.de
            velopment.js:19608:14)
 -performUnitOfW (/usr/lib/penguins-eggs/node_modules/.pnpm/react-reconciler@0.
  rk            [email protected]/node_modules/react-reconciler/cjs/react-recon
                ciler.development.js:18742:12)
 -workLoopSy (/usr/lib/penguins-eggs/node_modules/.pnpm/[email protected]
  c         [email protected]/node_modules/react-reconciler/cjs/react-reconciler.de
            velopment.js:18648:5)
@jon-bit
Copy link
Author

jon-bit commented Sep 24, 2024

Also, I made my own kernel (patched 6.11.0) if that helps.

@pieroproietti
Copy link
Owner

This come from ink, the module used for the installer TUI. It use react on CLI, but it's the same used for web and others.

Why happen and that to do with your kernel I don't know... But it's curious.

@jon-bit
Copy link
Author

jon-bit commented Sep 24, 2024

Let me try with out the kernel. I'll let you know what happens. (But I'll need a while)

@pieroproietti
Copy link
Owner

This Is the repo of ink https://github.com/vadimdemedes/ink

@jon-bit
Copy link
Author

jon-bit commented Sep 24, 2024

Well... It worked ... Let me try one more time.

@jon-bit
Copy link
Author

jon-bit commented Sep 24, 2024

Hmmmmmm. Did not work with the new kernel... Is their a way to increase the size of the boot partition in CLI install? That might be OK for what I'm trying to do.

@jon-bit
Copy link
Author

jon-bit commented Sep 24, 2024

Sorry I meant to add @pieroproietti . After all the crater would know the most, of this AMAZING project.

@jon-bit
Copy link
Author

jon-bit commented Sep 24, 2024

Hmmmmm. Well the GUI works...But not the CLI.

@jon-bit
Copy link
Author

jon-bit commented Sep 27, 2024

OK I just found out that it is the ENCRYPTION that does not work GUI or CLI install. @pieroproietti any idea?

@pieroproietti
Copy link
Owner

To put it in order. but we must to know how ! :-)

@jon-bit
Copy link
Author

jon-bit commented Sep 27, 2024

I have no clue why. BUT if you do the CLI encrypted WITHOUT my kernel it does work. Is their any kernel mods you need for luks? maybe they are not on?

@pieroproietti
Copy link
Owner

We must make a tempt, just send me - in same way - your kernel and I will try... don't see other way. But I'm not an expert of kernel btw...

@jon-bit
Copy link
Author

jon-bit commented Sep 27, 2024

It's just kernel 6.11 with these patches:
1.patch

index dd92361f41b3..f0a9ae22f691 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -7556,7 +7556,7 @@ static u8 vmx_get_mt_mask(struct kvm_vcpu *vcpu, gfn_t gfn, bool is_mmio)
                return MTRR_TYPE_UNCACHABLE << VMX_EPT_MT_EPTE_SHIFT;
        if (!kvm_arch_has_noncoherent_dma(vcpu->kvm))
-               return (MTRR_TYPE_WRBACK << VMX_EPT_MT_EPTE_SHIFT) | VMX_EPT_IPAT_BIT;
+               return (MTRR_TYPE_WRBACK << VMX_EPT_MT_EPTE_SHIFT);
        if (kvm_read_cr0(vcpu) & X86_CR0_CD) {
                if (kvm_check_has_quirk(vcpu->kvm, KVM_X86_QUIRK_CD_NW_CLEARED))

2.patch

diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 72c4e6b39..043c97b3c 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -2382,8 +2382,10 @@ static int hva_to_pfn_remapped(struct vm_area_struct *vma,
	* would then underflow the refcount when the caller does the
	* required put_page. Don't allow those pages here.
	*/
- 	if (!kvm_try_get_pfn(pfn))
- 	r = -EFAULT;
+ 	if (!kvm_try_get_pfn(pfn)) {
+ 		//r = -EFAULT;
+ 		printk("Not force EFAULT: %s %d r = %d, pfn = 0x%016llx\n", __FUNCTION__, __LINE__, r, pfn);
+ 	}

3.patch

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index c875f1cdd..6d7664a1f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -1143,8 +1143,10 @@ static int amdgpu_ttm_tt_populate(struct ttm_device *bdev,
	if (ret)
		return ret;

- 	for (i = 0; i < ttm->num_pages; ++i)
+ 	for (i = 0; i < ttm->num_pages; ++i) {
		ttm->pages[i]->mapping = bdev->dev_mapping;
+ 		page_ref_inc(ttm->pages[i]);
+ 	}

	return 0;
}
@@ -1174,8 +1176,10 @@ static void amdgpu_ttm_tt_unpopulate(struct ttm_device *bdev,
	if (ttm->page_flags & TTM_TT_FLAG_EXTERNAL)
		return;

- 	for (i = 0; i < ttm->num_pages; ++i)
+ 	for (i = 0; i < ttm->num_pages; ++i) {
		ttm->pages[i]->mapping = NULL;
+ 		page_ref_dec(ttm->pages[i]);
+ 	}

and in .config:
CONFIG_UDMABUF=y
CONFIG_X86_X2APIC=y
CONFIG_DRM_VIRTIO_GPU=y
CONFIG_TRANSPARENT_HUGEPAGE=n

after that build and install

@jon-bit
Copy link
Author

jon-bit commented Sep 27, 2024

1 more update

I tryed installing the kernel (6.11) but booting the iso off another (6.8.0) and... It failed again. Strange.

edit: Yes it is the encryption. I tryed the same thing with out encryption and It seem to be flawless(at least not error).

@jon-bit
Copy link
Author

jon-bit commented Sep 28, 2024

@pieroproietti I can just install the kernel later after putting in the root dir. How can I make the boot partition bigger on install(CLI)?

@jon-bit
Copy link
Author

jon-bit commented Oct 2, 2024

OK, I have another update. kernel 6.11.1 Is most likely the problem. I have installed 6.6.53 and it worked.

@jon-bit
Copy link
Author

jon-bit commented Oct 2, 2024

Never mind it failed. So it is anything that is a costume kernel, with encryption by the looks of it.

@jon-bit
Copy link
Author

jon-bit commented Oct 6, 2024

@pieroproietti I just wanted to give an big update. LVM2 does not work as well. I can try one more thing. Affter that I have no clue what to do. Do you have any ideas?

@jon-bit
Copy link
Author

jon-bit commented Oct 6, 2024

OK none of the disk options work if it is encrypted. I will have to try again tomorrow if anyone has suggestions.

@pieroproietti
Copy link
Owner

pieroproietti commented Oct 6, 2024

Hi @jon-bit
I'm really sorry if not work, that to say it's difficult for me to understand what are doing, with kernel, LVM, encrypt and so on.

My experience on Linux is mostly relative to remaster, trying to join more distros in one, in same way... here I became enought expert.

Unfortunately I have not idea about that to suggest, just can say: eggs is plain - that is in the janitor - that re-produce.

Today after a week - I was ready to release from monday - I was able to solve a problem arise with manjarolinux and biglinux. At last was easy; just the lacks of a package sudo pacman -S manjaro-tools-iso-git. But just this, make me crazy for the week.

Well, I learned others things in the while, and now I will release the new version.

A big hug for your effort!

@jon-bit
Copy link
Author

jon-bit commented Oct 6, 2024

Hmmmmmmmmm. That give me an idea. I'm going to take my old kernel .config and just slap it on top of my new one lets see if it works.

@jon-bit
Copy link
Author

jon-bit commented Oct 6, 2024

OK it did not. One last idea. I will make a non encrypted egg and then make one off of that. After that I'm out.

@jon-bit
Copy link
Author

jon-bit commented Oct 6, 2024

Nope. Did'nt work. I'm out of ideas.

@jon-bit
Copy link
Author

jon-bit commented Oct 9, 2024

OK I went throw my last ideas and none worked. I built the kernel without the patch or and only with the .config parameters I need in the first place. Regardless it failed. I might be able to slip around this with a bigger /boot partition. @pieroproietti is their a way to make the /boot directory bigger on eggs on install with the CLI?

@pieroproietti
Copy link
Owner

pieroproietti commented Oct 9, 2024

The most easy way Is just to edit /src/krill/modules/partition.ts

Change the partitition size and reinstall eggs from your source following this.

I think you can.

@jon-bit
Copy link
Author

jon-bit commented Oct 25, 2024

Sorry for the late update. Yes this does work. I don't know if the bug is still active if you use your own kernel so I will keep it open for now but making the /boot lager does work at least to some degree if you build it in advance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants