Ticket #1933 (closed bug: fixed)

Opened 4 years ago

Last modified 4 years ago

stat opcode causes program crash on Win32 with invalid file descriptor

Reported by: whiteknight Owned by: nwellnhof
Priority: normal Milestone:
Component: none Version: master
Severity: medium Keywords:
Cc: Language:
Patch status: Platform: win32

Description

The test file t/dynoplibs/io.t has a few tests for the dynop stat_i_i_i and family that cause the test file to crash when using a nonsensical value for the file descriptor. Parrot terminates when the test is run with no warning. In dubgging, it appears that there is some kind of error happening at the win32-level, which isn't being handled and causes the program to terminate.

These tests are new additions from GCI.

I'm commenting out those tests for now while we investigate the cause and possible solutions.

Change History

Changed 4 years ago by whiteknight

I've commented out the offending tests in 5d54e34

Changed 4 years ago by nwellnhof

The passed INTVAL is converted to a Windows file handle which is a void *. I don't think it's possible to check if a handle is valid, so there's no way to avoid crashes.

IMO, we simply shouldn't use raw filehandles and deprecate that opcode.

Changed 4 years ago by whiteknight

+1 from me to remove.

Changed 4 years ago by nwellnhof

  • owner set to nwellnhof
  • status changed from new to assigned

I removed this dynop in branch nwellnhof/unicode_dynpmcs.

Changed 4 years ago by nwellnhof

  • status changed from assigned to closed
  • resolution set to fixed

stat_i_i_i has been removed. I can't imagine this op has been used, because afaics there's no way to get a valid filehandle. So we shouldn't need a deprecation notice.

Note: See TracTickets for help on using tickets.