We have encountered an issue where file transfers ‘lock-up’.
This is our architecture:
We have a number of serial ports on an embedded system installed on a PC/104, QNX Neutrino 6.3.0 sp 2. The serial port in question, /dev/ser3 devc-ser8250 driver (devc-ser8250 -C 4096 -I32768 -E -u3 -t4 -T4 -b 57600 -f 2e8,7 &), connects to a remote Windows PC via PPP (pppd). We have irq 7 driving this serial port. 99.99% of the time, this port is not connected as its for maintenance purposes.
However, there are occasions when this maintenance PC is connected and large file transfers are performed using FTP: normally this is via our own software built around libcurl for FTP, but we have tested it against the QNX FTP command-line client too with same results.
Not every time, but sometimes the FTP just stalls.
Examining the kernel event log via momentics debugger shows interrupt 7 during the transfer as very active (not surprisingly), as is the devc-ser8250 process in question, but after this stall event, int 7 disappears from the kernel event trace.
This is not recoverable other than rebooting the system.
Has anyone else experienced issues? I have read irq 7 is a “spurious interrupt” and needs extra care when handling and dont know if this could be a factor in devc-ser8250? I havent seen any further QNX RTOS releases addressing such a potential issue?
Thanks for reading