Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0007610 [Squeak] VM crash always 03-06-11 23:30 05-17-11 00:24
Reporter lewis View Status public  
Assigned To lewis
Priority normal Resolution fixed  
Status resolved   Product Version
Summary 0007610: Serial plugin crash on unix if too if too man opens are performed
Description Reported by Markus Lampert with fix provided:
http://lists.squeakfoundation.org/pipermail/vm-dev/2011-March/006970.html [^]

The serial plugin for unix (4.4.7.2357) can take the vm down. The following code demonstrates the issue:

s := SerialPort new.
40 timesRepeat: [
    s openPort: '/dev/ttyS0'.
    s close]
Additional Information Fix provided by Markus Lampert (attached)

"I have attached a version of sqUnixSerial.c which fixes the problem. It allows
for 32 _different_ serial ports to be opened and closed (as often as necessary).

It also prevents the segmentation fault. If more than 32 different serial ports
are attempted to be opened the request fails.

The changes are in line 202, and 220 - 352.

In the current implementation (trunk) it is not possible to find out if
#openPort: was successful or not and I don't know how to fix that."
Attached Files  sqUnixSerial.c [^] (13,178 bytes) 03-06-11 23:30

- Relationships

- Notes
(0014109 - 95 - 95 - 95 - 95 - 95 - 95)
lewis
05-17-11 00:24

Fixed in SVN 2364 (trunk platforms/unix/plugins/SerialPlugin/sqUnixSerial.c updated March 2011)
 

- Issue History
Date Modified Username Field Change
03-06-11 23:30 lewis New Issue
03-06-11 23:30 lewis Status new => assigned
03-06-11 23:30 lewis Assigned To  => lewis
03-06-11 23:30 lewis File Added: sqUnixSerial.c
05-17-11 00:24 lewis Status assigned => resolved
05-17-11 00:24 lewis Resolution open => fixed
05-17-11 00:24 lewis Note Added: 0014109


Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
37 total queries executed.
29 unique queries executed.
Powered by Mantis Bugtracker