Ruby File Copy SEG-FAULT on 64-bit System

C

Cynthia Jeness

I have a Ruby script which copies certain files from one subdirectory to
another.
I am running the latest version of Ruby (1.8.51.10) available
from Suse under Suse Linux 9.3. On my 32-bit computer, my Ruby script
executes successfully. However, on my 64-bit AMD computer the script
fails with the following error:

/usr/lib64/ruby/1.8/ftools.rb:27: [BUG] Segmentation faul
ruby 1.8.1 (2003-12-25) [x86_64-linux]

Here is the line from my Ruby script which copies the file:

File::syscopy(path1, path2)

"path1" is the source file name and "path2" is the target file name.
I
have verified that both names are correct. The file being copied is
130
Mb and the copy consistently fails on the 64-bit computer afterr 77 Mb
have
been copied. I have tried the script on 2 64-bit computers running
Suse
9.3 and the copy fails in an idential manner. I have also tried the
scrip
on 1 32-bit computer running Suse 9.3 and the copy consistently
succeeds.
There is no issue on any of the computers on smaller files.

Since the failure occurs midway through the execution of "syscopy", it
seems to me that the issue may lie with the 64-bit version of ftools.rb.

Any suggestions would be greatly appreciated.
 
D

Daniel Berger

Cynthia said:
I have a Ruby script which copies certain files from one subdirectory to
another.
I am running the latest version of Ruby (1.8.51.10) available
from Suse under Suse Linux 9.3. On my 32-bit computer, my Ruby script
executes successfully. However, on my 64-bit AMD computer the script
fails with the following error:

/usr/lib64/ruby/1.8/ftools.rb:27: [BUG] Segmentation faul
ruby 1.8.1 (2003-12-25) [x86_64-linux]

I'm confused - are you running 1.8.5 or 1.8.1 on your 64 bit machine?

Since the failure occurs midway through the execution of "syscopy", it
seems to me that the issue may lie with the 64-bit version of ftools.rb.

Quite possible, as I've hit obscure segfaults with ftools that I've
never been able to narrow down. My suggestion, for the immediate time,
is to use FileUtils.cp instead. In the meantime, consider submitting a
bug on RubyForge (assuming this really is for 1.8.5 and not 1.8.1).

Regards,

Dan
 
C

Cynthia Jeness

Daniel said:
Cynthia said:
I have a Ruby script which copies certain files from one subdirectory to
another.
I am running the latest version of Ruby (1.8.51.10) available
from Suse under Suse Linux 9.3. On my 32-bit computer, my Ruby script
executes successfully. However, on my 64-bit AMD computer the script
fails with the following error:

/usr/lib64/ruby/1.8/ftools.rb:27: [BUG] Segmentation faul
ruby 1.8.1 (2003-12-25) [x86_64-linux]

I'm confused - are you running 1.8.5 or 1.8.1 on your 64 bit machine?

<snip>

I am running the same version on all computers: 1.8.1-51.10. In my
original post I neglected to include the "1-" in front of the "51". I
also went back to the Suse site and verified that nothing later is
available through their update process.
Quite possible, as I've hit obscure segfaults with ftools that I've
never been able to narrow down. My suggestion, for the immediate time,
is to use FileUtils.cp instead. In the meantime, consider submitting a
bug on RubyForge (assuming this really is for 1.8.5 and not 1.8.1).

I changed to FileUtils.cp but received a similar segmentation fault.
Of course, it occurred on a different line number (423). However, in
both the case of fstools and FileUtils, the line is simply copying using
sysread and syswrite.

Cindy
 
C

Cynthia Jeness

Cynthia said:
Daniel said:
Cynthia said:
I have a Ruby script which copies certain files from one subdirectory to
another.
I am running the latest version of Ruby (1.8.51.10) available
from Suse under Suse Linux 9.3. On my 32-bit computer, my Ruby script
executes successfully. However, on my 64-bit AMD computer the script
fails with the following error:

/usr/lib64/ruby/1.8/ftools.rb:27: [BUG] Segmentation faul
ruby 1.8.1 (2003-12-25) [x86_64-linux]

I'm confused - are you running 1.8.5 or 1.8.1 on your 64 bit machine?

<snip>

I am running the same version on all computers: 1.8.1-51.10. In my
original post I neglected to include the "1-" in front of the "51". I
also went back to the Suse site and verified that nothing later is
available through their update process.
Quite possible, as I've hit obscure segfaults with ftools that I've
never been able to narrow down. My suggestion, for the immediate time,
is to use FileUtils.cp instead. In the meantime, consider submitting a
bug on RubyForge (assuming this really is for 1.8.5 and not 1.8.1).

I changed to FileUtils.cp but received a similar segmentation fault.
Of course, it occurred on a different line number (423). However, in
both the case of fstools and FileUtils, the line is simply copying using
sysread and syswrite.

Cindy

I downloaded the latest source code from the Ruby site (1.8.5-p2) and
compiled it. This resolved my problem. So Suse needs to upgrade
their rpm to a more recent version so that Ruby can be handled by the
normal Suse update process (especially for security bugs.)

Cindy
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,020
Latest member
GenesisGai

Latest Threads

Top