|
|
|
paulg_ca
|
Greetings,
I am running into a error or maybe a bug with Eiffel v6.4, at the start of the Fall term :( Estudio could not save files edited within the workbench. The first save works but the second fails. Here is a snip from strace.... 18656 lstat64("/cs/home/paulg/eiffel64/test1234.e", 0xbfffe2ac) = -1 ENOENT (No such file or directory) 18656 open("/cs/home/paulg/eiffel64/test1234.e", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 8 18656 --- SIGSEGV (Segmentation fault) @ 0 (0) --- 18656 close(8) = 0 Did you notice the seg fault while trying to save the file... Anyone seen this error before ? Installation information: Version = EiffelStudio 6 (6.4.7.9451 GPL Edition - linux-x86) $ISE_EIFFEL = /cs/local/packages/Eiffel64 $ISE_LIBRARY = /cs/local/packages/Eiffel64 $ISE_PLATFORM = linux-x86 Kernel: - 2.6.9-89.0.9.EL.CSE.smp Linux Dist: CentOS release 4.6 (Final) NFS mounted home directories, but problem also appears when writing to /tmp I going to keep digging and post any updates I find! Cheers, Paul |
||||||||||||||||
|
rfo
|
Hi Paul!
I've not seen this, but then I use an external editor most of the time. The error indicates that there is a problem with the directory path (despite the 'No such' code), because the file mode includes O_CREAT, the file need not exist, but the path to it must. Is it possible that your environment changed in some way in between calls? If not then the accusing finger of blame seems to point toward class-cluster-directory name mapping. I have trouble imagining that that has broken, but you just never know. R ================================================== Roger F. Osmond > -------- Original Message -------- > Subject: [eiffel_software] Estudio linux-x86 can not save files edited > within workbench. > From: "paulg_ca" <[hidden email]> > Date: Wed, September 16, 2009 9:25 am > To: [hidden email] > Greetings, > I am running into a error or maybe a bug with Eiffel v6.4, at the start of the Fall term :( > Estudio could not save files edited within the workbench. The first save works but the second fails. > > Here is a snip from strace.... > 18656 lstat64("/cs/home/paulg/eiffel64/test1234.e", 0xbfffe2ac) = -1 ENOENT (No such file or directory) > 18656 open("/cs/home/paulg/eiffel64/test1234.e", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 8 > 18656 --- SIGSEGV (Segmentation fault) @ 0 (0) --- > 18656 close(8) = 0 > Did you notice the seg fault while trying to save the file... Anyone seen this error before ? > Installation information: > Version = EiffelStudio 6 (6.4.7.9451 GPL Edition - linux-x86) > $ISE_EIFFEL = /cs/local/packages/Eiffel64 > $ISE_LIBRARY = /cs/local/packages/Eiffel64 > $ISE_PLATFORM = linux-x86 > Kernel: - 2.6.9-89.0.9.EL.CSE.smp > Linux Dist: CentOS release 4.6 (Final) > NFS mounted home directories, but problem also appears when writing to /tmp > I going to keep digging and post any updates I find! > Cheers, > Paul |
||||||||||||||||
|
paulg_ca
|
We had to file a bug report with Eiffel, this is critical for us. We are trying to use Eiffel in one of our University courses.
Here is what we found. We have tested older versions and these do not have the bug: EiffelStudio 6 (6.4.7.6313 GPL Edition - linux-x86) EiffelStudio 6 (6.3.7.6070 GPL Edition - linux-x86) And these version have the bug, we are not sure which version/build introduced this bug. EiffelStudio 6 (6.4.7.9451 GPL Edition - linux-x86) EiffelStudio 6 (6.4.7.9263 GPL Edition - linux-x86) We have verified we are not out of disk space or over quota. Not a fun way to start a new term, but life goes on.... strace from Eiffel 6.3 (works) Notice how it opens application.e.swp, writes the data to the file and then renames application.e.swp to application.e. Compare that to the strace output from the orginal post where the thread just segfaults. 829 open("/cs/home/paulg/eiffel63/project4/application.e.swp", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 7 829 fstat64(7, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 829 mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb1b75000 829 write(7, "indexing\n\tdescription : \"project"..., 363) = 363 829 close(7) = 0 829 munmap(0xb1b75000, 32768) = 0 829 rename("/cs/home/paulg/eiffel63/project4/application.e.swp", "/cs/home/paulg/eiffel63/project4/application.e") = 0 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 829 geteuid32() = 2381 829 getegid32() = 1000 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 829 geteuid32() = 2381 829 getegid32() = 1000 829 open("/cs/home/paulg/eiffel63/project4/application.e", O_RDONLY) = 7 Running on CentOS/RHEL 4.6 Cheers, Paul --- In [hidden email], <rfo@...> wrote: > > Hi Paul! > > I've not seen this, but then I use an external editor most of the time. > The error indicates that there is a problem with the directory path > (despite the 'No such' code), because the file mode includes O_CREAT, > the file need not exist, but the path to it must. > Is it possible that your environment changed in some way in between > calls? If not then the accusing finger of blame seems to point toward > class-cluster-directory name mapping. I have trouble imagining that > that has broken, but you just never know. > > R > > ================================================== > Roger F. Osmond > > > > -------- Original Message -------- > > Subject: [eiffel_software] Estudio linux-x86 can not save files edited > > within workbench. > > From: "paulg_ca" <paulg_ca@...> > > Date: Wed, September 16, 2009 9:25 am > > To: [hidden email] > > Greetings, > > I am running into a error or maybe a bug with Eiffel v6.4, at the start of the Fall term :( > > Estudio could not save files edited within the workbench. The first save works but the second fails. > > > > Here is a snip from strace.... > > 18656 lstat64("/cs/home/paulg/eiffel64/test1234.e", 0xbfffe2ac) = -1 ENOENT (No such file or directory) > > 18656 open("/cs/home/paulg/eiffel64/test1234.e", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 8 > > 18656 --- SIGSEGV (Segmentation fault) @ 0 (0) --- > > 18656 close(8) = 0 > > Did you notice the seg fault while trying to save the file... Anyone seen this error before ? > > Installation information: > > Version = EiffelStudio 6 (6.4.7.9451 GPL Edition - linux-x86) > > $ISE_EIFFEL = /cs/local/packages/Eiffel64 > > $ISE_LIBRARY = /cs/local/packages/Eiffel64 > > $ISE_PLATFORM = linux-x86 > > Kernel: - 2.6.9-89.0.9.EL.CSE.smp > > Linux Dist: CentOS release 4.6 (Final) > > NFS mounted home directories, but problem also appears when writing to /tmp > > I going to keep digging and post any updates I find! > > Cheers, > > Paul > |
||||||||||||||||
|
Emmanuel Stapf
|
Hi Paul,
Thanks for the details. At this stage it is unclear why you are getting the segmentation violation. We have responded to your bug report with a request for shadow. Regards, Manu > -----Original Message----- > From: [hidden email] > [mailto:[hidden email]] On Behalf Of paulg_ca > Sent: Wednesday, September 16, 2009 10:06 AM > To: [hidden email] > Subject: [eiffel_software] Re: Estudio linux-x86 can not save files > edited within workbench. > > We had to file a bug report with Eiffel, this is critical for us. We are > trying to use Eiffel in one of our University courses. > > Here is what we found. > > We have tested older versions and these do not have the bug: > EiffelStudio 6 (6.4.7.6313 GPL Edition - linux-x86) > EiffelStudio 6 (6.3.7.6070 GPL Edition - linux-x86) > > And these version have the bug, we are not sure which version/build > introduced this bug. > > EiffelStudio 6 (6.4.7.9451 GPL Edition - linux-x86) > EiffelStudio 6 (6.4.7.9263 GPL Edition - linux-x86) > > We have verified we are not out of disk space or over quota. > > Not a fun way to start a new term, but life goes on.... > > strace from Eiffel 6.3 (works) > > Notice how it opens application.e.swp, writes the data to the file and > then renames application.e.swp to application.e. Compare that to the > strace output from the orginal post where the thread just segfaults. > > 829 open("/cs/home/paulg/eiffel63/project4/application.e.swp", > O_WRONLY|O_CREAT|O_TRUNC, 0666) = 7 > 829 fstat64(7, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 > 829 mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, > -1, 0) = 0xb1b75000 > 829 write(7, "indexing\n\tdescription : \"project"..., 363) = 363 > 829 close(7) = 0 > 829 munmap(0xb1b75000, 32768) = 0 > 829 rename("/cs/home/paulg/eiffel63/project4/application.e.swp", > "/cs/home/paulg/eiffel63/project4/application.e") = 0 > 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", > {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 > 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", > {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 > 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", > {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 > 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", > {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 > 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", > {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 > 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", > {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 > 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", > {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 > 829 geteuid32() = 2381 > 829 getegid32() = 1000 > 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", > {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 > 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", > {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 > 829 geteuid32() = 2381 > 829 getegid32() = 1000 > 829 open("/cs/home/paulg/eiffel63/project4/application.e", O_RDONLY) = > 7 > > Running on CentOS/RHEL 4.6 > > Cheers, > Paul > > --- In [hidden email], <rfo@...> wrote: > > > > Hi Paul! > > > > I've not seen this, but then I use an external editor most of the time. > > The error indicates that there is a problem with the directory path > > (despite the 'No such' code), because the file mode includes O_CREAT, > > the file need not exist, but the path to it must. > > Is it possible that your environment changed in some way in between > > calls? If not then the accusing finger of blame seems to point toward > > class-cluster-directory name mapping. I have trouble imagining that > > that has broken, but you just never know. > > > > R > > > > ================================================== > > Roger F. Osmond > > > > > > > -------- Original Message -------- > > > Subject: [eiffel_software] Estudio linux-x86 can not save files > edited > > > within workbench. > > > From: "paulg_ca" <paulg_ca@...> > > > Date: Wed, September 16, 2009 9:25 am > > > To: [hidden email] > > > Greetings, > > > I am running into a error or maybe a bug with Eiffel v6.4, at the > start of the Fall term :( > > > Estudio could not save files edited within the workbench. The first > save works but the second fails. > > > > > > Here is a snip from strace.... > > > 18656 lstat64("/cs/home/paulg/eiffel64/test1234.e", 0xbfffe2ac) = -1 > ENOENT (No such file or directory) > > > 18656 open("/cs/home/paulg/eiffel64/test1234.e", > O_WRONLY|O_CREAT|O_TRUNC, 0666) = 8 > > > 18656 --- SIGSEGV (Segmentation fault) @ 0 (0) --- > > > 18656 close(8) = 0 > > > Did you notice the seg fault while trying to save the file... Anyone > seen this error before ? > > > Installation information: > > > Version = EiffelStudio 6 (6.4.7.9451 GPL Edition - linux-x86) > > > $ISE_EIFFEL = /cs/local/packages/Eiffel64 > > > $ISE_LIBRARY = /cs/local/packages/Eiffel64 > > > $ISE_PLATFORM = linux-x86 > > > Kernel: - 2.6.9-89.0.9.EL.CSE.smp > > > Linux Dist: CentOS release 4.6 (Final) > > > NFS mounted home directories, but problem also appears when writing > to /tmp > > > I going to keep digging and post any updates I find! > > > Cheers, > > > Paul > > > > > > > ------------------------------------ > > Yahoo! Groups Links > > > ------------------------------------------------------------------------
Eiffel Software 805-685-1006 http://www.eiffel.com Customer support: http://support.eiffel.com User group: http://groups.eiffel.com/join ------------------------------------------------------------------------ |
||||||||||||||||
|
rfo
|
In reply to this post
by paulg_ca
Hi Paul!
It seems there was a change alright (nice sleuthing). It will be interesting to see what they find. The temp+rename is a time-honored pattern of course and is nice because rename does not fiddle with the file system per se, only the directory structure, leading some folks to claim that it is an atomic operation (not quite, but close enough in most cases). It's very important that the two paths (before and after rename) are in the same file system of course, else it's going to fail (and a 'real' move is needed). Judging from your description, I guess this is easily reproducible so we're not talking about threads or processes contending, or anything too exotic. It is interesting that lstat is being used instead of stat, as lstat will behave differently for symlinks, returning the stat struct for the link itself, rather than the file to which the link refers. I'm not too crazy about that. I'm also not too crazy about the fact that the failed lstat is ignored and the open attempted despite the stat failure. Hmmmm. As I said, it will be interesting to see what they come up with. R ================================================== Roger F. Osmond > -------- Original Message -------- > Subject: [eiffel_software] Re: Estudio linux-x86 can not save files > edited within workbench. > From: "paulg_ca" <[hidden email]> > Date: Wed, September 16, 2009 1:05 pm > To: [hidden email] > We had to file a bug report with Eiffel, this is critical for us. We are trying to use Eiffel in one of our University courses. > Here is what we found. > > We have tested older versions and these do not have the bug: > EiffelStudio 6 (6.4.7.6313 GPL Edition - linux-x86) > EiffelStudio 6 (6.3.7.6070 GPL Edition - linux-x86) > > And these version have the bug, we are not sure which version/build introduced this bug. > > EiffelStudio 6 (6.4.7.9451 GPL Edition - linux-x86) > EiffelStudio 6 (6.4.7.9263 GPL Edition - linux-x86) > > We have verified we are not out of disk space or over quota. > Not a fun way to start a new term, but life goes on.... > strace from Eiffel 6.3 (works) > Notice how it opens application.e.swp, writes the data to the file and then renames application.e.swp to application.e. Compare that to the strace output from the orginal post where the thread just segfaults. > 829 open("/cs/home/paulg/eiffel63/project4/application.e.swp", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 7 > 829 fstat64(7, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 > 829 mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb1b75000 > 829 write(7, "indexing\n\tdescription : \"project"..., 363) = 363 > 829 close(7) = 0 > 829 munmap(0xb1b75000, 32768) = 0 > 829 rename("/cs/home/paulg/eiffel63/project4/application.e.swp", "/cs/home/paulg/eiffel63/project4/application.e") = 0 > 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 > 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 > 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 > 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 > 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 > 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 > 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 > 829 geteuid32() = 2381 > 829 getegid32() = 1000 > 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 > 829 lstat64("/cs/home/paulg/eiffel63/project4/application.e", {st_mode=S_IFREG|0600, st_size=363, ...}) = 0 > 829 geteuid32() = 2381 > 829 getegid32() = 1000 > 829 open("/cs/home/paulg/eiffel63/project4/application.e", O_RDONLY) = 7 > Running on CentOS/RHEL 4.6 > Cheers, > Paul > --- In [hidden email], <rfo@...> wrote: > > > > Hi Paul! > > > > I've not seen this, but then I use an external editor most of the time. > > The error indicates that there is a problem with the directory path > > (despite the 'No such' code), because the file mode includes O_CREAT, > > the file need not exist, but the path to it must. > > Is it possible that your environment changed in some way in between > > calls? If not then the accusing finger of blame seems to point toward > > class-cluster-directory name mapping. I have trouble imagining that > > that has broken, but you just never know. > > > > R > > > > ================================================== > > Roger F. Osmond > > > > > > > -------- Original Message -------- > > > Subject: [eiffel_software] Estudio linux-x86 can not save files edited > > > within workbench. > > > From: "paulg_ca" <paulg_ca@...> > > > Date: Wed, September 16, 2009 9:25 am > > > To: [hidden email] > > > Greetings, > > > I am running into a error or maybe a bug with Eiffel v6.4, at the start of the Fall term :( > > > Estudio could not save files edited within the workbench. The first save works but the second fails. > > > > > > Here is a snip from strace.... > > > 18656 lstat64("/cs/home/paulg/eiffel64/test1234.e", 0xbfffe2ac) = -1 ENOENT (No such file or directory) > > > 18656 open("/cs/home/paulg/eiffel64/test1234.e", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 8 > > > 18656 --- SIGSEGV (Segmentation fault) @ 0 (0) --- > > > 18656 close(8) = 0 > > > Did you notice the seg fault while trying to save the file... Anyone seen this error before ? > > > Installation information: > > > Version = EiffelStudio 6 (6.4.7.9451 GPL Edition - linux-x86) > > > $ISE_EIFFEL = /cs/local/packages/Eiffel64 > > > $ISE_LIBRARY = /cs/local/packages/Eiffel64 > > > $ISE_PLATFORM = linux-x86 > > > Kernel: - 2.6.9-89.0.9.EL.CSE.smp > > > Linux Dist: CentOS release 4.6 (Final) > > > NFS mounted home directories, but problem also appears when writing to /tmp > > > I going to keep digging and post any updates I find! > > > Cheers, > > > Paul > > |
||||||||||||||||
| Free Embeddable Forum Powered by Nabble | Help |