On Sunday 06 March 2016 01:08:23 Andrew Lunn wrote:
Hi Sven
Thanks for the patches. I will test them out of Monday and let you know if it fixes the crash.
The ones I've Cc'ed you are not really about fixing the crash. They are just to clean up the reference counting (which you've complained about). You can test them but I would doubt that they fix the problem. But they might help you to detect situation when the refcounter gets 0 but shouldn't.
There are also some related problems which I've already mentioned on the mailing list 9 months ago and never got an answer. I've moved them now to the issue tracker in hope that the authors of the feature will now reply. The unchecked double *_put with [2,3] together with the unchecked double list_adds [1] are a good way to mess up the reference counting of several objects (including the hard interfaces).
You may also want to add a real reference counting fix which I've also posted yesterday (but for non-hard-interface objects) [4].
And a small remark about your x86 without serial port. Two systems connected via usb-serial+null-model-cable+usb-serial work quite well for this type of tests. Add "console=tty0 console=ttyUSB0,115200,n8" to the bootargs of your test system and boot it up. The system used for gathering the kernel output just has to run "screen /dev/ttyUSB0 115200" and dump all the data.
Just a suggestion in case you didn't think about using this kind of setup.
Thanks for debugging this problem and have a nice weekend.
Kind regards, Sven
[1] https://www.open-mesh.org/issues/243 [2] https://www.open-mesh.org/issues/242 [3] https://www.open-mesh.org/issues/235 [4] https://patchwork.open-mesh.org/patch/15888/