Quantcast

Does |make mozmill| spawns xpcshell binary during its execution?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Does |make mozmill| spawns xpcshell binary during its execution?

ISHIKAWA,chiaki
This is under Linux 64-bit.

My question is:

Does |make mozmill| spawns xpcshell binary during its execution?

Background: Since late last year, I could not run C-C TB under valgrind
during |make mozmill| execution.
(I create a dummy binary under the name of ../dist/bin/thunderbird which runs
../dist/bin/thunderbird-bin under valgrind. This has worked rather well for
the last few years.)

What happens now is that I see
a "Segmentation Error" message during the invocation of the program(s) and
nothing happens then.
I have to interrupt it to come back to the console prompt.

I tried hooking vagrind execution via gdb. That is,
I even tried to run valgrind under gdb to figure out what was going on.
But the stack trace was not helpful at all.

I had no clue until yesterday.

Out of sheer luck, from the output of |dmesg| command under linux,
I figured out that around the time "Segmentation Error" is printed on the
console where I invoke
|make mozill|, there is a crash reported from xpcshell in the system log.
It seems that xpcshell binary (?) somehow is invoked during |make mozmill|
execution
and that binary segfaults. I am not sure why it is reported in the system
log. Maybe I am hitting some system limit or SElinux type of security
restriction?

