linux pcsx2 1736 - seg fault
#1
Hi,

I'm trying to run pcsx2 1736 beta but it seg faults when I try to load the bios. In a game like FFX it seems to crash as soon as there's any 3D work to do (the intro, starting a new game).

Here's the output from starting just the bios:
Code:
    F1 - save state
    (Shift +) F2 - cycle states
    F3 - load state
PCSX2 beta (r136613324) - compiled on Sep  5 2009
Savestate version: 8b410001
x86Init:
    CPU vendor name =  GenuineIntel
    FamilyID  =  6
    x86Family =  Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz
    CPU speed =  3.599 ghz
    Cores     =  2 physical [2 logical]
    x86PType  =  Standard OEM
    x86Flags  =  bfebfbff 0008e3fd
    x86EFlags =  20100000

Features:
    Detected MMX
    Detected SSE
    Detected SSE2
    Detected SSE3
    Detected SSSE3
    Detected SSE4.1
    Not Detected SSE4.2

Loading plugins...
Plugins loaded successfully.
Bios Version 2.20
Bios Warning > rom1 not found.
Bios Warning > rom2 not found.
Bios Warning > erom not found.
Framelimiter rate updated (UpdateVSyncRate): 59.94 fps
Initializing plugins...
Plugins initialized successfully.
Opening Plugins...
ZZogl: creating zerogs
ZZogl: Got Doublebuffered Visual!
ZZogl: glX-Version 1.4
ZZogl: Depth 24
ZZogl: you have Direct Rendering!
ZZogl: Using multitexturing
ZZogl: Maximun texture size is 8192 for Tex_2d and 8192 for Tex_NV
ZZogl: Disabling MRT depth writing
ZZogl: Creating effects
ZZogl: Creating extra effects
ZZogl: using full shaders
ZZogl: initialization successful
Segmentation fault

Here is a small backtrace from gdb, which seems to point to glib?
Code:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb5a10850 (LWP 24380)]
0x080a023f in OpenCDVD ()
(gdb) bt
#0  0x080a023f in OpenCDVD ()
#1  0x080a030e in OpenPlugins ()
#2  0x08076d49 in SysPrepareExecution ()
#3  0xb71e7834 in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#4  0xb71d9cf2 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#5  0xb71f031d in ?? () from /usr/lib/libgobject-2.0.so.0
#6  0x08a52ac0 in ?? ()
#7  0x00000000 in ?? ()

Some info on my system.
Code:
Portage 2.1.7.1 (default/linux/x86/10.0/desktop, gcc-4.3.3, glibc-2.10.1-r0, 2.6.31-gentoo-r2 i686)
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -mtune=core2 -pipe"

Any ideas what the problem might be?

Thanks!
Reply

Sponsored links

#2
Change CDVD plugin first. It segfaulted on OpenCDVD, that's pretty unusual.
Reply
#3
Tried that, but the backtrace is the exact same. I would of thought using the null driver would be enough for the bios anyway? Anything I can do to get more information? Thanks!
Reply
#4
I'm pretty sure this is the result of a bug we fixed recently on the SVN, changelog here:

http://code.google.com/p/pcsx2/source/detail?r=1972

That fixed a bug where it was possible to get a crash from the CDVD plugin. Might be the same thing you're running into here.
Jake Stine (Air) - Programmer - PCSX2 Dev Team
Reply
#5
Ah thanks for the help. I followed your thread and went to compile the latest legacy_gui branch (revision 2105.). Ran 'sh build.sh all' but after a while it ended like this:

