A computer program product for providing diagnostic information on transaction aborts, the computer program product comprising: a computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: detecting, by a processor, an abort of a transaction, the transaction comprising one or more instructions; the transaction being a nested transaction; wherein an aborting condition at any nesting depth causes all levels of the transaction to be aborted; and the transaction effectively delaying committing transactional stores to main memory until completion of an outermost transaction; determining, by the processor, whether diagnostic information is to be stored into a transaction diagnostic block based on the abort; and based on the determining indicating diagnostic information is to be stored, storing diagnostic information in the transaction diagnostic block, the diagnostic information including an address of an instruction corresponding to the transaction that aborted, the address of the instruction depending on a reason for the abort of the transaction, the reason provided in an abort code, and wherein: based on the abort code having a first value of one or more first values, the diagnostic information including an address of an instruction that was executing when the abort was detected; based on the abort code having a second value of one or more second values and program exception condition being not nullifying, the diagnostic information including an address of an instruction that is past the instruction executing when the abort was detected; and based on the abort code having a third value of one or more third values, the diagnostic information including an address of an instruction that is earlier or later than the instruction executing when the abort was detected. detecting, by a processor, an abort of a transaction, the transaction comprising one or more instructions; the transaction being a nested transaction; wherein an aborting condition at any nesting depth causes all levels of the transaction to be aborted; and the transaction effectively delaying committing transactional stores to main memory until completion of an outermost transaction; determining, by the processor, whether diagnostic information is to be stored into a transaction diagnostic block based on the abort; and based on the determining indicating diagnostic information is to be stored, storing diagnostic information in the transaction diagnostic block, the diagnostic information including an address of an instruction corresponding to the transaction that aborted, the address of the instruction depending on a reason for the abort of the transaction, the reason provided in an abort code, and wherein: based on the abort code having a first value of one or more first values, the diagnostic information including an address of an instruction that was executing when the abort was detected; based on the abort code having a second value of one or more second values and program exception condition being not nullifying, the diagnostic information including an address of an instruction that is past the instruction executing when the abort was detected; and based on the abort code having a third value of one or more third values, the diagnostic information including an address of an instruction that is earlier or later than the instruction executing when the abort was detected.