twisted / twisted/twisted

win32 SerialPort requires a reactor that provides "addEvent" method, but doesn't have a good error message if it gets a different one

Open
#3,802 26 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug core documentation new priority-low serialport win32
Dominant language
Python
Stars
6k
Forks
1.2k
Avg merge
2d 10h
Merged PRs (30d)
10

Description

tiendalinux's avatar tiendalinux reported
Trac ID trac#3802
Type defect
Created 2009-04-26 18:14:48Z
Branch https://github.com/twisted/twisted/tree/win32er-serialport-3802

SerialPort raises the following exception on Windows if it is used with the default reactor:

  File "twisted\internet\_win32serialport.py", line 56, in __init__
    self.reactor.addEvent(self._overlappedRead.hEvent, self, 'serialReadEvent')
AttributeError: 'SelectReactor' object has no attribute 'addEvent'

It should say something more helpful when given a SelectReactor, explaining that win32eventreactor is required for serial port support on Windows.

Attachments:

  • twisted-3802.patch (3566 bytes) - added by ltaylor.volks on 2010-02-23 21:08:11Z - See comments below
  • twisted-3802.2.patch (5688 bytes) - added by ltaylor.volks on 2010-05-26 20:11:10Z - Patch addresses [/ticket/3802#comment:10 review]
  • 3802_docstring.patch (2753 bytes) - added by ltaylor.volks on 2010-06-05 20:37:49Z - SerialPort docstring
Searchable metadata
trac-id__3802 3802
type__defect defect
reporter__tiendalinux tiendalinux
priority__low low
milestone__ 
branch__branches_win32er_serialport_3802 branches/win32er-serialport-3802
branch_author__exarkun__ltaylor_volks exarkun, ltaylor.volks
status__new new
resolution__ 
component__core core
keywords__serialport_win32_documentation serialport win32 documentation
time__1240769688000000 1240769688000000
changetime__1300843383000000 1300843383000000
version__None None
owner__ 
cc__ltaylor.volks cc__TimAllen cc__jesstess cc__detly

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with twisted/internet/_win32serialport.py, especially the addEvent call shown in the traceback, and review the attached twisted-3802 patches and 3802_docstring.patch. Confirm the Windows SelectReactor failure explains that win32eventreactor is required for serial port support and that the SerialPort documentation reflects this requirement.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.