Modify ↓
#342 closed bug (fixed)YAM crashes on OS4 when sending E-Mails
DescriptionSummary
I see on the YAM mailing list there is already a thread about this, but I cannot reply to it as YAM crashes when I try to do so! For me YAM crashes when I try to write a new E-Mail or to forward any E-Mail and it happens for all addresses.
I am on the OS4 beta testing list and recently updated all components after a long absense from testing. At some point during the updating YAM started crashing when sending E-Mails. It could be due to YAM, an OS4 beta component or one of the MUI classes such as NList etc. Steps to reproduce
Expected results
This is obvious. Actual results
A crash every time. I have a Grim Reaper crash report that I have added to this ticket. Notes
All OS4 beta components are up to date and I have the version of YAM that was released on 23.07.2012. However, it happens with all recent (ie. In the last month) versions of YAM.
Versions of libraries and classes installed (I think I have the latest of everything):
muimaster.library 20.5722
If you need any further information then don't hesitate to ask. I can also run custom builds for you if you wish and I'm a developer so no worries with technical questions.
Unfortunately I have only one NG Amiga and it has only two partitions and no CD-ROM drive, so I cannot install an older version of OS4 to try to determine when this crash started to happen. Looks like we'll have to debug it from the callstack. Attachments (5)Change History (24)Changed 10 months ago by colinwardcomment:1 Changed 10 months ago by thboeckel
comment:2 Changed 10 months ago by thboeckel
It is quite unlikely that AmigaOS4 is guilty, but YAM itself.
Please download the debug version of the next nightly build of YAM and produce a "mail" debug log with it. Details about YAM's debug facilities can be found in the FAQ. Pleast add the log as an attachment here. comment:3 Changed 10 months ago by thboeckel
(In [6180]) * mui/FilterChooser.c, mui/IdentityChooser.c, mui/MailServerChooser.c: added a workaround for a bug in MUI4 of MorphOS which occurs when no entries are available for selection. MorphOS uses a local and non-static variable as replacement in this case, which of course ceased to live as soon as the object's constructor is left. As consequence random memory was accessed. comment:4 follow-up: ↓ 5 Changed 10 months ago by thboeckel
Sorry, I closed the wrong ticket by accident.
Anyway, we still need this log to be able to fix this issue. comment:5 in reply to: ↑ 4 ; follow-up: ↓ 6 Changed 10 months ago by colinward
Replying to thboeckel:
Ok, please find attached a log file generated by using the debug version of YAM and the option:
setenv yamdebug all,file:ram:yam_debug.txt
If you need another run performed, please don't hesitate to ask! comment:6 in reply to: ↑ 5 Changed 10 months ago by thboeckel
Replying to colinward:
Please extend this to
This will produce a huge log (several MB!), but we need this one to know in which function YAM really crashes. Although there is something in the crashlog already this does not yet point to the really last bit within YAM due to compiler optimizations. comment:7 follow-up: ↓ 8 Changed 10 months ago by thboeckel
Bump! Changed 10 months ago by colinward
Debug log from running debug version of YAM with higher debug level comment:8 in reply to: ↑ 7 ; follow-up: ↓ 9 Changed 10 months ago by colinward
Replying to thboeckel:
Oops! Sorry, I missed your last message somehow. Ok, please find attached the requested log file. comment:9 in reply to: ↑ 8 Changed 10 months ago by thboeckel
Replying to colinward:
Unfortunately the log is truncated, most probably because of the buffered file I/O which did not yet write out the last lines when the crash happened.
Could you please produce the same log again with the next nightly build? That will flush all lines immediately to ensure the log really always contains all debug output.
Alternatively you can capture the output by using Sashimi with the current nightly build already. Just set ENV:yamdebug to "@all,all" (no file:... stuff) and then run YAM. When YAM eventually crashes quit Sashimi to ensure it has written all captured text to the log file as explained in the FAQ. comment:10 follow-up: ↓ 11 Changed 10 months ago by thboeckel
Bump bump! comment:11 in reply to: ↑ 10 Changed 9 months ago by colinward
Replying to thboeckel:
Sorry, been away! Please find attached the latest trace from the 15.08.2012 nightly build. Any more traces are required I should be more available now. Changed 9 months ago by colinward
Debug log from running 15.08.2012 debug version of YAM with high debug level comment:12 Changed 9 months ago by thboeckel
It seems you have no valid SMTP server configured for the identity you are composing the mail with. Please check the SMTP server in your Identity settings (Config -> Identities -> Mail server (SMTP)). comment:13 Changed 9 months ago by damato
comment:14 follow-up: ↓ 15 Changed 9 months ago by colinward
Good and bad news on this bug!
The good news is that it is now fixed and I am able to send E-Mails without it crashing. The bad news is that after sending E-Mail, it now crashes at shutdown. I am not sure if this is a related bug or a new one. I tried increasing the stack to 64k but it still crashes and it is entirely reproducible, at least for forwarding E-Mails.
I will attach a new crash log for you to look at - would you like me to open a whole new bug? comment:15 in reply to: ↑ 14 ; follow-up: ↓ 16 Changed 9 months ago by thboeckel
Replying to colinward:
No need for a new ticket. I just fixed this bug. The application's destructor accessed the global configuration which had been freed microseconds before. The next nightly build should not crash anymore.
To add, this crash only happened if the list of cached EMail addresses was modifies, i.e. new addresses were added. Without such a change everything went fine. comment:16 in reply to: ↑ 15 ; follow-up: ↓ 17 Changed 9 months ago by colinward
Replying to thboeckel:
Thanks for the quick response!
Interestingly, when I tried to forward the E-Mail I tried forwarding it to my Yahoo address. I have often forwarded E-Mails to that address in the past and so when I start typing the address in the to: field it automatically fills out the address. However, this time this did not happen - it was as though it had forgotten the cached list of addresses. This explains why the address was considered "new" in the cache. Has something changed recently that would cause YAM to discard the cache? ie. A cache format change? comment:17 in reply to: ↑ 16 ; follow-up: ↓ 18 Changed 9 months ago by damato
Replying to colinward:
Well, the email cache is implemented as a buffer with a maximum length. That means it will only carry a certain amount of mail addresses. And as soon as it overflows it removes mail addresses which haven't been used for a while. So if you haven't used your yahoo mail address for a while it will be automatically removed from the email cache in case you have sent mails to various other mail addresses exceeding the currently set amount of max addresses in the cache. Beside that nothing has change in the email cache format for a while. comment:18 in reply to: ↑ 17 ; follow-up: ↓ 19 Changed 9 months ago by thboeckel
Replying to damato:
The most obvious explanation is even more simple. Due to the crash the .emailcache file was not written completely and hence did not contain certain addresses anymore. Thus these were "new" again for YAM. comment:19 in reply to: ↑ 18 Changed 9 months ago by colinward
I have checked and yes, it turns out that this is indeed the case! The .emailcache file was zero bytes. After sending an E-Mail and exiting cleanly with last night's build that has the bugs fixed, the .emailcache file has the target address added correctly to it, and then YAM works as expected again.
Thanks very much in helping to sort out this problem - I was a bit lost without YAM! Note: See
TracTickets for help on using
tickets. | This list contains all users that will be notified about changes made to this ticket. These roles will be notified: Reporter, Owner, Subscriber
| ||||||||||||||||||||||||||||



Grim Reaper crash dump from sending E-Mail