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

Opened 10 months ago

Closed 9 months ago

Last modified 8 months ago

#455 closed bug (fixed)

Crash on drag&drop (copy) of more than 15 mails

Reported by: Raziel Owned by: tboeckel
Priority: undecided Milestone: YAM 2.9
Component: foreign component Version: 2.8p1
Severity: major Keywords:
Cc: OS Platform:
Blocked By: Blocking:
Release Notes:

fixed a problem where drag&drop operations caused a crash due to a bug in NListview.mcc.

Description

Summary

OK, i have a *very* weird behaviour here

Steps to reproduce

  1. Choose any mail folder
  2. Mark more than 15 mails
  3. Drag&Drop/Move/Copy them to the Incoming folder

Expected results

Mails to be copied without a crash

Actual results

They get copied alright, but immediately afterwards i get a crash

Regression

Pretty sure it is one, but i'm surprised that this behaviour didn't caught my attention before

Notes

The weird part is that

  1. It adds up, meaning i can copy 14 mails and it will crash if i copy three afterwards (thus going beyond the 16th mail)
  2. This affects ALL copy operations in YAM (Move, Copy from the PullDown Menu, Drag&Drop with the mouse, it even crashes after a filter operation moved more than 16 mails)

Attachments (9)

Crashlog_YAM_2013-11-20_12-52-32.txt (36.9 KB) - added by Raziel 10 months ago.
Crash after a normal drag&drop
Crashlog_YAM_2013-11-20_12-41-41.txt (36.7 KB) - added by Raziel 10 months ago.
The same crash but after the filter moved 30 mails
Crashlog_YAM.debug_2013-11-20_17-22-24.txt (37.5 KB) - added by Raziel 10 months ago.
Yam.debug 2.8p1
Crashlog_YAM.debug_2013-11-20_17-34-58.txt (36.7 KB) - added by Raziel 10 months ago.
YAM.debug 2.9 NB 20.11.2013
YAM.log (64.1 KB) - added by Raziel 10 months ago.
Sashimi/Memguard log of YAM.debug 2.8p1
YAM.Debug.log (1.3 MB) - added by Raziel 9 months ago.
Full debug log
YAM_sashimi.out (11.7 KB) - added by Raziel 9 months ago.
Sashimi Crash log
Crashlog_YAM_2013-11-24_16-54-33.txt (35.8 KB) - added by Raziel 9 months ago.
Crash after a normal drag&drop operation
nlistview_2013_11_25.lha (8.5 KB) - added by tboeckel 9 months ago.
Fixed version of NListview.mcc

Download all attachments as: .zip

Change History (30)

comment:1 Changed 45 years ago by Raziel

  • Status changed from pending to new

Changed 10 months ago by Raziel

Crash after a normal drag&drop

Changed 10 months ago by Raziel

The same crash but after the filter moved 30 mails

comment:1 Changed 10 months ago by Raziel

Make that 15+ mails.

I get that crash between 16 and 20 mails, very strange

comment:2 follow-up: Changed 10 months ago by damato

  • Status changed from new to pending

I am sorry, but I cannot reproduce the problem here. What I find strange in the crash log, however, is that it is point to the "FilterMails()" function in YAM. In the description above you are saying you manually drag&drop mails to the incoming folder, but this shouldn't trigger the filter of YAM in any way?!? So something might be special in your installation. So can you please state the exact version you are using? And if possible, please try to reproduce the problem with the latest nightly build. It might be that this already fixes that issue. If not, then please try to reproduce the problem with the debug version and attach the debug output of that version until it crashes.

comment:3 Changed 10 months ago by Raziel

Yes, as i said in the original "Notes" it even affects the filter operation.
Whereas the filter itself is properly processed but on moving the mails after the filter operation the crash is there.

I'll add notes about using the 2.8p1 debug and the nightly build

Changed 10 months ago by Raziel

Yam.debug 2.8p1

Changed 10 months ago by Raziel

YAM.debug 2.9 NB 20.11.2013

comment:4 Changed 10 months ago by Raziel

What i meant with above comment was that even if it's crashing in YAM's filter process it might still be the move operation that is the culprit?

Added YAM.debug crash log 2.8p1 and 2.9 NB 22.11.2013

It does still crash in the NB

comment:5 Changed 10 months ago by damato

Thanks for the crash logs. To further investigate this issue we would, however, need also some debug logs using the debug version. So please run your test again and catch the debug log using "setenv yamdebug @all all" before running yam from the shell. This will output some debug information on the serial console. So please use Sashimi to catch that information.

comment:6 Changed 10 months ago by Raziel

I'm sorry for the flood, missed the part where you asked for the exact version.

