Project

General

Profile

Actions

Emulator Issues #5220

closed

Random crashes with dual core enabled.

Added by shadowflash about 13 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

OS: Kubuntu 11.10 x86 (PAE kernel), video: GeForce GT440 2Gb. Drivers - 295.20

With dual core enabled dolphin randomly segfaults. It can be within first 10 seconds of gameplay or it will be a few hours or you can play as long as you want. In single core mode it doesn't happen. For me it looks like it affects all revisions, didn't tried revs older than 6515 though.
Some games like Gradius ReBirth or Star Soldier R never crashed for me, same for Tatsunoko vs Capcom.

Dolphin just randomly segfaults without any error message in console.

I don't think it's hardware fault because i was able to run mprime for 80 hours without any bug with 47C CPU max temperature, and i haven't got any crash with any other heavy game/app, wine or native.
And i played Xenoblade for about 12 hours (left game running when was busy with real life stuff, wondering what hogs CPU and makes game that slow before i switched to window mode and saw JIT32 SC)

Actions #1

Updated by skidau about 13 years ago

Have you got a stack trace for starters?

  1. gdb ./Dolphin
  2. run
  3.    with in the app open game
    
  4. bt
Actions #2

Updated by shadowflash about 13 years ago

Built latest revision with RelWithDebugInfo. Now all i have to do is play a lot of games, because that bug is quite elusive. Only one thing - i was able to finish last level of Kirby Returns to Dreamland with latest revision, it always crashed on 305 and game was broken on newer revisions. Maybe bug was fixed, i'll post here once (if) i'll get the crash.

Actions #3

Updated by shadowflash about 13 years ago

Not sure if it's this bug, because it's not random but rather persistent - GT Cube crashes right before the race with this one:
[New Thread 0x989ffb70 (LWP 26069)]
[Thread 0xb1a2fb70 (LWP 26034) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xaee67b70 (LWP 26039)]
_M_lower_bound (__k=, __y=0xcd66800, __x=0x3f3be600, this=) at /usr/include/c++/4.6/bits/stl_tree.h:1080
1080 if (!_M_impl._M_key_compare(_S_key(__x), __k))
(gdb) bt
#0 _M_lower_bound (__k=, __y=0xcd66800, __x=0x3f3be600, this=) at /usr/include/c++/4.6/bits/stl_tree.h:1080
#1 lower_bound (__k=, this=0xc0b3fa4) at /usr/include/c++/4.6/bits/stl_tree.h:818
#2 lower_bound (__x=, this=0xc0b3fa4) at /usr/include/c++/4.6/bits/stl_map.h:779
#3 operator[] (__k=, this=0xc0b3fa4) at /usr/include/c++/4.6/bits/stl_map.h:450
#4 TextureCache::CopyRenderTargetToTexture (dstAddr=10197248, dstFormat=0, srcFormat=0, srcRect=..., isIntensity=true, scaleByHalf=false)
at /mnt/Files/Develop/dolphin-git/dolphin-emu/Source/Core/VideoCommon/Src/TextureCacheBase.cpp:644
#5 0x082aa74f in BPWritten (bp=...) at /mnt/Files/Develop/dolphin-git/dolphin-emu/Source/Core/VideoCommon/Src/BPStructs.cpp:256
#6 0x082a9e77 in LoadBPReg (value0=1375830019) at /mnt/Files/Develop/dolphin-git/dolphin-emu/Source/Core/VideoCommon/Src/BPMemory.cpp:43
#7 0x082b0bb6 in Decode () at /mnt/Files/Develop/dolphin-git/dolphin-emu/Source/Core/VideoCommon/Src/OpcodeDecoding.cpp:322
#8 0x082b0fcd in OpcodeDecoder_Run (skipped_frame=false) at /mnt/Files/Develop/dolphin-git/dolphin-emu/Source/Core/VideoCommon/Src/OpcodeDecoding.cpp:468
#9 0x082aec62 in RunGpuLoop () at /mnt/Files/Develop/dolphin-git/dolphin-emu/Source/Core/VideoCommon/Src/Fifo.cpp:159
#10 0x08138b91 in Core::EmuThread () at /mnt/Files/Develop/dolphin-git/dolphin-emu/Source/Core/Core/Src/Core.cpp:427
#11 0x0813986a in Run (this=0xc711f68) at /mnt/Files/Develop/dolphin-git/dolphin-emu/Source/Core/Common/Src/StdThread.h:242
#12 std::thread::RunAndDelete<std::thread::Func<void (*)()> > (param=0xc711f68) at /mnt/Files/Develop/dolphin-git/dolphin-emu/Source/Core/Common/Src/StdThread.h:267
#13 0xb68d8d31 in start_thread (arg=0xaee67b70) at pthread_create.c:304
#14 0xb56ea0ce in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Backtrace stopped: Not enough registers or memory available to unwind further
(gdb)

Actions #4

Updated by skidau about 13 years ago

What revision is the stack trace from? 3.0-305?

Actions #5

Updated by shadowflash about 13 years ago

3.0-423.

Actions #6

Updated by parlane about 13 years ago

#4 TextureCache::CopyRenderTargetToTexture (dstAddr=10197248, dstFormat=0, srcFormat=0, srcRect=..., isIntensity=true, scaleByHalf=false)

Would appear to be the culprit ? Maybe trying to blah[x] where x is greater than bounds ?

Actions #7

Updated by skidau almost 13 years ago

Is this issue still occurring in the latest Dolphin 3.0-702?

Actions #8

Updated by shadowflash almost 13 years ago

No random crashes so far, GT Cube is still broken though.

Actions #9

Updated by skidau almost 13 years ago

Does GT Cube work in the hashless build with EFB to RAM?

Actions #10

Updated by shadowflash almost 13 years ago

Yes. Perfectly.

Actions #11

Updated by Billiard26 over 12 years ago

  • Status changed from New to Fixed
  • Issue type set to Bug

"Random crashes" appear to be resolved according to comments.

Actions

Also available in: Atom PDF