close
Comments you submit will be routed for moderation. If you have an account, please log in first.
Modify

Opened 8 months ago

Closed 8 months ago

Last modified 4 months ago

#409 closed bug (fixed)

KillDuplicates.yam cause DSI and crash

Reported by: AmigaPhil Owned by: damato
Priority: normal Milestone: YAM 2.9
Component: ARexx interface Version: 2.8p1
Severity: major Keywords:
Cc: OS Platform:
Blocked By: Blocking:
Release Notes:

fixed a bug where the MAILINFO ARexx command caused a crash if the mail in question contained no message ID.

Description

Summary

After trying to delete duplicates in my incoming folder (near 3000 messages) using the ARexx script KillDuplicates.yam, GrimReaper appears with a DSI error (see crashlog attached). Ignoring DSI makes Yam to hang and the system very unstable.

Steps to reproduce

  1. Execute KillDuplicates.yam 2.

Expected results

Actual results

Regression

Notes

AmigaOne X1000, OS 4.1u6

Attachments (4)

Crashlog_YAM_2013-08-21_20-44-47.txt (28.8 KB) - added by AmigaPhil 8 months ago.
GrimReaper crashlog
Crashlog_YAM.debug_2013-08-28_17-19-17.txt (29.4 KB) - added by AmigaPhil 8 months ago.
Nightly build crashlog
Modification.eml (1.4 KB) - added by AmigaPhil 8 months ago.
Example of an e-mail causing MAILINFO to crash
KillDuplicates.yam (852 bytes) - added by AmigaPhil 8 months ago.
KillDuplicates.yam now takes care of missing message-id

Download all attachments as: .zip

Change History (14)

Changed 8 months ago by AmigaPhil

GrimReaper crashlog

comment:1 Changed 8 months ago by tboeckel

Is it possible you ran out of memory while script was collecting duplicate mails? This is the only reason for this crash that I can think of as there might be a missing a check for a failed memory allocation.

comment:2 Changed 8 months ago by tboeckel

(In [6968]) * Rexx.c, rexx/misc: check the allocation of the optional structure and return an error upon failure. This refs #409.

comment:3 Changed 8 months ago by tboeckel

Please check the script again with the next nightly build. If not enough memory is the true cause of the crash then this should be fixed with the next build and the script should return an error in case of a low memory situation.

comment:4 Changed 8 months ago by AmigaPhil

I would have thought about running out of memory as well, but...
I have 2Gb of RAM, and all the (nearly) 3000 messages compiled as a mbox file are "only" around 32Mb.

I'll try the next nightly build (after midnight IIRC ?).

Changed 8 months ago by AmigaPhil

Nightly build crashlog

comment:5 Changed 8 months ago by AmigaPhil

I've tested it with the nightly build from 28/8/2013.
Again, DSI, Yam hang, and system unstable (and finally freeze).

I've narrowed the problem a bit. It is caused by the command MAILINFO clashing with some messages.
I've spotted one of those messages. It was bulk sent by my then ISP. It has no To: field, and the From: field does not contain a valid e-mail address.

comment:6 Changed 8 months ago by damato

Can you please attach a copy of that email if that's possible. It would help us investigating the problem much easier.

Changed 8 months ago by AmigaPhil

Example of an e-mail causing MAILINFO to crash

comment:7 Changed 8 months ago by damato

  • Component changed from undefined to ARexx interface
  • Milestone set to YAM 2.9
  • Owner set to damato
  • Priority changed from undecided to normal
  • Status changed from new to assigned

comment:8 Changed 8 months ago by damato

  • Resolution set to fixed
  • Status changed from assigned to closed

(In [6980]) * rexx/mailinfo.c: fixed a crash bug where strdup() was used on a NULL pointer

if a mail didn't contain any messageID. This closes #409.

comment:9 Changed 8 months ago by AmigaPhil

Thank you for having fixed this bug very quickly.

As now MAILINFO can return NULL for MSGID, I've slightly modified the ARexx script KillDuplicates.yam to handle this.
If there is no message-id, the date is used instead as identifier for the message.

I'm attaching the script here.

Changed 8 months ago by AmigaPhil

KillDuplicates.yam now takes care of missing message-id

comment:10 Changed 4 months ago by damato

  • Release Notes modified (diff)

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
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

  • Jens Maus(Owner, Participant)
  • Philippe Duchenne(Reporter, Participant)