Ok, then where does it crash ? I don't see any call to iosFree in c_irq_dispatcher either so it has to call some functions, which for an unknown reason, does not appear in the stack trace (maybe because it's a direct call through function pointer , I dunno).
Anyway, I think the stack trace is only an indication, it clearly shows that it crashes while freeing memory in one of the IOS heap and that this occurs during an interrupt callback. It could be any interrupt callback but IPC one is the most logical imo.
Another question: could this behavior depends on the USB slot which was used ? I'm not yet sure to understand how this is handled in the code...
EDIT:
sorry to hijack this thread but I think that the following code could led to problem as well
in USB_DeviceChangeNotifyAsync function:
CODE ÂÂÂÂret = IOS_IoctlvAsync(fd,USBV0_IOCTL_DEVICECLASSCHANGE,1,0,msg->vec,__usbv5_messageCB,msg);
ÂÂÂÂIOS_Close(fd);
ÂÂÂÂ
ÂÂÂÂif (ret
Anyway, I think the stack trace is only an indication, it clearly shows that it crashes while freeing memory in one of the IOS heap and that this occurs during an interrupt callback. It could be any interrupt callback but IPC one is the most logical imo.
Another question: could this behavior depends on the USB slot which was used ? I'm not yet sure to understand how this is handled in the code...
EDIT:
sorry to hijack this thread but I think that the following code could led to problem as well
in USB_DeviceChangeNotifyAsync function:
CODE ÂÂÂÂret = IOS_IoctlvAsync(fd,USBV0_IOCTL_DEVICECLASSCHANGE,1,0,msg->vec,__usbv5_messageCB,msg);
ÂÂÂÂIOS_Close(fd);
ÂÂÂÂ
ÂÂÂÂif (ret