cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Adventurer
Adventurer
8,860 Views
Registered: ‎10-11-2011

GUIs crashing on Fedora 21

Jump to solution

I recently upgraded to Fedora 21 64-bit (clean install) and the GUIs for the Xilinx programs are crashing immediately after opening.  For both ISE and XPS (v14.6 and 14.7), the splash screens appear and complete, but as soon as the main window appears they crash.  ISE generated a segfault but XPS did not.  I tried running strace on both but the only errors I see are from trying to link/unlink/stat/lstat temp files:

 

unlink("/tmp/xil_pyOUlJ")               = 0
stat("/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=340, ...}) = 0
lstat("/tmp/xil_V3uy8m", 0x7fff16e4a970) = -1 ENOENT (No such file or directory)
stat("/tmp/xil_V3uy8m", 0x7fff16e4b970) = -1 ENOENT (No such file or directory)
stat("/tmp/xil_V3uy8m", 0x7fff16e4b880) = -1 ENOENT (No such file or directory)
open("/tmp/xil_V3uy8m", O_WRONLY|O_CREAT, 0666) = 3
close(3)                                = 0
unlink("/tmp/xil_V3uy8m")               = 0
stat("/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=340, ...}) = 0
lstat("/tmp/xil_2hskV0", 0x7fff16e4a970) = -1 ENOENT (No such file or directory)
stat("/tmp/xil_2hskV0", 0x7fff16e4b970) = -1 ENOENT (No such file or directory)
stat("/tmp/xil_2hskV0", 0x7fff16e4b880) = -1 ENOENT (No such file or directory)
open("/tmp/xil_2hskV0", O_WRONLY|O_CREAT, 0666) = 3

 I know Fedora isn't officially supported, but I'm hoping someone can offer advice on how to track down what's causing the problem...

 

EDIT: This occurs both when I open XPS as a normal user or as root logged in with su but not as root logged in with sudo -i.  Also, I do not see this problem on a machine that I used FedUp to upgrade from 20-21 instead of doing a clean install.

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Adventurer
Adventurer
15,960 Views
Registered: ‎10-11-2011

One more update...the problems listed above were in KDE, everything works fine in Gnome. So, it looks like the problem is related to Fedora/KDE and not the fault of the Xilinx tools. I'll stick with Gnome for now.

View solution in original post

0 Kudos
4 Replies
Highlighted
Scholar
Scholar
8,837 Views
Registered: ‎06-23-2013

That is a hard one.  I would guess something in the Java install is different between 20 and 21, but that is just a guess.  

 

You ran strace with -f so you follow all spawned processes?  Short of a file-by-file comparison of your two systems, I do not know how to proceed.

 

Daniel

 

0 Kudos
Highlighted
Adventurer
Adventurer
8,832 Views
Registered: ‎10-11-2011

It seems like there's some difference in permissions, or the way the shell spawns processes, between Fedora 20 and 21.  Why sudo -i and not su or normal user works, I don't know.  When run under normal user, the point of failure seems to be when XPS initializes the device data (a little window pops up with a status bar briefly), this happens as root but crashes right before as normal user.

 

Also, I don't have Java installed, which may be an issue (I can't remember if Xilinx bundles the JRE now), but if that was the case I wouldn't expect it to work under root either.

 

I'll do some more inspection of the diffs between root and normal user straces and post if I see anything else of interest.  Vivado 2014.4 works, at least :-)

 

Highlighted
Adventurer
Adventurer
8,814 Views
Registered: ‎10-11-2011

Here's what seems to be the relevant area of the strace -f as normal user (doesn't work):