Version: 2.8p1 [OS4/PPC]
Compilation date: 07.07.2013 (GCC 4.7.1 r6666)

The Buffer was overrun in sashimi...i hope you can work with it
Memguard is running too btw

Changed 10 months ago by Raziel

Sashimi/Memguard log of YAM.debug 2.8p1

comment:7 follow-up: Changed 10 months ago by Raziel

Did the log help?
Is there anything else i can provide?

comment:8 in reply to: ↑ 7 Changed 9 months ago by tboeckel

Replying to Raziel:

Did the log help?
Is there anything else i can provide?

Sorry, but I had no time to take a closer look yet. If Sashimi's buffer does overrun, you can redirect YAM's debug output directly to a file by adding "file:path_to_file" to ENV:yamdebug, i.e. file:ram:t/yamlog.txt to redirect the output to ram:t/yamlog.txt. Of course RAM: is a bad decision for an @all,all log, as this is going to become very big.

comment:9 Changed 9 months ago by Raziel

Thank you Thore, that did it.

New logs attached

Sorry for being a little pushy, i always forget that people have different work shifts :-)

Changed 9 months ago by Raziel

Full debug log

Changed 9 months ago by Raziel

Sashimi Crash log

Changed 9 months ago by Raziel

Crash after a normal drag&drop operation

comment:10 in reply to: ↑ 2 Changed 9 months ago by Raziel

Replying to damato:

What I find strange in the crash log, however, is that it is point to the "FilterMails()" function in YAM.

You are right, i'm sorry
I added two crashlogs that both happened after filermails() to the initial bug report.

I added a log from after a normal drag&drop operation

comment:11 Changed 9 months ago by tboeckel

Did the latest crash happen with 2.8p1 or with 2.9-dev? From the crashlog I can see that the crash is caused by a duplicate Remove() call (0xcccccccc in r9).

comment:12 follow-up: Changed 9 months ago by Raziel

The latest crashlog was from 2.8p1.

But as you can see in Crashlog_YAM.debug_2013-11-20_17-34-58.txt it also happens the same way in 2.9-dev.

I could do another NB check, if needed?

comment:13 in reply to: ↑ 12 Changed 9 months ago by tboeckel

  • Component changed from undefined to user interface
  • Milestone set to YAM 2.9
  • Owner set to tboeckel
  • Status changed from new to assigned

Replying to Raziel:

I could do another NB check, if needed?

I don't think that will be necessary. I just managed to reproduce this issue on AmigaOS3 with a quick'n'dirty patch to let certain functions behave like in AmigaOS4. This seems to a bug in NListview.mcc. If I should guess I'd say the reason why 16 is the magic number for you is the fact that you can see 15 lines in your main mail list and the vertical scrollbar is visible. If more than 15 mails are removed from a folder then the scrollbar might vanish if less than 15 mails are left in the folder, which then causes the crash because the removed scrollbar is still accessed as an object in a list.

comment:14 follow-up: Changed 9 months ago by Raziel

I just managed to reproduce this issue on AmigaOS3 with a quick'n'dirty patch to let certain functions behave like in AmigaOS4. This seems to a bug in NListview.mcc.

Ah, sweet :-)

If I should guess I'd say the reason why 16 is the magic number for you is the fact that you can see 15 lines in your main mail list and the vertical scrollbar is visible. If more than 15 mails are removed from a folder then the scrollbar might vanish if less than 15 mails are left in the folder, which then causes the crash because the removed scrollbar is still accessed as an object in a list.

Not quite :-)
I have 13 lines visible and the vertical scrollbar is indeed there.

I have 29 mails in the folder, 13 are visible, vscrollbar visible
moving 16 (or more) mails
remaining 13, vscrollbar gets removed, but accessed and crashes

Is this what you meant?

comment:15 in reply to: ↑ 14 Changed 9 months ago by tboeckel

Replying to Raziel:

Is this what you meant?

Yes, exactly.

Version 0, edited 9 months ago by tboeckel (next)

Changed 9 months ago by tboeckel

Fixed version of NListview.mcc

comment:16 Changed 9 months ago by tboeckel

Please try the attached version of NListview.mcc. It has the same version as the one from the last official release, but a current date in the version string. For me this one fixes the crashes.

comment:17 Changed 9 months ago by damato

  • Component changed from user interface to foreign (MCC, library, etc.)

comment:18 Changed 9 months ago by Raziel

Confirmed.

Crash does not happen anymore :-)

Thank you very much for the fast fix

comment:19 Changed 9 months ago by damato

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

Problem should be fixed with NListview.mcc v19.91+

comment:20 Changed 8 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

  • Hubert Maier(Reporter, Participant)
  • Thore Böckelmann(Owner, Participant)