An interrupt controller comprising: an interrupt source interface to receive interrupts from one or more interrupt sources; a plurality of output interfaces (35, 40, 45), each output interface being associated with a processing device (55, 65, 75) that is arranged to execute an interrupt service routine to process an interrupt request issued to that processing device, characterized by: the interrupt source interface comprising transaction generation circuitry that is arranged, for each received interrupt, to generate an original transaction to represent the interrupt and a duplicate transaction to represent the interrupt; buffer circuitry to buffer the original transaction and the duplicate transaction for each received interrupt; and selection circuitry to select transactions from the buffer circuitry and to route each selected transaction for receipt by the output interface (35, 40, 45) identified by an address portion of that selected transaction; each output interface having queue storage (37, 42, 47), the queue storage comprising a plurality of queue entries, each queue entry being allocated to a transaction received by the output interface and used to store interrupt identifying information provided by a data portion of the transaction, and the queue storage being arranged to maintain duplication tracking information to identify when both the original transaction and its associated duplicate transaction have been received by the output interface; wherein each output interface is arranged to inhibit issuing an output signal to cause an interrupt request for the original transaction to be sent to the associated processing device until the duplication tracking information identifies that both the original transaction and the associated duplicate transaction have been received by that output interface. an interrupt source interface to receive interrupts from one or more interrupt sources; a plurality of output interfaces (35, 40, 45), each output interface being associated with a processing device (55, 65, 75) that is arranged to execute an interrupt service routine to process an interrupt request issued to that processing device, characterized by: the interrupt source interface comprising transaction generation circuitry that is arranged, for each received interrupt, to generate an original transaction to represent the interrupt and a duplicate transaction to represent the interrupt; buffer circuitry to buffer the original transaction and the duplicate transaction for each received interrupt; and selection circuitry to select transactions from the buffer circuitry and to route each selected transaction for receipt by the output interface (35, 40, 45) identified by an address portion of that selected transaction; each output interface having queue storage (37, 42, 47), the queue storage comprising a plurality of queue entries, each queue entry being allocated to a transaction received by the output interface and used to store interrupt identifying information provided by a data portion of the transaction, and the queue storage being arranged to maintain duplication tracking information to identify when both the original transaction and its associated duplicate transaction have been received by the output interface; wherein each output interface is arranged to inhibit issuing an output signal to cause an interrupt request for the original transaction to be sent to the associated processing device until the duplication tracking information identifies that both the original transaction and the associated duplicate transaction have been received by that output interface. the interrupt source interface comprising transaction generation circuitry that is arranged, for each received interrupt, to generate an original transaction to represent the interrupt and a duplicate transaction to represent the interrupt; buffer circuitry to buffer the original transaction and the duplicate transaction for each received interrupt; and selection circuitry to select transactions from the buffer circuitry and to route each selected transaction for receipt by the output interface (35, 40, 45) identified by an address portion of that selected transaction; each output interface having queue storage (37, 42, 47), the queue storage comprising a plurality of queue entries, each queue entry being allocated to a transaction received by the output interface and used to store interrupt identifying information provided by a data portion of the transaction, and the queue storage being arranged to maintain duplication tracking information to identify when both the original transaction and its associated duplicate transaction have been received by the output interface; wherein each output interface is arranged to inhibit issuing an output signal to cause an interrupt request for the original transaction to be sent to the associated processing device until the duplication tracking information identifies that both the original transaction and the associated duplicate transaction have been received by that output interface.