There seem to be a few similarly named xpcshell binaries and
I could not yet figure out what the program counter is pointing at at the
time of
segfault. I could not get the symbol dump of stack trace. When I invoke
xpcshell directly under gdb. Maybe LD_LIBRARY_PATH has to be set for this.
(This may suggest now I need to add an additiona library path  to
LD_LIBRARY_PATH before I invoke valgrind. I have yet to figure out which
directory is necessary for this. Yet, I am a little bit perplexed at the
different behavior of xpcshell with/without valgrind's presence.)

Before proceeding to figure out why valgrind cannot be used successfully, I
want to make sure that the segfaulting xpcshell under valgrind is the
problem I am facing,
I have to ask people in the know to see if xpcshell is indeed executed from
|make mozmill| invocation.

Is it the case, and if so, WHICH |xpcshell| binary is invoked from where?

TIA


_______________________________________________
dev-apps-thunderbird mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-apps-thunderbird
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Does |make mozmill| spawns xpcshell binary during its execution?

ISHIKAWA,chiaki
Sorry for top posting.
But the segfaulting xpcshell was a pure coincidence from some other
tests or something, and does not seem to have anything to do with
running C-C TB under valgrind during |make mozmill| test.
So I am on my quest for finding out why C-C TB (or one of the  binaries
invoked by |make mozmill| experience segfault ) under valgrind now. They
didn't before. I could run C-C TB under valgrind during |make mozmill|
last August, 2016.
Hmm...


On 2017/02/13 12:00, ishikawa wrote:

> This is under Linux 64-bit.
>
> My question is:
>
> Does |make mozmill| spawns xpcshell binary during its execution?
>
> Background: Since late last year, I could not run C-C TB under valgrind
> during |make mozmill| execution.
> (I create a dummy binary under the name of ../dist/bin/thunderbird which runs
> ../dist/bin/thunderbird-bin under valgrind. This has worked rather well for
> the last few years.)
>
> What happens now is that I see
> a "Segmentation Error" message during the invocation of the program(s) and
> nothing happens then.
> I have to interrupt it to come back to the console prompt.
>
> I tried hooking vagrind execution via gdb. That is,
> I even tried to run valgrind under gdb to figure out what was going on.
> But the stack trace was not helpful at all.
>
> I had no clue until yesterday.
>
> Out of sheer luck, from the output of |dmesg| command under linux,
> I figured out that around the time "Segmentation Error" is printed on the
> console where I invoke
> |make mozill|, there is a crash reported from xpcshell in the system log.
> It seems that xpcshell binary (?) somehow is invoked during |make mozmill|
> execution
> and that binary segfaults. I am not sure why it is reported in the system
> log. Maybe I am hitting some system limit or SElinux type of security
> restriction?
>
> There seem to be a few similarly named xpcshell binaries and
> I could not yet figure out what the program counter is pointing at at the
> time of
> segfault. I could not get the symbol dump of stack trace. When I invoke
> xpcshell directly under gdb. Maybe LD_LIBRARY_PATH has to be set for this.
> (This may suggest now I need to add an additiona library path  to
> LD_LIBRARY_PATH before I invoke valgrind. I have yet to figure out which
> directory is necessary for this. Yet, I am a little bit perplexed at the
> different behavior of xpcshell with/without valgrind's presence.)
>
> Before proceeding to figure out why valgrind cannot be used successfully, I
> want to make sure that the segfaulting xpcshell under valgrind is the
> problem I am facing,
> I have to ask people in the know to see if xpcshell is indeed executed from
> |make mozmill| invocation.
>
> Is it the case, and if so, WHICH |xpcshell| binary is invoked from where?
>
> TIA
>
>
> _______________________________________________
> dev-apps-thunderbird mailing list
> [hidden email]
> https://lists.mozilla.org/listinfo/dev-apps-thunderbird
>
>

_______________________________________________
dev-apps-thunderbird mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-apps-thunderbird
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Does |make mozmill| spawns xpcshell binary during its execution?

Joshua Cranmer 🐧
In reply to this post by ISHIKAWA,chiaki
On 2/12/2017 9:00 PM, ishikawa wrote:
> This is under Linux 64-bit.
>
> My question is:
>
> Does |make mozmill| spawns xpcshell binary during its execution?

It shouldn't, IIRC. At least not during the mozmill tests themselves.
> Is it the case, and if so, WHICH |xpcshell| binary is invoked from where?

pstree or ps -H will show you the parent/child hierarchy of processes on
Linux, which can help you debug which process spawned xpcshell.

--
Joshua Cranmer
Thunderbird and DXR developer
Source code archæologist

_______________________________________________
dev-apps-thunderbird mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-apps-thunderbird
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Does |make mozmill| spawns xpcshell binary during its execution?

ISHIKAWA,chiaki
On 2017/02/14 5:24, Joshua Cranmer 🐧 wrote:

> On 2/12/2017 9:00 PM, ishikawa wrote:
>> This is under Linux 64-bit.
>>
>> My question is:
>>
>> Does |make mozmill| spawns xpcshell binary during its execution?
>
> It shouldn't, IIRC. At least not during the mozmill tests themselves.
>> Is it the case, and if so, WHICH |xpcshell| binary is invoked from where?
>
> pstree or ps -H will show you the parent/child hierarchy of processes on
> Linux, which can help you debug which process spawned xpcshell.
>

Well the original problem I had: valgrind crashed when I tried to invoke
it as part of |make mozmill| test of  mozilla thunderbird.

It looks that there is a Debign GNU/Linux kernel issue.
(It occurred about a couple of years ago in 2015, too.).
I was using 4.x series since late last year and valgrind did not work
any more, and I reverted back to kernel version 3.19.5.[userland has
been upgraded to work with 4.x series, and so I am a little
uncomfortable doing this. But, I need valgrind to work for debugging.]
Now thunderbird under valgrind works again under 3.19.5
$ uname -a
Linux ip030 3.19.5 #1 SMP Mon Apr 20 08:50:21 JST 2015 x86_64 GNU/Linux


There is something, about Debian's kernel config, that interferes with
the correct valgrind operation. I am not sure what.

For those interested:
I can send you the config file that Debian used to create these kernel
images that Debian officially distributes.
On the other hand, if someone uses valgrind on, say, CentOS or Fedora
(kernel 4.x series) and can run thunderbird under it succssefully,
I would appreciate to look at the config file to create the kernel image
there, so I would be able to compare and tinker with the kernel and if I
can make the valgrind to run
in a modified kernel in Debian GNU/Linux environment.

TIA


_______________________________________________
dev-apps-thunderbird mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-apps-thunderbird
Loading...