Jump to content

Question

Posted (edited)

I run into problem when I tried to run PoE while my Chrome was running. I have linux and using strace I was able to pinpoint that it was Chrome GPU process causing the problem.

 

In /home/janinko/.config/unity3d/Player.log was:

Player is already running

(Filename:  Line: 438)

Using strace, I found out that when starting PoE, it scans /proc folder (and IMHO tries to figure out if the app is already running).

Strace output:

munmap(0x7f517d1fd000, 4096)            = 0
lstat("/opt", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/opt/google", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/opt/google/chrome", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/opt/google/chrome/chrome --type=zygote", 0x7ffe1452fee0) = -1 ENOENT (No such file or directory)
open("/proc/6029/cmdline", O_RDONLY)    = 4
fstat(4, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f517d1fd000
read(4, "/proc/self/exe\0--type=gpu-proces"..., 4096) = 251
read(4, "", 3072)                       = 0
close(4)                                = 0

munmap(0x7f517d1fd000, 4096)            = 0
lstat("/proc", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
lstat("/proc/self", {st_mode=S_IFLNK|0777, st_size=0, ...}) = 0
readlink("/proc/self", "6846", 4095)    = 4
lstat("/proc/6846", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
lstat("/proc/6846/exe", {st_mode=S_IFLNK|0777, st_size=0, ...}) = 0
readlink("/proc/6846/exe", "/mnt/data/Steam/steamapps/common"..., 4095) = 70
lstat("/mnt", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/mnt/data", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
lstat("/mnt/data/Steam", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
lstat("/mnt/data/Steam/steamapps", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
lstat("/mnt/data/Steam/steamapps/common", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
lstat("/mnt/data/Steam/steamapps/common/Pillars of Eternity", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
lstat("/mnt/data/Steam/steamapps/common/Pillars of Eternity/PillarsOfEternity", {st_mode=S_IFREG|0775, st_size=20553960, ...}) = 0

stat("/home/janinko/.config", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
stat("/home/janinko/.config/unity3d", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
open("/home/janinko/.config/unity3d/Player.log", O_RDWR|O_CREAT|O_TRUNC, 0666) = 4
lseek(1, 0, SEEK_CUR)                   = -1 ESPIPE (Illegal seek)
dup(1)                                  = 5
dup2(4, 1)                              = 1
dup2(4, 2)                              = 2
fstat(4, {st_mode=S_IFREG|0664, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f517d1fd000
write(4, "Player is already running\n \n(Fil"..., 52) = 52
munmap(0x7f5177fa0000, 2101248)         = 0
munmap(0x7f517d23f000, 528384)          = 0
semop(589824, {{3, -1, SEM_UNDO}}, 1)   = 0
semop(589824, {{3, 1, SEM_UNDO}}, 1)    = 0
semop(589824, {{3, -1, SEM_UNDO}}, 1)   = 0
semop(589824, {{3, 1, SEM_UNDO}}, 1)    = 0
semop(589824, {{6, -1, SEM_UNDO}}, 1)   = 0
semctl(589824, 7, GETVAL, 0xffffffffffffffff) = 1
semctl(589824, 0, IPC_RMID, 0xffffffffffffffff) = 0
uname({sysname="Linux", nodename="janinko-desktop", ...}) = 0
uname({sysname="Linux", nodename="janinko-desktop", ...}) = 0
getuid()                                = 1000
unlink("/dev/shm/mono-shared-1000-shared_data-janinko-desktop-Linux-x86_64-328-12-0") = 0
uname({sysname="Linux", nodename="janinko-desktop", ...}) = 0
uname({sysname="Linux", nodename="janinko-desktop", ...}) = 0
getuid()                                = 1000
unlink("/dev/shm/mono-shared-1000-shared_fileshare-janinko-desktop-Linux-x86_64-40-12-0") = 0
uname({sysname="Linux", nodename="janinko-desktop", ...}) = 0
uname({sysname="Linux", nodename="janinko-desktop", ...}) = 0
unlink("/home/janinko/.wapi/shared_data-janinko-desktop-Linux-x86_64-328-12-0") = -1 ENOENT (No such file or directory)
uname({sysname="Linux", nodename="janinko-desktop", ...}) = 0
uname({sysname="Linux", nodename="janinko-desktop", ...}) = 0
unlink("/home/janinko/.wapi/shared_fileshare-janinko-desktop-Linux-x86_64-40-12-0") = -1 ENOENT (No such file or directory)
unlink("/dev/shm/mono.6846")            = 0
exit_group(0)                           = ?
+++ exited with 0 +++

Process 6029 was started by cmd /proc/self/exe from chrome - meaning it directed to /opt/google/chrome/chrome for the chrome. However /proc/6029/cmdline (line 6) contained as a command /proc/self/exe (line 9) and when PoE tried to determine what /proc/self/exe is (line 19), it obviously found itself thinking it is another instance of PoE resulting into the log "Player is already running" and shutdown.

 

At least message for the user stating that PoE is already running (although in this case it would be false) would be nice.

Edited by janinko

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...