Page MenuHomePhorge

Guam crash: "in state passthrough terminated with reason: bad argument in call to erlang:bit_size( ..."
Closed, ResolvedPublic

Description

"Guam crashes - for example while downloading attachments with K9 Mail

  • pykolab 0.8.18-0~kolab1
  • erlang-eimap 0.4.0-1.1
  • guam 0.9.5-2

(Kolab 16 for Debian 10)

http://lists.kolab.org/pipermail/devel/2020-March/015763.html

For me guam was constantly crashing:

... [error] <0.17491.1>@eimap:joined:487 gen_fsm <0.17491.1> in state passthrough terminated with reason: bad argument in call to erlang:bit_size( ...

The reason is: zlib:inflate() can return a nested iolist which is not handled by the recursive joined() implementation within guam and erlang-eimap.

But there's a erlang function for converting an iolist to a binary string: [error] <0.17491.1>@eimap:joined:487 gen_fsm <0.17491.1> in state passthrough terminated with reason: bad argument in call to erlang:bit_size(). I'm not experienced with erlang, but I simply replaced the joined() by iolist_to_binary() and it seems to work fine. At least the crashes are gone and I cannot see any negatives so far. "

Details

Ticket Type
Task