Thanks for reply ! This seems to have no side effects for real-world websites. And I don't know OCaml, so I will open an issue in v8.
在2023年10月25日星期三 UTC+8 18:32:18<Clemens Backes> 写道: > If you look at the JS test file, it contains lots of these lines: > > let $1 = instance(...); > assert...($1, ...); > let $2 = instance(...); > assert...($2, ...); > > > So the instances (and also the contained memory objects) never go out of > scope. > These files are generated from the spec tests (written in wast format) by > the reference interpreter. This translation is implemented in the js.ml > file > <https://github.com/WebAssembly/spec/blob/main/interpreter/script/js.ml#L599> > . > If you know OCaml you could upload a PR to either reset the instances when > they are not needed any more ($1 = undefined), or to scope the instances. > If you don't know OCaml, you could also open an issue in the spec > repository and see if someone is willing to fix this. > > -Clemens > > > > On Wed, Oct 25, 2023 at 10:20 AM 'Andreas Haas' via v8-dev < > v8-...@googlegroups.com> wrote: > >> Hi, >> >> The test allocates 33 wasm memories, 10GB each. It can be that in such a >> situation garbage collection of wasm memories does not work perfectly, and >> eventually it cannot find memory anymore to allocate. The tests don't test >> if you are >> able to allocate a large number of wasm instances and wasm memories, this >> is just a side effect.On real-world websites there are typically not so >> many wasm memories, and they are used more and for longer so that the GC >> can keep up with it. >> >> Cheers, Andreas >> >> On Wed, Oct 25, 2023 at 3:53 AM Liu Yu <li...@loongson.cn> wrote: >> >>> Hi all, >>> >>> When porting the code pointer sandbox, I set the sandbox size on loong64 >>> to 256GB because some loongarch machines are configured with only 40-bit >>> virtual address space for user space. >>> >>> However, after the port, I found that some wasm tests would fail, such as >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> *=== wasm-spec-tests/memory_copy === >>> test/wasm-spec-tests/tests/memory_copy.js:74: RangeError: >>> WebAssembly.Instance(): Out of memory: Cannot allocate Wasm memory for new >>> instance return new WebAssembly.Instance(module(bytes), imports); >>> ^RangeError: WebAssembly.Instance(): Out of memory: Cannot allocate Wasm >>> memory for new instance at instance >>> (test/wasm-spec-tests/tests/memory_copy.js:74:10) at >>> test/wasm-spec-tests/tests/memory_copy.js:12772:11Command: >>> out_dir/loong64.release/d8 --test test/wasm-spec-tests/tests/memory_copy.js >>> --random-seed=967154330 --nohard-abort --testing-d8-test-runner--- FAILED >>> ---* >>> >>> I changed the sandbox size to 256GB on arm64 linux, and tests will also >>> go wrong. It seems that the error is caused by insufficient memory in the >>> sandbox. >>> >>> Tests like wasm-spec-tests/memory_copy and wasm-spec-tests/memory_init >>> include many small wasm casts; Is the number of wasm instance also part of >>> the test, or does it only need to be correct for each small instance? On >>> real-world >>> websites, will there be an error due to insufficient memory because the >>> sandbox is too small? >>> >>> -- >>> -- >>> v8-dev mailing list >>> v8-...@googlegroups.com >>> http://groups.google.com/group/v8-dev >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "v8-dev" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to v8-dev+un...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/v8-dev/e2051aee-c1ee-46a3-97a2-8442984cc384n%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/v8-dev/e2051aee-c1ee-46a3-97a2-8442984cc384n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> >> >> -- >> >> Andreas Haas >> >> Software Engineer >> >> ah...@google.com >> >> >> Google Germany GmbH >> >> Erika-Mann-Straße 33 >> >> 80636 München >> >> >> Geschäftsführer: Paul Manicle, Liana Sebastian >> >> Registergericht und -nummer: Hamburg, HRB 86891 >> >> Sitz der Gesellschaft: Hamburg >> >> >> Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise erhalten >> haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter, >> löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen, >> dass die E-Mail an die falsche Person gesendet wurde. >> >> >> >> This e-mail is confidential. If you received this communication by >> mistake, please don't forward it to anyone else, please erase all copies >> and attachments, and please let me know that it has gone to the wrong >> person. >> >> -- >> -- >> v8-dev mailing list >> v8-...@googlegroups.com >> http://groups.google.com/group/v8-dev >> --- >> You received this message because you are subscribed to the Google Groups >> "v8-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to v8-dev+un...@googlegroups.com. >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/v8-dev/CAELSTve1VR7-51nj2DOF27UOGRB_6G5Dhp4dJhHU6UW8k-3Okw%40mail.gmail.com >> >> <https://groups.google.com/d/msgid/v8-dev/CAELSTve1VR7-51nj2DOF27UOGRB_6G5Dhp4dJhHU6UW8k-3Okw%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > > > -- > > Clemens Backes > > Software Engineer > > clem...@google.com > > Google Germany GmbH > > Erika-Mann-Straße 33 > > 80636 München > > Geschäftsführer: Paul Manicle, Liana Sebastian > > Registergericht und -nummer: Hamburg, HRB 86891 > > Sitz der Gesellschaft: Hamburg > > Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise erhalten > haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter, > löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen, > dass die E-Mail an die falsche Person gesendet wurde. > > > This e-mail is confidential. If you received this communication by > mistake, please don't forward it to anyone else, please erase all copies > and attachments, and please let me know that it has gone to the wrong > person. > > > -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/8102bd81-d951-4f3c-a050-dcf690531b7bn%40googlegroups.com.