All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Boulay <simon.boulay@domain.hid>
To: xenomai@xenomai.org
Subject: Re: [Xenomai-help] problem with libanalogy
Date: Thu, 14 Jan 2010 19:38:21 +0100	[thread overview]
Message-ID: <4B4F649D.6040401@domain.hid> (raw)
In-Reply-To: <4B4F4F65.9090006@domain.hid>

On 01/14/2010 06:07 PM, Alessio Margan @ IIT wrote:
> Simon Boulay wrote:
>> Hi,
>>
>> On 01/13/2010 06:19 PM, Alessio Margan @ IIT wrote:
>>
>>> Hi,
>>>
>>> I've got "Segmentation fault" from libanalogy.so.1
>>> Here is part of code ...
>>>
>>> int s526Analogy::Open()
>>> {
>>> int ret = 0;
>>> boardIsOpen = false;
>>>
>>> ret = a4l_open(&dsc, dev_name);
>>> if (ret<   0) {
>>> fprintf(stderr, "s526Analogy::Open : a4l_open %s failed (ret=%d)\n",
>>> dev_name, ret);
>>> return boardIsOpen;
>>> }
>>>
>>> fprintf(stderr, "s526Analogy::Open : name : %s\nsubd %d\nrd subd %d\nwr
>>> subd %d\nfd %d\nmagic %x\nsize %d\n",
>>> dsc.board_name,
>>> dsc.nb_subd,
>>> dsc.idx_read_subd,
>>> dsc.idx_write_subd,
>>> dsc.fd,
>>> dsc.magic,
>>> dsc.sbsize);
>>>
>>> dsc.sbdata = malloc(dsc.sbsize);
>>> if (dsc.sbdata == NULL) {
>>> ret = -ENOMEM;
>>> fprintf(stderr, "s526Analogy::Open : info buffer allocation failed\n");
>>> return boardIsOpen;
>>> }
>>> ret = a4l_fill_desc(&dsc);
>>> if (ret<   0) {
>>> fprintf(stderr, "s526Analogy::Open : a4l_fill_desc failed (ret=%d)\n", ret);
>>> return boardIsOpen;
>>> }
>>>
>>> boardIsOpen = true;
>>> printf("Open %s\n", dev_name);
>>>
>>> return boardIsOpen;
>>> }
>>>
>>> and here is the back trace from gdb ....
>>>
>>> s526Analogy::Open : name : analogy_s526
>>> subd 4
>>> rd subd 1
>>> wr subd 2
>>> fd 0
>>> magic 1234abcd
>>> size 1560
>>>
>>> Program received signal SIGSEGV, Segmentation fault.
>>> [Switching to Thread 0xb7151990 (LWP 6138)]
>>> 0xb773a64a in a4l_sys_desc () from /usr/xenomai/lib/libanalogy.so.1
>>> Current language: auto; currently asm
>>> (gdb) bt
>>> #0 0xb773a64a in a4l_sys_desc () from /usr/xenomai/lib/libanalogy.so.1
>>> #1 0xb773a748 in a4l_fill_desc () from /usr/xenomai/lib/libanalogy.so.1
>>> #2 0x0804ebb2 in s526Analogy::Open (this=0x805e560) at s526Analogy.cpp:55
>>> #3 0x0804f8c6 in configure_board () at s526Main.cpp:95
>>> #4 0x0804f96a in main () at s526Main.cpp:115
>>> (gdb)
>>>
>>> dmesg give me ...
>>>
>>> app[6454]: segfault at 40 ip b772964a sp bfd372d0 error 4 in
>>> libanalogy.so.1.0.0[b7728000+3000]
>>>
>>>
>>> Yesterday I pull xenomai-head to get last commits, before I've run the
>>> application without this segfault.
>>>
>> I can't reproduce your problem.
>> Does the same thing happen with the following command:
>> insn_read -v -d analogy0?
>>
>> Simon.
>>
>>   >
>>
>>> TIA
>>>
>>> Alessio
>>>
>>>
>>>
> Thanks,
>
> insn_read and insn_write works fine, seems that reset the buffer wiht
> zeroes works ...
>
> dsc.sbdata = malloc(dsc.sbsize);
> bzero(dsc.sbdata, dsc.sbsize);
> or
> dsc.sbdata = calloc(dsc.sbsize,1);
>
> without I got segfaults.
>
> Any idea ?
It seems more likely that the problem comes from the application this 
time but I can't confirm without repoducing the problem. You can send me 
more code if you will. I don't see the scope of the dsc variable for 
example.
For my tests, I simply replaced S526Analogy::Open() by a main function 
and add this at the begining:
const char *dev_name = "analogy0";
bool boardIsOpen = false;
a4l_desc_t dsc = { .sbdata = NULL };

Does this work for you?

Simon.



  reply	other threads:[~2010-01-14 18:38 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-13 17:19 [Xenomai-help] problem with libanalogy Alessio Margan @ IIT
2010-01-14 14:43 ` Simon Boulay
2010-01-14 17:07   ` Alessio Margan @ IIT
2010-01-14 18:38     ` Simon Boulay [this message]
2010-01-15  0:58       ` Alexis Berlemont

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B4F649D.6040401@domain.hid \
    --to=simon.boulay@domain.hid \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.