Discussion:
[OpenAFS] question about error on i686 arch
Gary Gatling
2018-08-02 22:03:45 UTC
Permalink
Anyone ever see this error before?

/var/lib/dkms/openafs/1.8.1/build/src/libafs/MODLOAD-4.17.9-100.fc27.i686-MP/afs_dcache.c:2819!
[libafs]

Its from when I tried to start the service with systemd. abrt ran as soon
as I tried to start it up. These are from some packages that were made a
long time ago at my site.

Thanks for any ideas anyone has to further troubleshoot. It works fine on
x86_64 arch.
Mark Vitale
2018-08-03 14:12:30 UTC
Permalink
Post by Gary Gatling
Anyone ever see this error before?
/var/lib/dkms/openafs/1.8.1/build/src/libafs/MODLOAD-4.17.9-100.fc27.i686-MP/afs_dcache.c:2819! [libafs]
Its from when I tried to start the service with systemd. abrt ran as soon as I tried to start it up. These are from some packages that were made a long time ago at my site.
Thanks for any ideas anyone has to further troubleshoot. It works fine on x86_64 arch.
Could you please check the syslog for the full backtrace (and any preceding messages from AFS)?
If you find one, please provide the relevant bits here. Or even better, please open a ticket
at rt.central.org by sending an email to openafs-***@openafs.org.

Tnanks,
--
Mark Vitale
***@sinenomine.net
Mark Vitale
2018-08-03 14:34:05 UTC
Permalink
Gary,
Post by Gary Gatling
Anyone ever see this error before?
/var/lib/dkms/openafs/1.8.1/build/src/libafs/MODLOAD-4.17.9-100.fc27.i686-MP/afs_dcache.c:2819! [libafs]
Its from when I tried to start the service with systemd. abrt ran as soon as I tried to start it up. These are from some packages that were made a long time ago at my site.
Thanks for any ideas anyone has to further troubleshoot. It works fine on x86_64 arch.
After looking at the code, I see that this is a failed assert, and that you are using -memcache.
Could you please also provide your afsd startup options and cache configuration?

Thanks,
--
Mark Vitale
***@sinenomine.net
Andrew Deason
2018-08-03 22:51:44 UTC
Permalink
On Thu, 2 Aug 2018 18:03:45 -0400
Post by Gary Gatling
Anyone ever see this error before?
/var/lib/dkms/openafs/1.8.1/build/src/libafs/MODLOAD-4.17.9-100.fc27.i686-MP/afs_dcache.c:2819!
[libafs]
If I use memcache on a similar system, I see the same thing. I also see
the following messages in dmesg, and I assume you'll find similar
messages if you look around:

Aug 03 17:19:14 fed-1 kernel: Starting AFS cache scan...
Aug 03 17:19:14 fed-1 kernel: vmap allocation for size 69632 failed: use vmalloc=<size> to increase size
Aug 03 17:19:14 fed-1 kernel: afsd: vmalloc: allocation failure: 65536 bytes, mode:0x14000c0(GFP_KERNEL), nodemask=(null)
[...]
Aug 03 17:19:24 fed-1 kernel: afs_osi_Alloc: Can't vmalloc 65536 bytes.
Aug 03 17:19:24 fed-1 kernel: afsd: memCache allocation failure at 98688 KB.
Aug 03 17:19:24 fed-1 kernel: afsd: memory cache too large for available memory.
Aug 03 17:19:24 fed-1 kernel: afsd: AFS files cannot be accessed.

If you search for that "use vmalloc=<size> to increase size" message,
you'll find some pages that explain a little what's going on, and how to
work around it (it's not specific to openafs). But basically, you don't
have enough memory for a memcache of that size; we ran out of memory
while allocating the memcache entries.

Your system may have more physical ram than the given memcache size
(e.g. your cache may be 100M, but your machine may have 1G of ram), but
Linux restricts how much of this flavor of memory we can use (vmalloc'd
memory). On amd64, these limits are much higher, so you're less likely
to see it there. To work around this, you can raise the vmalloc limit by
passing vmalloc=<size> on the kernel command line when you boot.

I haven't looked too deep in the details, but I think it's somewhat
difficult for us to avoid this issue entirely, given the way that
memcache works on Linux. We currently of course handle the error
terribly and we'll work on not panicing in this situation, but we may
not be able to avoid the error itself.

So to avoid the error, either use vmalloc=<size> as mentioned above, or
lower your cache size, or ideally, stop using memcache. memcache is used
way less than disk cache and is probably way less stable. If you really
feel you need to avoid hitting the disk, you can mount tmpfs on
/usr/vice/cache. iirc that's less memory-efficient, but it tends to work
better.
--
Andrew Deason
***@sinenomine.net
(please CC me directly on replies; I don't read the list)
Gary Gatling
2018-08-06 19:19:49 UTC
Permalink
Post by Andrew Deason
If I use memcache on a similar system, I see the same thing. I also see
the following messages in dmesg, and I assume you'll find similar
Yup. It was

CACHE="-memcache -blocks 102400"

I changed it to

CACHE="-cachedir /var/cache/openafs"

in the config file /etc/sysconfig/openafs

And now everything works fine on i686. Not expecting to use i686 much but
was genuinely curious why it would fail on that arch. Thanks a lot for the
explanation!

Continue reading on narkive:
Loading...