Faculty of Information Technology
Software Engineering Group

Opened 4 years ago

Last modified 3 years ago

#64 accepted defect

VM crashes in fclose()

Reported by: vranyj1 Owned by: vranyj1
Priority: major Milestone:
Component: virtual machine Keywords:
Cc: Also affects CVS HEAD (eXept version): yes

Description

The Linux 32bit VM crashes (SEGV) in fclose() when running attached script.

It may or may not be another incarnation of "double-fclose" of "fseek-after-fclose" bugs.

Attachments (1)

bug_55_crash_on_fclose_2.st (1.0 KB) - added by vranyj1 4 years ago.

Download all attachments as: .zip

Change History (4)

Changed 4 years ago by vranyj1

Attachment: bug_55_crash_on_fclose_2.st added

comment:1 Changed 3 years ago by vranyj1

Owner: set to vranyj1
Status: newaccepted

As of today, the bug seems to be automagically fixed. Attached testcase does not crash
the VM after some 300 iterations on 32bit and 800 iterations on 64bits. It may be that some C99-fixes in the librun plus -fwrapv options somehow "fixed" it.

comment:2 Changed 3 years ago by Jan Vrany

Hmm...this testcase is still broken on Windows 32bit. It manifests in a funny way - it truncates files it opens, i.e., makes them empty. After some interations, some of the opened .st files are empty.

Based on procmon from SysInternals? Suite, a CloseHandle() is called twice on some handles - and those files are truncated. This makes me thinking there's yet some unfixed
problem in weak arrays.

comment:3 Changed 3 years ago by Jan Vrany

This is tested by test #test_issue_64_vm_crashes_in_fclose. Commit dbd517ea6e1c/stx.goodies.regression disables this test on Windows.

Note: See TracTickets for help on using tickets.