'Twas brillig, and Lu Guanqun at 08/08/11 14:14 did gyre and gimble: > What's the symptom of your breaking? > > I'm not sure whether they fall into the same category but I'd like to > point this out. I met with some weird issues when I add some new fields > in `struct userdata` in alsa-sink.c, the problem is the module segfaults > when it runs to pa_alsa_refcnt_inc(). > > From gdb output message, it seems the module loading mechanism forgot to > add some kind of base address to it. so it directly jumps to a smaller > address, which causes the seg fault. This is a different issue, as userdata inside PA modules are internal and private. The stuff David refers to is related to a public API which means clients have linked against things already which can cause problems when we change it. I think case we found the issue to do an oversight in the API design which means we cannot correct this without breaking ABI :( As for your crash, I don't know, but you should be able to mess with userdata quite happily provided you recompile everything that needs it. Dunno why it would cause problems. Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited [http://www.tribalogic.net/] Open Source: Mageia Contributor [http://www.mageia.org/] PulseAudio Hacker [http://www.pulseaudio.org/] Trac Hacker [http://trac.edgewall.org/]