Created
August 25, 2019 16:51
-
-
Save jdonald/9136076abe39f494c5fe1b6820152c0a to your computer and use it in GitHub Desktop.
Dolphin EXT_buffer_storage crash details
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pi64)pi@raspberrypi:~/dolphin/build $ gdb -core core Binaries/dolphin-emu | |
GNU gdb (Debian 8.2.1-2) 8.2.1 | |
... | |
Core was generated by `Binaries/dolphin-emu'. | |
Program terminated with signal SIGSEGV, Segmentation fault. | |
#0 __memcpy_generic () at ../sysdeps/aarch64/multiarch/../memcpy.S:105 | |
105 ../sysdeps/aarch64/multiarch/../memcpy.S: No such file or directory. | |
[Current thread is 1 (Thread 0x7f88c0e4f0 (LWP 14152))] | |
(gdb) info threads | |
Id Target Id Frame | |
* 1 Thread 0x7f88c0e4f0 (LWP 14152) __memcpy_generic () at ../sysdeps/aarch64/multiarch/../memcpy.S:105 | |
2 Thread 0x7f8b7f44f0 (LWP 14143) 0x0000007fa29cc61c in __GI___nanosleep (requested_time=requested_time@entry=0x7f8b7f3af8, remaining=remaining@entry=0x0) at ../sysdeps/unix/sysv/linux/nanosleep.c:28 | |
3 Thread 0x7f70ff14f0 (LWP 14153) futex_abstimed_wait_cancelable (private=0, abstime=0x7f70ff0ca0, expected=0, futex_word=0x7f6c00b1e0) at ../sysdeps/unix/sysv/linux/futex-internal.h:205 | |
4 Thread 0x7f9c7c74f0 (LWP 14129) 0x0000007fa29f02f0 in __GI___poll (fds=0x7f94000b20, nfds=2, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41 | |
5 Thread 0x7f4fff44f0 (LWP 14156) __GI___libc_malloc (bytes=96) at malloc.c:3068 | |
6 Thread 0x7f4f7f34f0 (LWP 14157) ioctl () at ../sysdeps/unix/sysv/linux/aarch64/ioctl.S:26 | |
7 Thread 0x7f988174f0 (LWP 14141) 0x0000007fa29f2dbc in __GI___select (nfds=<optimized out>, readfds=readfds@entry=0x7f98816c40, writefds=writefds@entry=0x0, exceptfds=exceptfds@entry=0x0, | |
timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/select.c:53 | |
8 Thread 0x7f8aff34f0 (LWP 14144) 0x0000007fa29f02f0 in __GI___poll (fds=0x7f80002930, nfds=1, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41 | |
9 Thread 0x7f8bff54f0 (LWP 14142) futex_abstimed_wait_cancelable (private=0, abstime=0x7f8bff4ca0, expected=0, futex_word=0x556c73da18 <WiimoteReal::g_wiimote_scanner+136>) | |
at ../sysdeps/unix/sysv/linux/futex-internal.h:205 | |
10 Thread 0x7f99c174f0 (LWP 14140) futex_wait_cancelable (private=0, expected=0, futex_word=0x556c6f3580 <DolphinAnalytics::Instance()::instance+440>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 | |
11 Thread 0x7f89de54f0 (LWP 14146) futex_abstimed_wait_cancelable (private=0, abstime=0x7f89de4c58, expected=0, futex_word=0x55a75a0a18) at ../sysdeps/unix/sysv/linux/futex-internal.h:205 | |
12 Thread 0x7f8a7394f0 (LWP 14145) futex_wait_cancelable (private=0, expected=0, futex_word=0x55a6edd56c) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 | |
13 Thread 0x7f895e44f0 (LWP 14148) 0x0000007fa29f02f0 in __GI___poll (fds=0x7f78002cb0, nfds=2, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41 | |
14 Thread 0x7f9cfd8010 (LWP 14127) 0x0000007fa29f02f0 in __GI___poll (fds=0x55a75b8980, nfds=4, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41 | |
15 Thread 0x7f737f44f0 (LWP 14151) 0x0000007fa29f02f0 in __GI___poll (fds=0x55a77e7860, nfds=1, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41 | |
16 Thread 0x7f73ff54f0 (LWP 14150) syscall () at ../sysdeps/unix/sysv/linux/aarch64/syscall.S:38 | |
17 Thread 0x7f69ff34f0 (LWP 14154) futex_abstimed_wait_cancelable (private=0, abstime=0x7f69ff2ca0, expected=0, futex_word=0x7f6c000c00) at ../sysdeps/unix/sysv/linux/futex-internal.h:205 | |
18 Thread 0x7f5aff54f0 (LWP 14158) futex_wait_cancelable (private=0, expected=0, futex_word=0x556c73aecc <DVDThread::s_request_queue_expanded+52>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 | |
19 Thread 0x7f4eff24f0 (LWP 14159) futex_wait_cancelable (private=0, expected=0, futex_word=0x556c8fd748 <Fifo::s_gpu_mainloop+256>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 | |
20 Thread 0x7f9b9454f0 (LWP 14130) 0x0000007fa29f02f0 in __GI___poll (fds=0x7f9b944b68, nfds=1, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41 | |
21 Thread 0x7f9a52b4f0 (LWP 14139) futex_abstimed_wait_cancelable (private=0, abstime=0x7f9a52acb0, expected=0, futex_word=0x55a6eeede0) at ../sysdeps/unix/sysv/linux/futex-internal.h:205 | |
22 Thread 0x7f9cfc84f0 (LWP 14128) 0x0000007fa29f02f0 in __GI___poll (fds=0x7f9cfc7cc8, nfds=2, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41 | |
(gdb) backtrace | |
#0 0x0000007fa29ad308 in __memcpy_generic () at ../sysdeps/aarch64/multiarch/../memcpy.S:105 | |
#1 0x000000556bee150c in OGL::ProgramShaderCache::UploadConstants(void const*, unsigned int) (data=0x7f88c0d750, data_size=48) at /home/pi/dolphin/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp:255 | |
#2 0x000000556bea99ac in TextureCacheBase::CopyEFBToCacheEntry(TextureCacheBase::TCacheEntry*, bool, MathUtil::Rectangle<int> const&, bool, bool, EFBCopyFormat, bool, float, bool, bool, EFBCopyFilterCoefficients const&) | |
(this=<optimized out>, entry=0x55a77efaa0, is_depth_copy=<optimized out>, src_rect=..., scale_by_half=<optimized out>, linear_filter=false, dst_format=<optimized out>, is_intensity=<optimized out>, gamma=<optimized out>, clamp_top=true, clamp_bottom=true, filter_coefficients=...) at /usr/include/c++/8/bits/unique_ptr.h:342 | |
#3 0x000000556beaea00 in TextureCacheBase::CopyRenderTargetToTexture(unsigned int, EFBCopyFormat, unsigned int, unsigned int, unsigned int, bool, MathUtil::Rectangle<int> const&, bool, bool, float, float, bool, bool, std::array<unsigned char, 7ul> const&) (this=0x7f6c2b5660, dstAddr=<optimized out>, | |
dstAddr@entry=5744736, dstFormat=dstFormat@entry=EFBCopyFormat::XFB, width=<optimized out>, height=height@entry=480, dstStride=dstStride@entry=1280, is_depth_copy=false, srcRect=..., isIntensity=isIntensity@entry=false, scaleByHalf=scaleByHalf@entry=false, y_scale=1, gamma=1, clamp_top=true, clamp_bottom=true, filter_coefficients=...) at /home/pi/dolphin/Source/Core/VideoCommon/TextureCacheBase.cpp:2160 | |
#4 0x000000556be7b3d0 in BPWritten (bp=<synthetic pointer>...) at /home/pi/dolphin/Source/Core/Common/BitField.h:168 | |
#5 0x000000556be7b3d0 in LoadBPReg(unsigned int) (value0=<optimized out>) at /home/pi/dolphin/Source/Core/VideoCommon/BPStructs.cpp:732 | |
#6 0x000000556be8f2ac in OpcodeDecoder::Run<false>(DataReader, unsigned int*, bool) (src=..., cycles=cycles@entry=0x7f88c0daa0, in_display_list=in_display_list@entry=false) | |
at /home/pi/dolphin/Source/Core/Common/Swap.h:150 | |
#7 0x000000556be7fbf0 in Fifo::<lambda()>::operator() (__closure=<optimized out>) at /home/pi/dolphin/Source/Core/VideoCommon/DataReader.h:17 | |
#8 0x000000556be7fbf0 in Common::BlockingLoop::Run<Fifo::RunGpuLoop()::<lambda()> > (this=0x556c8fd648 <Fifo::s_gpu_mainloop>, timeout=100, payload=...) at /home/pi/dolphin/Source/Core/Common/BlockingLoop.h:135 | |
#9 0x000000556be7fbf0 in Fifo::RunGpuLoop() () at /home/pi/dolphin/Source/Core/VideoCommon/Fifo.cpp:298 | |
#10 0x000000556bcb3340 in Core::EmuThread(std::unique_ptr<BootParameters, std::default_delete<BootParameters> >, WindowSystemInfo)Python Exception <class 'gdb.MemoryError'> Cannot access memory at address 0x0: | |
(boot=..., wsi=#11 0x000000556bcb3e7c in std::__invoke_impl<void, void (*)(std::unique_ptr<BootParameters, std::default_delete<BootParameters> >, WindowSystemInfo), std::unique_ptr<BootParameters, std::default_delete<BootParameters> >, WindowSystemInfo>(std::__invoke_other, void (*&&)(std::unique_ptr<BootParameters, std::default_delete<BootParameters> >, WindowSystemInfo), std::unique_ptr<BootParameters, std::default_delete<BootParameters> >&&, WindowSystemInfo&&) (__f=<optimized out>) at /usr/include/c++/8/bits/move.h:74 | |
#12 0x000000556bcb3e7c in std::__invoke<void (*)(std::unique_ptr<BootParameters, std::default_delete<BootParameters> >, WindowSystemInfo), std::unique_ptr<BootParameters, std::default_delete<BootParameters> >, WindowSystemInfo>(void (*&&)(std::unique_ptr<BootParameters, std::default_delete<BootParameters> >, WindowSystemInfo), std::unique_ptr<BootParameters, std::default_delete<BootParameters> >&&, WindowSystemInfo&&) | |
(__fn=<optimized out>) at /usr/include/c++/8/bits/invoke.h:95 | |
#13 0x000000556bcb3e7c in std::thread::_Invoker<std::tuple<void (*)(std::unique_ptr<BootParameters, std::default_delete<BootParameters> >, WindowSystemInfo), std::unique_ptr<BootParameters, std::default_delete<BootParameters> >, WindowSystemInfo> >::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) (this=<optimized out>) at /usr/include/c++/8/thread:244 | |
#14 0x000000556bcb3e7c in std::thread::_Invoker<std::tuple<void (*)(std::unique_ptr<BootParameters, std::default_delete<BootParameters> >, WindowSystemInfo), std::unique_ptr<BootParameters, std::default_delete<BootParameters> >, WindowSystemInfo> >::operator()() (this=<optimized out>) at /usr/include/c++/8/thread:253 | |
#15 0x000000556bcb3e7c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(std::unique_ptr<BootParameters, std::default_delete<BootParameters> >, WindowSystemInfo), std::unique_ptr<BootParameters, std::default_delete<BootParameters> >, WindowSystemInfo> > >::_M_run() (this=<optimized out>) at /usr/include/c++/8/thread:196 | |
#16 0x0000007fa2c131f4 in () at /lib/aarch64-linux-gnu/libstdc++.so.6 | |
#17 0x0000007fa2ceb7e4 in start_thread (arg=0x7ffb4d181f) at pthread_create.c:486 | |
#18 0x0000007fa29f9adc in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 | |
(gdb) up | |
#1 0x000000556bee150c in OGL::ProgramShaderCache::UploadConstants (data=0x7f88c0d750, data_size=48) at /home/pi/dolphin/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp:255 | |
255 std::memcpy(buffer.first, data, data_size); | |
(gdb) up | |
#2 0x000000556bea99ac in TextureCacheBase::CopyEFBToCacheEntry (this=<optimized out>, entry=0x55a77efaa0, is_depth_copy=<optimized out>, src_rect=..., scale_by_half=<optimized out>, linear_filter=false, | |
dst_format=<optimized out>, is_intensity=<optimized out>, gamma=<optimized out>, clamp_top=true, clamp_bottom=true, filter_coefficients=...) at /usr/include/c++/8/bits/unique_ptr.h:342 | |
342 get() const noexcept | |
(gdb) up | |
#3 0x000000556beaea00 in TextureCacheBase::CopyRenderTargetToTexture (this=0x7f6c2b5660, dstAddr=<optimized out>, dstAddr@entry=5744736, dstFormat=dstFormat@entry=EFBCopyFormat::XFB, width=<optimized out>, | |
height=height@entry=480, dstStride=dstStride@entry=1280, is_depth_copy=false, srcRect=..., isIntensity=isIntensity@entry=false, scaleByHalf=scaleByHalf@entry=false, y_scale=1, gamma=1, clamp_top=true, | |
clamp_bottom=true, filter_coefficients=...) at /home/pi/dolphin/Source/Core/VideoCommon/TextureCacheBase.cpp:2160 | |
2160 CopyEFBToCacheEntry(entry, is_depth_copy, srcRect, scaleByHalf, linear_filter, dstFormat, | |
(gdb) l | |
2155 entry->SetEfbCopy(dstStride); | |
2156 } | |
2157 entry->may_have_overlapping_textures = false; | |
2158 entry->is_custom_tex = false; | |
2159 | |
2160 CopyEFBToCacheEntry(entry, is_depth_copy, srcRect, scaleByHalf, linear_filter, dstFormat, | |
2161 isIntensity, gamma, clamp_top, clamp_bottom, | |
2162 GetVRAMCopyFilterCoefficients(filter_coefficients)); | |
2163 | |
2164 if (g_ActiveConfig.bDumpEFBTarget && !is_xfb_copy) | |
(gdb) info locals | |
config = {width = 640, height = 480, levels = 1, layers = 1, samples = 1, format = AbstractTextureFormat::RGBA8, flags = 1} | |
is_xfb_copy = <optimized out> | |
copy_to_vram = <optimized out> | |
copy_to_ram = false | |
dst = 0x7b5457a860 "" | |
tex_w = 640 | |
tex_h = <optimized out> | |
scaled_tex_w = 640 | |
scaled_tex_h = <optimized out> | |
baseFormat = TextureFormat::XFB | |
blockH = 1 | |
blockW = <optimized out> | |
actualHeight = 480 | |
actualWidth = <optimized out> | |
num_blocks_y = 480 | |
num_blocks_x = <optimized out> | |
bytes_per_block = <optimized out> | |
bytes_per_row = 1280 | |
covered_range = 614400 | |
linear_filter = false | |
entry = 0x55a77efaa0 | |
strided_efb_copy = <optimized out> | |
iter = <optimized out> | |
(gdb) up | |
#4 0x000000556be7b3d0 in BPWritten (bp=<synthetic pointer>...) at /home/pi/dolphin/Source/Core/Common/BitField.h:168 | |
168 constexpr T Value(std::false_type) const | |
(gdb) up | |
#5 LoadBPReg (value0=<optimized out>) at /home/pi/dolphin/Source/Core/VideoCommon/BPStructs.cpp:732 | |
732 BPWritten(bp); | |
(gdb) up | |
#6 0x000000556be8f2ac in OpcodeDecoder::Run<false> (src=..., cycles=cycles@entry=0x7f88c0daa0, in_display_list=in_display_list@entry=false) at /home/pi/dolphin/Source/Core/Common/Swap.h:150 | |
150 std::memcpy(data, &value, sizeof(u32)); | |
(gdb) up | |
#7 0x000000556be7fbf0 in Fifo::<lambda()>::operator() (__closure=<optimized out>) at /home/pi/dolphin/Source/Core/VideoCommon/DataReader.h:17 | |
17 DataReader(u8* src, u8* end_) : buffer(src), end(end_) {} | |
(gdb) l | |
12 | |
13 class DataReader | |
14 { | |
15 public: | |
16 DataReader() = default; | |
17 DataReader(u8* src, u8* end_) : buffer(src), end(end_) {} | |
18 u8* GetPointer() { return buffer; } | |
19 const u8* GetPointer() const { return buffer; } | |
20 DataReader& operator=(u8* src) | |
21 { | |
(gdb) info locals | |
cyclesExecuted = 0 | |
readPtr = 5221984 | |
write_ptr = 0x7f6847b620 "" | |
fifo = <optimized out> | |
param = @0x55a6e9ff50: {m_WiiSDCard = false, m_WiiKeyboard = false, m_WiimoteContinuousScanning = false, m_WiimoteEnableSpeaker = false, m_ISOFolder = std::vector of length 0, capacity 0, | |
m_RecursiveISOFolder = false, bEnableDebugging = false, bAutomaticStart = false, bBootToPause = false, cpu_core = PowerPC::CPUCore::JITARM64, bJITFollowBranch = true, bJITNoBlockCache = false, | |
bJITNoBlockLinking = false, bJITOff = false, bJITLoadStoreOff = false, bJITLoadStorelXzOff = false, bJITLoadStorelwzOff = false, bJITLoadStorelbzxOff = false, bJITLoadStoreFloatingOff = false, | |
bJITLoadStorePairedOff = false, bJITFloatingPointOff = false, bJITIntegerOff = false, bJITPairedOff = false, bJITSystemRegistersOff = false, bJITBranchOff = false, bFastmem = true, bFPRF = true, | |
bAccurateNaNs = false, iTimingVariance = 40, bCPUThread = true, bDSPThread = true, bDSPHLE = true, bSyncGPUOnSkipIdleHack = true, bHLE_BS2 = true, bEnableCheats = false, bEnableMemcardSdWriting = true, | |
bCopyWiiSaveNetplay = true, bDPL2Decoder = false, iLatency = 20, m_audio_stretch = false, m_audio_stretch_max_latency = 80, bRunCompareServer = false, bRunCompareClient = false, bMMU = false, bLowDCBZHack = false, | |
iBBDumpPort = -1, bFastDiscSpeed = false, bSyncGPU = true, iSyncGpuMaxDistance = 200000, iSyncGpuMinDistance = -200000, fSyncGpuOverclock = 1, SelectedLanguage = 0, bOverrideGCLanguage = false, bWii = false, | |
m_is_mios = false, bConfirmStop = true, bHideCursor = false, bUsePanicHandlers = true, bOnScreenDisplayMessages = true, theme_name = "Clean", m_analytics_id = "8d2421293d77247aa1d6609deda09296", | |
m_analytics_enabled = false, m_analytics_permission_asked = true, m_bt_passthrough_enabled = false, m_bt_passthrough_pid = -1, m_bt_passthrough_vid = -1, m_bt_passthrough_link_keys = "", | |
m_usb_passthrough_devices = std::set with 0 elements, m_enable_signature_checks = true, bLoopFifoReplay = true, bEnableCustomRTC = false, m_customRTCValue = 946684800, m_region = DiscIO::Region::NTSC_U, | |
m_strVideoBackend = "OGL", m_strGPUDeterminismMode = "auto", m_GPUDeterminismMode = GPUDeterminismMode::Auto, m_strBootROM = "/usr/share/games/dolphin-emu/sys/GC/USA/IPL.bin", | |
m_strSRAM = "/home/pi/.dolphin-emu/GC/SRAM.raw", m_perfDir = "", m_debugger_game_id = "GLME01", m_disc_booted_from_game_list = true, m_strGbaCartA = "", m_strGbaCartB = "", m_EXIDevice = { | |
ExpansionInterface::EXIDEVICE_MEMORYCARD, ExpansionInterface::EXIDEVICE_MEMORYCARD, ExpansionInterface::EXIDEVICE_NONE}, m_SIDevice = {<incomplete type>, <incomplete type>, <incomplete type>, <incomplete type>}, | |
m_bba_mac = "", m_InterfaceLanguage = "", m_EmulationSpeed = 1, m_OCEnable = false, m_OCFactor = 1, m_InterfaceExtendedFPSInfo = false, m_show_active_title = true, m_use_builtin_title_database = true, | |
m_ListDrives = false, m_ListWad = true, m_ListElfDol = true, m_ListWii = true, m_ListGC = true, m_ListPal = true, m_ListUsa = true, m_ListJap = true, m_ListAustralia = true, m_ListFrance = true, | |
m_ListGermany = true, m_ListItaly = true, m_ListKorea = true, m_ListNetherlands = true, m_ListRussia = true, m_ListSpain = true, m_ListTaiwan = true, m_ListWorld = true, m_ListUnknown = true, m_ListSort = 3, | |
m_ListSort2 = 0, m_showSystemColumn = true, m_showBannerColumn = true, m_showDescriptionColumn = false, m_showTitleColumn = true, m_showMakerColumn = true, m_showFileNameColumn = false, m_showIDColumn = false, | |
m_showRegionColumn = true, m_showSizeColumn = true, m_showTagsColumn = false, m_WirelessMac = "", m_PauseMovie = false, m_ShowLag = false, m_ShowFrameCount = false, m_ShowRTC = false, m_strMovieAuthor = "", | |
m_DumpFrames = false, m_DumpFramesSilent = false, m_ShowInputDisplay = false, m_PauseOnFocusLost = false, m_DSPEnableJIT = true, m_DSPCaptureLog = false, m_DumpAudio = false, m_DumpAudioSilent = false, | |
m_IsMuted = false, m_DumpUCode = false, m_Volume = 100, sBackend = "ALSA", m_BackgroundInput = false, m_AdapterRumble = {true, true, true, true}, m_AdapterKonga = {false, false, false, false}, | |
m_SSLDumpRead = false, m_SSLDumpWrite = false, m_SSLVerifyCert = true, m_SSLDumpRootCA = false, m_SSLDumpPeerCert = false, m_auto_update_track = "", m_auto_update_hash_override = "", static m_Instance = | |
0x55a6e9ff50, m_game_id = "GLME01", m_gametdb_id = "GLME01", m_title_description = "Luigi's Mansion (GLME01)", m_title_id = 0, m_revision = 0} | |
(gdb) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment