diff options
Diffstat (limited to 'gitlab/issues/target_missing/host_x86/accel_missing/1895.toml')
| -rw-r--r-- | gitlab/issues/target_missing/host_x86/accel_missing/1895.toml | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/gitlab/issues/target_missing/host_x86/accel_missing/1895.toml b/gitlab/issues/target_missing/host_x86/accel_missing/1895.toml deleted file mode 100644 index 008f594b2..000000000 --- a/gitlab/issues/target_missing/host_x86/accel_missing/1895.toml +++ /dev/null @@ -1,154 +0,0 @@ -id = 1895 -title = "qemu-user uses fixed stack size and ignores RLIMIT_STACK request, causing some guest programs to crash" -state = "opened" -created_at = "2023-09-17T00:26:47.368Z" -closed_at = "n/a" -labels = ["host: x86", "linux-user"] -url = "https://gitlab.com/qemu-project/qemu/-/issues/1895" -host-os = "Arch Linux" -host-arch = "x86_64" -qemu-version = "qemu-riscv64 version 8.1.0" -guest-os = "Arch Linux riscv64" -guest-arch = "riscv64" -description = """When compiling a source file, g++ segmentation faults in qemu-user riscv64. But it doesn't fail on real riscv64 boards. - -We discovered this problem while compiling nodejs-lts-hydrogen. The source file has been reduced to 5KB by cvise.""" -reproduce = """1. Setup an Arch Linux riscv64 qemu-user container: https://github.com/felixonmars/archriscv-packages/wiki/Setup-Arch-Linux-RISC-V-Development-Environment -2. Start the container: `sudo systemd-nspawn -D ./archriscv -a -U` -3. Install gcc inside the container: `sudo pacman -Syu gcc` -4. Run the following command in the container: `g++ -S testcase.i -w -fpreprocessed -o /dev/null` [testcase.i](/uploads/d63b1867a458a240ef0d90c760d76bc7/testcase.i) -5. g++ segmentation faults: `g++: internal compiler error: Segmentation fault signal terminated program cc1plus`""" -additional = """Initially I thought this is a g++ bug. But I can't reproduce this bug on real riscv64 hardware. - -g++ version: g++ (GCC) 13.2.1 20230801 - -testcase.i: - -```c++ -namespace std { -typedef long unsigned size_t; -inline namespace __cxx11 {} -} // namespace std -typedef char uint8_t; -namespace std { -template <typename _Default, typename, template <typename> class> -struct __detector { - using type = _Default; -}; -template <typename _Default, template <typename> class _Op> -using __detected_or = __detector<_Default, void, _Op>; -template <typename _Default, template <typename> class _Op> -using __detected_or_t = typename __detected_or<_Default, _Op>::type; -template <typename> class allocator; -namespace __cxx11 { -template <typename _CharT, typename = _CharT, typename = allocator<_CharT>> -class basic_string; -} -typedef basic_string<char> string; -} // namespace std -template <typename _Tp> class __new_allocator { -public: - typedef _Tp value_type; -}; -namespace std { -template <typename _Tp> using __allocator_base = __new_allocator<_Tp>; -template <typename _Tp> class allocator : public __allocator_base<_Tp> {}; -template <class _E> class initializer_list { - typedef size_t size_type; - typedef _E *iterator; - iterator _M_array; - size_type _M_len; -}; -struct __allocator_traits_base { - template <typename _Tp> using __pointer = typename _Tp::const_pointer; -}; -template <typename _Alloc> struct allocator_traits : __allocator_traits_base { - typedef typename _Alloc::value_type value_type; - using pointer = __detected_or_t<value_type, __pointer>; -}; -} // namespace std -namespace __gnu_cxx { -template <typename _Alloc> -struct __alloc_traits : std::allocator_traits<_Alloc> {}; -} // namespace __gnu_cxx -namespace std { -namespace __cxx11 { -template <typename _CharT, typename, typename _Alloc> class basic_string { - typedef __gnu_cxx::__alloc_traits<_Alloc> _Alloc_traits; - -public: - typedef typename _Alloc_traits::pointer pointer; - struct _Alloc_hider { - _Alloc_hider(pointer, _Alloc); - } _M_dataplus; - pointer _M_local_data(); - basic_string(_CharT *, _Alloc __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) {} - ~basic_string(); -}; -} // namespace __cxx11 -} // namespace std -namespace v8 { -class StartupData {}; -} // namespace v8 -namespace std { -template <typename _Tp> class vector { -public: - typedef _Tp value_type; - vector(initializer_list<value_type>); -}; -namespace builtins { -struct CodeCacheInfo { - string id; - vector<uint8_t> data; -}; -} // namespace builtins -struct IsolateDataSerializeInfo {}; -struct EnvSerializeInfo {}; -struct SnapshotMetadata { - enum { kDefault } type; - string node_version; - string node_arch; - string v8_cache_version_tag; -}; -struct SnapshotData { - enum { kNotOwned } data_ownership; - SnapshotMetadata metadata; - v8::StartupData v8_snapshot_blob_data; - IsolateDataSerializeInfo isolate_data_info; - EnvSerializeInfo env_info; - vector<builtins::CodeCacheInfo> code_cache; -} snapshot_data{ - SnapshotData::kNotOwned, - SnapshotMetadata::kDefault, - "", - "", - "", - {}, - {}, - {}, - {{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}}}; -} // namespace std -```""" |