Re: gimp fails suddenly

From: Viktor Vasilev <viktor_at_rbg.informatik.tu-darmstadt.de>
Date: Sun, 7 Dec 2003 22:57:11 +0100
On Sun, Dec 07, 2003 at 01:25:58PM -0800, Doug White wrote:
> On Sun, 7 Dec 2003, Viktor Vasilev wrote:
> 
> > > LibGimp-ERROR **: could not attach to gimp shared memory segment
> > > Could it be a mmap or vm problem?
> > >
> >
> > I saw the same error yesterday on FreeBSD 4.9 Release and found
> > a closed PR about it. The workaround was to start gimp with the
> > --no-shm option.
> 
> Well that would imply that somehow SYSVSHM got removed from your kernel.
> What does 'ipcs -a' say?

Actually the kernel is compiled with the SYSVSHM option. IIRC gimp was 
installed with pkg_add -r.

# grep SYSVSHM /root/kernels/HYPERION
options         SYSVSHM                 #SYSV-style shared memory

# uname -a
FreeBSD endymion.hyperion.org 4.9-RELEASE FreeBSD 4.9-RELEASE #7: 
Fri Dec  5 22:28:56 CET 2003     
root_at_endymion.hyperion.org:/usr/src/sys/compile/HYPERION  i386

# ipcs -a
Message Queues:
T     ID     KEY        MODE       OWNER    GROUP  CREATOR   CGROUP CBYTES  QNUM QBYTES LSPID LRPID   STIME    RTIME    CTIME

Shared Memory:
T     ID     KEY        MODE       OWNER    GROUP  CREATOR   CGROUP NATTCH  SEGSZ  CPID  LPID   ATIME    DTIME    CTIME
m 196608          0 --rw-r--r--     root   myuser     root   myuser      7 151552    228    22821:49:32 21:49:32 12:14:10
m  65537          0 --rw-r--r--     root   myuser     root   myuser      6 122880    228   104221:29:46 21:29:46 12:14:10
m  65538          0 --rw-------   myuser   myuser   myuser   myuser      2 393216    255    22812:15:18 22:35:00 12:15:18
m  65539          0 --rw-r--r--     root   myuser     root   myuser      2 790528    228    29812:15:54 12:15:54 12:15:54
m 393220          0 --rw-r--r--     root   myuser     root   myuser      2 110592    228    35412:21:49 15:32:20 12:21:49
m 262149          0 --rw-r--r--     root   myuser     root   myuser      4 110592    228    35412:21:49 15:32:20 12:21:49

Semaphores:
T     ID     KEY        MODE       OWNER    GROUP  CREATOR   CGROUP NSEMS   OTIME    CTIME


# ipcs -T
msginfo:
        msgmax:  16384  (max characters in a message)
        msgmni:     40  (# of message queues)
        msgmnb:   2048  (max characters in a message queue)
        msgtql:     40  (max # of messages in system)
        msgssz:      8  (size of a message segment)
        msgseg:   2048  (# of message segments in system)

shminfo:
        shmmax: 33554432        (max shared memory segment size)
        shmmin:       1 (min shared memory segment size)
        shmmni:     192 (max number of shared memory identifiers)
        shmseg:     128 (max shared memory segments per process)
        shmall:    8192 (max amount of shared memory in pages)

seminfo:
        semmap:     30  (# of entries in semaphore map)
        semmni:     10  (# of semaphore identifiers)
        semmns:     60  (# of semaphores in system)
        semmnu:     30  (# of undo structures in system)
        semmsl:     60  (max # of semaphores per id)
        semopm:    100  (max # of operations per semop call)
        semume:     10  (max # of undo entries per process)
        semusz:     92  (size in bytes of undo structure)
        semvmx:  32767  (semaphore maximum value)
        semaem:  16384  (adjust on exit max value)

What I see with ktrace is:

  1454 script-fu RET   read 4
  1454 script-fu CALL  shmsys(0,0x640007,0,0)
  1454 script-fu RET   shmsys -1 errno 22 Invalid argument

And then the error message:

  1454 script-fu CALL  write(0x2,0x282369a8,0x1)
  1454 script-fu GIO   fd 2 wrote 1 byte
       "
       "
  1454 script-fu RET   write 1
  1454 script-fu CALL  write(0x2,0x2834827d,0x7)
  1454 script-fu GIO   fd 2 wrote 7 bytes
       "LibGimp"
  1454 script-fu RET   write 7
  1454 script-fu CALL  write(0x2,0x282369aa,0x1)
  1454 script-fu GIO   fd 2 wrote 1 byte
       "-"
  1454 script-fu RET   write 1
  1454 script-fu CALL  write(0x2,0x282369c7,0xa)
  1454 script-fu GIO   fd 2 wrote 10 bytes
       "ERROR **: "
  1454 script-fu RET   write 10/0xa
  1454 script-fu CALL  write(0x2,0xbfbff2ac,0x2f)
  1454 script-fu GIO   fd 2 wrote 47 bytes
       "could not attach to gimp shared memory segment
       "

So I guess something is passing invalid arguments to shmsys().

Hope this helps.

Viktor

-- 
Microsoft: Where do you want to go today?
Linux: Where do you want to go tomorrow?
BSD: Are you guys coming, or what?
Received on Sun Dec 07 2003 - 12:57:22 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:32 UTC