Dorian Taylor
2018-Mar-21 23:14 UTC
"failed to map segment from shared object" in sieve pipe
Hello, I have encountered a problem attempting to run a program in a sieve pipe. The program is a Perl script that loads a number of binary (XS) modules at runtime. The program crashes, it appears, if it tries to load too many. The (non-Perl part of the) error message is "failed to map segment from shared object? ? no additional information. Cryptic error messages like this have the odour of imposed resource restrictions, so I?m wondering if there are any on the pipe/filter/execute implementation (e.g. via program_client_run). Any configuration knobs I can twiddle? Any insights for debugging? PS this is the dovecot 2.2.22 (fe789d2), the one that ships with Ubuntu Xenial. Regards, -- Dorian Taylor Make things. Make sense. https://doriantaylor.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 842 bytes Desc: Message signed with OpenPGP using GPGMail URL: <https://dovecot.org/pipermail/dovecot/attachments/20180321/725022ee/attachment-0001.sig>
Stephan Bosch
2018-Mar-22 00:16 UTC
"failed to map segment from shared object" in sieve pipe
Op 3/22/2018 om 12:14 AM schreef Dorian Taylor:> Hello, > > I have encountered a problem attempting to run a program in a sieve pipe. The program is a Perl script that loads a number of binary (XS) modules at runtime. The program crashes, it appears, if it tries to load too many. The (non-Perl part of the) error message is "failed to map segment from shared object? ? no additional information. > > Cryptic error messages like this have the odour of imposed resource restrictions, so I?m wondering if there are any on the pipe/filter/execute implementation (e.g. via program_client_run). > > Any configuration knobs I can twiddle? Any insights for debugging? > > PS this is the dovecot 2.2.22 (fe789d2), the one that ships with Ubuntu Xenial.Those knobs depend a on your config. If there is truly some resource limit causing this, it could be the vsz_limit of the (parent) process invoking your program. Which service is doing that depends on your config, either LMTP, the script service (when you're using socket programs), or dovecot-lda (so, basically your MTA - not controlled by Dovecot obviously). https://wiki.dovecot.org/Services#Service_limits Regards, Stephan.
Dorian Taylor
2018-Mar-22 00:28 UTC
"failed to map segment from shared object" in sieve pipe
> On Mar 21, 2018, at 5:16 PM, Stephan Bosch <stephan at rename-it.nl> wrote: > > Those knobs depend a on your config. If there is truly some resource > limit causing this, it could be the vsz_limit of the (parent) process > invoking your program. Which service is doing that depends on your > config, either LMTP, the script service (when you're using socket > programs), or dovecot-lda (so, basically your MTA - not controlled by > Dovecot obviously). > > https://wiki.dovecot.org/Services#Service_limits > > Regards, > > Stephan.Indeed it was vsz_limit. I set it to zero (under service lmtp) and now the script works. However I?m noticing a couple things: 1) I previously had the vsz_limit unset, and subsequently set to 256M; neither worked. 2) I wrote a test script that just ran in a loop appending to a string and printing to stderr how long the string was; it was killed after it reported accumulating about 2MB. Weird? or normal? -- Dorian Taylor Make things. Make sense. https://doriantaylor.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 842 bytes Desc: Message signed with OpenPGP using GPGMail URL: <https://dovecot.org/pipermail/dovecot/attachments/20180321/0c7aabac/attachment.sig>