15233 stat("/opt/Xilinx/14.6/ISE_DS/EDK/verilog/data/verilog.acd", 0x7f9180e5e110) = -1 ENOENT (No such file or directory)
15233 openat(AT_FDCWD, "/opt/Xilinx/14.6/ISE_DS/ISE/verilog", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 15
15233 getdents(15, /* 9 entries */, 32768) = 232
15233 getdents(15, /* 0 entries */, 32768) = 0
15233 close(15)                         = 0
15233 openat(AT_FDCWD, "/opt/Xilinx/14.6/ISE_DS/ISE/verilog/data", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 15
15233 getdents(15, /* 3 entries */, 32768) = 80
15233 getdents(15, /* 0 entries */, 32768) = 0
15233 close(15)                         = 0
15233 stat("/opt/Xilinx/14.6/ISE_DS/ISE/verilog/data/verilog.acd", {st_mode=S_IFREG|0644, st_size=236, ...}) = 0
15233 stat("/opt/Xilinx/14.6/ISE_DS/ISE/verilog/data/verilog.acd", {st_mode=S_IFREG|0644, st_size=236, ...}) = 0
15233 open("/opt/Xilinx/14.6/ISE_DS/ISE/verilog/data/verilog.acd", O_RDONLY) = 15
15233 dup(15)                           = 17
15233 dup(17)                           = 19
15233 lseek(17, 0, SEEK_CUR)            = 0
15225 mprotect(0x7f9180427000, 4096, PROT_READ <unfinished ...>
15233 lseek(17, 0, SEEK_SET)            = 0
15225 <... mprotect resumed> )          = 0
15233 read(17, "XlxV37EB", 8)           = 8
15233 close(19)                         = 0
15233 lseek(17, 0, SEEK_SET)            = 0
15233 dup(17)                           = 19
15233 read(19, "XlxV37EB     110      d4x\332]\2141o\2030"..., 4096) = 236
15233 lseek(19, 236, SEEK_SET)          = 236
15233 read(19, "", 4096)                = 0
15233 close(19)                         = 0
15233 lseek(17, 0, SEEK_SET)            = 0
15233 mprotect(0x7f917c240000, 12288, PROT_READ|PROT_WRITE) = 0
15233 stat("/opt/Xilinx/14.6/ISE_DS/ISE/verilog/data/verilog.acd", {st_mode=S_IFREG|0644, st_size=236, ...}) = 0
15225 mprotect(0x7f9180658000, 4096, PROT_READ <unfinished ...>
15233 lseek(17, 272, SEEK_SET <unfinished ...>
15225 <... mprotect resumed> )          = 0
15233 <... lseek resumed> )             = 272
15233 lseek(17, 0, SEEK_SET <unfinished ...>
15225 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x1940} ---
15233 <... lseek resumed> )             = 0
15233 read(17, "XlxV37EB     110      d4x\332]\2141o\2030"..., 4096) = 236
15227 +++ killed by SIGSEGV (core dumped) +++
15233 +++ killed by SIGSEGV (core dumped) +++
15225 +++ killed by SIGSEGV (core dumped) +++
15222 <... wait4 resumed> [{WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV && WCOREDUMP(s)}], 0, NULL) = 15225
15222 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_DUMPED, si_pid=15225, si_uid=1000, si_status=SIGSEGV, si_utime=268, si_stime=27} ---
15222 rt_sigaction(SIGCHLD, {SIG_DFL, [CHLD], SA_RESTORER|SA_RESTART, 0x7f7f66694960}, {SIG_DFL, [CHLD], SA_RESTORER|SA_RESTART, 0x7f7f66694960}, 8) = 0
15222 readlink("/proc/15222/exe", "/opt/Xilinx/14.6/ISE_DS/EDK/bin/"..., 4094) = 51

I don't know a lot about strace, but it looks like a child process is segfaulting?

 

I think this is the related section in the strace -f from root (works):

