[m-dev.] hang-up in C-code in asm_fast.gc.prof
Ondrej Bojar
bojar at csse.unimelb.edu.au
Thu May 24 16:09:57 AEST 2007
> The benchmarking module contains some predicates to turn profiling on
> and off. What happens if you disable profiling before your system call and
> enable it afterwards? (I know that defeats the purpose of profiling,
> but ...)
>
> Julien.
Hangs right in the call to system(cmd):
2-grams: reading 638323 entries
Breakpoint 1, removefile (filePath=@0x7fffd8a71840) at util.cpp:51
51 sprintf(cmd,"rm %s",filePath.c_str());
Current language: auto; currently c++
(gdb) step
52 system(cmd);
(gdb) step
<hangs forever>
O.
> On Thu, 24 May 2007, Ondrej Bojar wrote:
>> If I understand it correctly, a profiler tick happens at the call to
>> system(cmd). After some further steps within the profiler, a do_system
>> in libc is called and hangs forever.
>>
>> Breakpoint 1, removefile (filePath=@0x7fff43730500) at util.cpp:51
>> 51 sprintf(cmd,"rm %s",filePath.c_str());
>> Current language: auto; currently c++
>> (gdb) print filePath
>> $1 = (const string &) @0x7fff43730500: {static npos =
>> 18446744073709551615,
>> _M_dataplus = {<std::allocator<char>> =
>> {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data
>> fields>}, _M_p = 0x6ca7e078 "/tmp/dskbuff--IpMvxN"}}
>> (gdb) step
>> 52 system(cmd);
>> (gdb) step
>> prof_handle_tick (signum=27) at mercury_prof.c:199
>> 199 mercury_prof.c: No such file or directory.
>> in mercury_prof.c
>> Current language: auto; currently c
>> (gdb) step
>> 207 in mercury_prof.c
>> (gdb) step
>> 213 in mercury_prof.c
>> (gdb) finish
>> Run till exit from #0 prof_handle_tick (signum=27) at mercury_prof.c:223
>> <signal handler called>
>> (gdb) step
>> Single stepping until exit from function __restore_rt,
>> which has no line number information.
>> 0x00000037a6d3ac50 in system () from /lib64/libc.so.6
>> (gdb) step
>> Single stepping until exit from function system,
>> which has no line number information.
>> 0x00000037a6d3a7f0 in do_system () from /lib64/libc.so.6
>> (gdb) step
>> Single stepping until exit from function do_system,
>> which has no line number information.
>> <hangs forever>
>>
>> Any ideas whose fault is this? Any secure means to prevent that?
>>
>
> --------------------------------------------------------------------------
> mercury-developers mailing list
> Post messages to: mercury-developers at csse.unimelb.edu.au
> Administrative Queries: owner-mercury-developers at csse.unimelb.edu.au
> Subscriptions: mercury-developers-request at csse.unimelb.edu.au
> --------------------------------------------------------------------------
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to: mercury-developers at csse.unimelb.edu.au
Administrative Queries: owner-mercury-developers at csse.unimelb.edu.au
Subscriptions: mercury-developers-request at csse.unimelb.edu.au
--------------------------------------------------------------------------
More information about the developers
mailing list