Code:
mv -f .deps/support.Tpo .deps/support.Po
gcc -DPACKAGE_NAME=\"pcsx2\" -DPACKAGE_TARNAME=\"pcsx2\" -DPACKAGE_VERSION=\"0.9.6\" -DPACKAGE_STRING=\"pcsx2\ 0.9.6\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE=\"pcsx2\" -DVERSION=\"0.9.6\" -DNDEBUG=1 -DPCSX2_DEVBUILD=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_NLS=1 -DSVN_REV=\"Revision:\ 2105\" -I. -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12   -I..   -I../CDVD -I../../common/include -I../../3rdparty    -msse -msse2  -Wno-format -Wno-unused-parameter -Wno-unused-value  -fno-strict-aliasing  -fno-guess-branch-probability -fno-dse -fno-tree-dse  -pipe -O2  -fpermissive -m32  -MT LnxMain.o -MD -MP -MF .deps/LnxMain.Tpo -c -o LnxMain.o LnxMain.cpp
LnxMain.cpp: In function ‘void OnRunElf_Ok(GtkButton*, void*)’:
LnxMain.cpp:397: warning: invalid conversion from ‘const gchar*’ to ‘char*’
LnxMain.cpp: In function ‘void OnEmu_Run(GtkMenuItem*, void*)’:
LnxMain.cpp:505: error: break statement not within loop or switch
make[1]: *** [LnxMain.o] Error 1
make[1]: Leaving directory `/home/me/projects/pcsx2-read-only/pcsx2/Linux'
make: *** [install-recursive] Error 1
Error with building pcsx2

Should I try the codeblocks version?
Reply
#6
Fixed: http://code.google.com/p/pcsx2/source/detail?r=2106

I think for now yet you're still better off with the legacy gui branch. We still have some problems with the linux port of the new gui. It works nicely in debug builds but tends to have a lot of issues in release builds, which is what most people want. Wink
Jake Stine (Air) - Programmer - PCSX2 Dev Team
Reply
#7
Wow that was quick =) Updated, but I ran into another compilation problem.
Code:
Pref.cpp: In function ‘int LoadConfig()’:
Pref.cpp:69: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
mv -f .deps/Pref.Tpo .deps/Pref.Po
gcc  -msse -msse2  -Wno-format -Wno-unused-parameter -Wno-unused-value  -fno-strict-aliasing  -fno-guess-branch-probability -fno-dse -fno-tree-dse  -pipe -O2  -fpermissive -m32    -o pcsx2 interface.o support.o LnxMain.o LnxThreads.o LnxConsole.o LnxSysExec.o LnxMisc.o AboutDlg.o ConfigDlg.o DebugDlg.o AdvancedDlg.o CpuDlg.o HacksDlg.o McdDlgs.o Pref.o ../libpcsx2.a ../IPU/libIPU.a ../IPU/mpeg2lib/libmpeg2IPU.a ../RDebug/libRDebug.a ../tinyxml/libtinyxml.a ../x86/libx86recomp.a ../x86/ix86/libix86.a ../DebugTools/libDebugTools.a ../CDVD/libps2_cdvd.a -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0   -lstdc++ -lz
McdDlgs.o: In function `OnMemcards_Ok':
McdDlgs.cpp:(.text+0x47): undefined reference to `MemDlg'
McdDlgs.cpp:(.text+0x71): undefined reference to `MemDlg'
McdDlgs.cpp:(.text+0xd3): undefined reference to `MemDlg'
McdDlgs.cpp:(.text+0x151): undefined reference to `MemDlg'
McdDlgs.cpp:(.text+0x17c): undefined reference to `MemDlg'
McdDlgs.o:McdDlgs.cpp:(.text+0x1ae): more undefined references to `MemDlg' follow
collect2: ld returned 1 exit status
make[1]: *** [pcsx2] Error 1
make[1]: Leaving directory `/home/me/projects/pcsx2-read-only/pcsx2/Linux'
make: *** [install-recursive] Error 1
Reply
#8
Fixed (again): http://code.google.com/p/pcsx2/source/detail?r=2107
Jake Stine (Air) - Programmer - PCSX2 Dev Team
Reply
#9
Excellent, have an SVN build that fixes the seg faults :-) Thanks a lot!
Reply




Users browsing this thread: 1 Guest(s)