15372 stat("/opt/Xilinx/14.6/ISE_DS/EDK/verilog/data/unsupported/verilog/data/verilog.acd", 0x7f487a9ee480) = -1 ENOENT (No such file or directory)
15372 stat("/opt/Xilinx/14.6/ISE_DS/EDK/verilog/data/verilog.acd", 0x7f487a9ee110) = -1 ENOENT (No such file or directory)
15372 openat(AT_FDCWD, "/opt/Xilinx/14.6/ISE_DS/ISE/verilog", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 14
15372 getdents(14, /* 9 entries */, 32768) = 232
15372 getdents(14, /* 0 entries */, 32768) = 0
15372 close(14)                         = 0
15372 openat(AT_FDCWD, "/opt/Xilinx/14.6/ISE_DS/ISE/verilog/data", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 14
15372 getdents(14, /* 3 entries */, 32768) = 80
15372 getdents(14, /* 0 entries */, 32768) = 0
15372 close(14)                         = 0
15372 stat("/opt/Xilinx/14.6/ISE_DS/ISE/verilog/data/verilog.acd", {st_mode=S_IFREG|0644, st_size=236, ...}) = 0
15372 stat("/opt/Xilinx/14.6/ISE_DS/ISE/verilog/data/verilog.acd", {st_mode=S_IFREG|0644, st_size=236, ...}) = 0
15372 open("/opt/Xilinx/14.6/ISE_DS/ISE/verilog/data/verilog.acd", O_RDONLY) = 14
15372 dup(14)                           = 15
15372 dup(15)                           = 16
15372 lseek(15, 0, SEEK_CUR)            = 0
15372 lseek(15, 0, SEEK_SET)            = 0
15372 read(15, "XlxV37EB", 8)           = 8
15372 close(16)                         = 0
15372 lseek(15, 0, SEEK_SET)            = 0
15372 dup(15)                           = 16
15372 read(16, "XlxV37EB     110      d4x\332]\2141o\2030"..., 4096) = 236
15372 lseek(16, 236, SEEK_SET)          = 236
15372 read(16, "", 4096)                = 0
15372 close(16)                         = 0
15372 lseek(15, 0, SEEK_SET)            = 0
15372 mprotect(0x7f4874240000, 12288, PROT_READ|PROT_WRITE) = 0
15372 stat("/opt/Xilinx/14.6/ISE_DS/ISE/verilog/data/verilog.acd", {st_mode=S_IFREG|0644, st_size=236, ...}) = 0
15372 lseek(15, 272, SEEK_SET)          = 272
15372 lseek(15, 0, SEEK_SET)            = 0
15372 read(15, "XlxV37EB     110      d4x\332]\2141o\2030"..., 4096) = 236
15372 read(15, "", 4096)                = 0
15372 read(15, "", 4096)                = 0
15372 read(15, "", 4096)                = 0
15372 close(14)                         = 0
15372 close(15)                         = 0
15372 madvise(0x7f4874185000, 778240, MADV_DONTNEED) = 0
15372 madvise(0x7f4874137000, 319488, MADV_DONTNEED) = 0
15372 madvise(0x7f4874136000, 4096, MADV_DONTNEED) = 0
15372 stat("/opt/Xilinx/14.6/ISE_DS/EDK/viewlog/data/unsupported/viewlog/data/viewlog.acd", 0x7f487a9ee480) = -1 ENOENT (No such file or directory)
15372 stat("/opt/Xilinx/14.6/ISE_DS/EDK/viewlog/data/viewlog.acd", 0x7f487a9ee110) = -1 ENOENT (No such file or directory)
15372 openat(AT_FDCWD, "/opt/Xilinx/14.6/ISE_DS/ISE/viewlog", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 14
15372 getdents(14, /* 3 entries */, 32768) = 72
15372 getdents(14, /* 0 entries */, 32768) = 0
15372 close(14)                         = 0
15372 openat(AT_FDCWD, "/opt/Xilinx/14.6/ISE_DS/ISE/viewlog/data", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 14
15372 getdents(14, /* 5 entries */, 32768) = 144
15372 getdents(14, /* 0 entries */, 32768) = 0
15372 close(14)                         = 0
15372 stat("/opt/Xilinx/14.6/ISE_DS/ISE/viewlog/data/viewlog.acd", {st_mode=S_IFREG|0644, st_size=619, ...}) = 0
15372 stat("/opt/Xilinx/14.6/ISE_DS/ISE/viewlog/data/viewlog.acd", {st_mode=S_IFREG|0644, st_size=619, ...}) = 0
15372 open("/opt/Xilinx/14.6/ISE_DS/ISE/viewlog/data/viewlog.acd", O_RDONLY) = 14
15372 dup(14)                           = 15
15372 dup(15)                           = 16
15372 lseek(15, 0, SEEK_CUR)            = 0
15372 lseek(15, 0, SEEK_SET)            = 0
15372 read(15, "XlxV37EB", 8)           = 8
15372 close(16)                         = 0
15372 lseek(15, 0, SEEK_SET)            = 0
15372 dup(15)                           = 16
15372 read(16, "XlxV37EB     3b4     253x\332}S\301n\332@"..., 4096) = 619
15372 lseek(16, 619, SEEK_SET)          = 619
15372 read(16, "", 4096)                = 0
15372 close(16)                         = 0
15372 lseek(15, 0, SEEK_SET)            = 0
15372 mprotect(0x7f4874243000, 4096, PROT_READ|PROT_WRITE) = 0
15372 stat("/opt/Xilinx/14.6/ISE_DS/ISE/viewlog/data/viewlog.acd", {st_mode=S_IFREG|0644, st_size=619, ...}) = 0
15372 lseek(15, 948, SEEK_SET)          = 948
15372 lseek(15, 0, SEEK_SET)            = 0
15372 read(15, "XlxV37EB     3b4     253x\332}S\301n\332@"..., 4096) = 619
15372 read(15, "", 4096)                = 0
15372 read(15, "", 4096)                = 0
15372 read(15, "", 4096)                = 0
15372 close(14)                         = 0
15372 close(15)                         = 0
15372 madvise(0x7f4874186000, 778240, MADV_DONTNEED) = 0
15372 madvise(0x7f4874138000, 319488, MADV_DONTNEED) = 0
15372 madvise(0x7f4874137000, 4096, MADV_DONTNEED) = 0
15372 stat("/opt/Xilinx/14.6/ISE_DS/EDK/virtex/data/unsupported/virtex/data/virtex.acd", 0x7f487a9ee480) = -1 ENOENT (No such file or directory)
15372 stat("/opt/Xilinx/14.6/ISE_DS/EDK/virtex/data/virtex.acd", 0x7f487a9ee110) = -1 ENOENT (No such file or directory)
15372 openat(AT_FDCWD, "/opt/Xilinx/14.6/ISE_DS/ISE/virtex", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 14
15372 getdents(14, /* 4 entries */, 32768) = 96
15372 getdents(14, /* 0 entries */, 32768) = 0
15372 close(14)                         = 0

 And it goes on stat'ing a bunch of device files.  Any suggestions?

0 Kudos
Highlighted
Adventurer
Adventurer
15,961 Views
Registered: ‎10-11-2011

One more update...the problems listed above were in KDE, everything works fine in Gnome. So, it looks like the problem is related to Fedora/KDE and not the fault of the Xilinx tools. I'll stick with Gnome for now.

View solution in original post

0 Kudos