🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by Arnd Liman Tue, 18 Aug 1992 15:55
Bug in gnu tar?
#668
Author: Arnd Liman
Date: Tue, 18 Aug 1992 15:55
53 lines
2110 bytes
Hello,

I am trying to use gtar 1.10 for our NeXT Stations. But after dumping serveral
files to tape, gtar quits with a segmentation violation.

With gdb I found, that the program crashes in tar.c in function
'name_from_list()':

/* This returns a name from the namelist which doesn't have ->found set.
   It sets ->found before returning, so successive calls will find and return
   all the non-found names in the namelist */

struct name *gnu_list_name;

char *
  name_from_list()
{
  if(!gnu_list_name)
    gnu_list_name = namelist;
  while(gnu_list_name && gnu_list_name->found)  <<<--------------
    gnu_list_name=gnu_list_name->next;
  if(gnu_list_name) {
    gnu_list_name->found++;
    if(gnu_list_name->change_dir)
      if(chdir(gnu_list_name->change_dir)<0)
        msg_perror("can't chdir to %s",gnu_list_name->change_dir);
    return gnu_list_name->name;
  }
  return (char *)0;
}

I marked the line, where the segmentation violation occured. The reason
was the corrupted list 'namelist'. After some elements (~100) the 'next'
pointer in 'struct name' points to an area where many filenames are
stored. I didn't find the reason for this, maybe you have an idea?

Here are the options that I give to gtar:

tar -c +multi-volume +one-file-system +block=124 -f /dev/rst0
    +listed-incremental /etc/tar-backup/temp.level-0
    +label='Full backup of / on majestix at 18.08.92' -C / .

The /-filesystem is 350 MB big.

Can you help me???

Arnd

-- 
   __          _
  /  )       _//                       Mail Addr. liman@cpp.do.open.de
 /--/        /                                    Baroper Strasse 261
/  (_ rnd   /___ iman                             D-4600 Dortmund 50
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads