Which would be a result of the CRT not being initialized.

I've build a private drop of the ap_client with VS 2005.  I'll update
the project files to 2008 and see what happens.

----- Rom

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of David Anderson
Sent: Wednesday, August 11, 2010 1:08 PM
To: [email protected]
Subject: Re: [boinc_dev] Incorrect function when running under BOINC

The arg to msize() is the result of malloc(64K).
It looks like the memory-allocation system hasn't been
initialized.

On 10-Aug-2010 10:42 PM, Rom Walton wrote:
> Hmmmmmm...
>
> According to the callstack msize is called with a null parameter.
Since
> it is a debug build I assume the CRT is asserting and the exception
code
> is 0x80000003.
>
> Using some of the stats before the callstack, how much virtual memory
> was in use before the crash?
>
> Which version of Visual Studio are you using?
>
> I'll try and repro.
>
> ----- Rom
>
> -----Original Message-----
> From: Raistmer [mailto:[email protected]]
> Sent: Tuesday, August 10, 2010 6:11 PM
> To: Rom Walton; [email protected]
> Subject: Re: [boinc_dev] Incorrect function when running under BOINC
>
> Well, I getting  exception with astropulse too now. All that was
changed
> -
> BOINC libs to link.
> Call stack and BPINC function that causes exception are:
>
> - Callstack -
> ChildEBP RetAddr  Args to Child
> 000f8b5c 0050f297 00000000 00000000 00000000 00000000
> ntdll!DbgBreakPoint+0x0
> 000f8ba8 0042ea9c 00000000 00111274 0042e9ef 00000000
> ap_5.05_win_x86_SSE3_r446_DEBUG!_msize+0x25
> (f:\dd\vctools\crt_bld\self_x86\crt\src\msize.c:47)
> 000f8bb4 0042e9ef 00000000 00000015 00563f0c 00000014
> ap_5.05_win_x86_SSE3_r446_DEBUG!realloc_aux+0x9
> (d:\r\seti6\boinc\lib\mfile.cpp:61)
> 00111274 0042eadc 00534b20 0011129c 0011129c 0052dba1
> ap_5.05_win_x86_SSE3_r446_DEBUG!MFILE::vprintf+0x1f
> (d:\r\seti6\boinc\lib\mfile.cpp:82)
> 0011128c 0040bfcc 00563f0c 00534b20 59543951 00563b68
> ap_5.05_win_x86_SSE3_r446_DEBUG!MFILE::printf+0x10
> (d:\r\seti6\boinc\lib\mfile.cpp:98)
> 001112d0 00413d72 5954392d 003d7780 00563b68 0012fd38
> ap_5.05_win_x86_SSE3_r446_DEBUG!Astropulse::Outfile::write_header+0xb
> (d:\r\seti6\ap\client\ap_fileio.cpp:803)
> 001112f4 004076fb 016df8d8 02a9c000 00370000 00000000
> ap_5.05_win_x86_SSE3_r446_DEBUG!Astropulse::Outfile::write_main+0x0
> (d:\r\seti6\ap\client\ap_fileio.cpp:842)
> 00111334 00407f0a 595438b1 00000003 00000000 00000001
> ap_5.05_win_x86_SSE3_r446_DEBUG!Astropulse::Client::do_checkpoint+0x0
> (d:\r\seti6\ap\client\astropulse.h:648)
> 0012fd38 00409623 fffffffe 0012ff88 00000001 00000000
> ap_5.05_win_x86_SSE3_r446_DEBUG!Astropulse::Science::mainloop+0x13
> (d:\r\seti6\ap\client\ap_client_main.cpp:1680)
> 0012fd54 00409671 00000003 0012fd6c 00272df9 0012fd6c
> ap_5.05_win_x86_SSE3_r446_DEBUG!main+0x0
> (d:\r\seti6\ap\client\ap_client_main.cpp:572)
> 0012fef8 0050ed56 00400000 00000000 00272def 0000000a
> ap_5.05_win_x86_SSE3_r446_DEBUG!WinMain+0x0
> (d:\r\seti6\ap\client\ap_client_main.cpp:141)
> 0012ff88 76e0d0e9 7ffdf000 0012ffd4 773919bb 7ffdf000
> ap_5.05_win_x86_SSE3_r446_DEBUG!__tmainCRTStartup+0x1b
> (f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c:263)
> 0012ff94 773919bb 7ffdf000 74288bf4 00000000 00000000
> kernel32!BaseThreadInitThunk+0x0
> (f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c:263)
> 0012ffd4 7739198e 0050edc1 7ffdf000 00000000 00000000
> ntdll!RtlInitializeExceptionChain+0x0
> (f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c:263)
> 0012ffec 00000000 0050edc1 7ffdf000 00000000 78746341
> ntdll!RtlInitializeExceptionChain+0x0
> (f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c:263)
>
> static inline char* realloc_aux(char* p, int len) {
> #ifdef _WIN32
>      if (_msize(p)>= len) return p;
>      return (char*) realloc(p, len*2);
> #else
>      return (char*) realloc(p, len);
> #endif
> }
>
> Any ideas why  _msize(p) generates exception here? ...
>
> ----- Original Message -----
> From: "Rom Walton"<[email protected]>
> To: "Raistmer"<[email protected]>;<[email protected]>
> Sent: Monday, August 02, 2010 4:06 AM
> Subject: RE: [boinc_dev] Incorrect function when running under BOINC
>
>
> Odd, assuming that your variant of the app is setup for static CRT
> compilation it should be working.
>
> The only time I've seen that error before is when a different
> function(Entry Point), from the default name, is specified to launch
the
> application.
>
> Basically when a non-standard entry point is used, the CRT cannot
> prepare the process for the likes of malloc et al.
>
> ----- Rom
>
> -----Original Message-----
> From: Raistmer [mailto:[email protected]]
> Sent: Sunday, August 01, 2010 5:59 PM
> To: Raistmer; Rom Walton; [email protected]
> Subject: Re: [boinc_dev] Incorrect function when running under BOINC
>
> And now it fails with "CRT uninitialized" popup box even in offline
> mode.
> It's regress, not progress :/
> What BOINC libs should be used?
>
> ----- Original Message -----
> From: "Raistmer"<[email protected]>
> To: "Raistmer"<[email protected]>; "Rom Walton"<[email protected]>;
> <[email protected]>
> Sent: Monday, August 02, 2010 1:47 AM
> Subject: Re: [boinc_dev] Incorrect function when running under BOINC
>
>
>> I linked vs libboinc_staticcrt.lib and libboincapi_staticcrt.lib
> compiled
>>from current trunk.
>> Now app not only fails, it summons exception data gathering window
> (under
>> Vista) and prompts to launch debugger.
>> In call stack place of failure is in malloc function now %) Same
BOINC
> API
>> call as before...
>>
>> ----- Original Message -----
>> From: "Raistmer"<[email protected]>
>> To: "Rom Walton"<[email protected]>;<[email protected]>
>> Sent: Monday, August 02, 2010 1:17 AM
>> Subject: Re: [boinc_dev] Incorrect function when running under BOINC
>>
>>
>>> It was 6.10.56 tag.
>>> Will try with trunk then.
>>>
>>> ----- Original Message -----
>>> From: "Rom Walton"<[email protected]>
>>> To: "Raistmer"<[email protected]>;<[email protected]>
>>> Sent: Monday, August 02, 2010 12:26 AM
>>> Subject: RE: [boinc_dev] Incorrect function when running under BOINC
>>>
>>>
>>> How recent is the BOINC API you are building with?  Trunk or some
> other
>>> branch?  If some other branch you should switch to using trunk.
>>>
>>> We have had problems in the past with memset calls zeroing out
> complex
>>> data types like std::string and std::vector in the HOST_INFO
> structure.
>>>
>>> ----- Rom
>>>
>>> -----Original Message-----
>>> From: Raistmer [mailto:[email protected]]
>>> Sent: Sunday, August 01, 2010 4:05 PM
>>> To: Rom Walton; [email protected]
>>> Subject: Re: [boinc_dev] Incorrect function when running under BOINC
>>>
>>> Yes, call stack presents:
>>> But it's inside BOINC API call...
>>> 0012ed40 004b8ed3 00000000 00000000 00000000 00000000
>>> ntdll!DbgBreakPoint+0x0
>>>
>>> 0012ed58 004e4f2c 00000000 0012ed88 0012ed78 004e4e53
>>> MB_6.10_win_SSE3_ATI_r103!_invalid_parameter_noinfo+0xc
>>> (f:\dd\vctools\crt_bld\self_x86\crt\src\invarg.c:125)
>>>
>>> 0012ed68 004e4e53 00000000 0012ed88 0012ed90 004e4dc3
>>>
>
MB_6.10_win_SSE3_ATI_r103!std::_Vector_const_iterator<_BOINC_MESSAGEMONI
>>> TORENTRY
>>> *,std::allocator<_BOINC_MESSAGEMONITORENTRY *>  >::operator+=+0x14
>>> (p:\bin\vs9\vc\include\vector:160)
>>>
>>> 0012ed78 004e4dc3 00000000 0012eda8 00000000 0170ff68
>>>
> MB_6.10_win_SSE3_ATI_r103!std::_Vector_iterator<_BOINC_THREADLISTENTRY
>>> *,std::allocator<_BOINC_THREADLISTENTRY *>  >::operator+=+0x0
>>> (p:\bin\vs9\vc\include\vector:376)
>>>
>>> 0012ed90 004e48cd 0012eddc 00000000 00000000 005315c0
>>>
>
MB_6.10_win_SSE3_ATI_r103!std::_Vector_iterator<_BOINC_MESSAGEMONITORENT
>>> RY
>>> *,std::allocator<_BOINC_MESSAGEMONITORENTRY *>  >::operator++0xc
>>> (p:\bin\vs9\vc\include\vector:382)
>>>
>>> 0012edbc 004e477c 0012eddc 00000000 00000000 0012ee10
>>> MB_6.10_win_SSE3_ATI_r103!std::vector<_BOINC_THREADLISTENTRY
>>> *,std::allocator<_BOINC_THREADLISTENTRY *>  >::insert+0x1b
>>> (p:\bin\vs9\vc\include\vector:878)
>>>
>>> 0012edf4 004ef52d 0012ee10 6a5888c6 001b9860 0012f078
>>> MB_6.10_win_SSE3_ATI_r103!std::vector<_BOINC_MESSAGEMONITORENTRY
>>> *,std::allocator<_BOINC_MESSAGEMONITORENTRY *>  >::push_back+0x0
>>> (p:\bin\vs9\vc\include\vector:824)
>>>
>>> 0012f24c 004eb0d6 0012f6b0 00530a30 20202020 706f633c
>>> MB_6.10_win_SSE3_ATI_r103!COPROCS::parse+0x0
>>> (d:\r\seti6\boinc\lib\coproc.cpp:140)
>>>
>>> 0012f664 004e0762 0012f6b0 00000000 6a58806a 0042005c
>>> MB_6.10_win_SSE3_ATI_r103!HOST_INFO::parse+0x0
>>> (d:\r\seti6\boinc\lib\hostinfo.cpp:111)
>>>
>>> 0012fae0 004f151a 00525ed8 005300e8 00525ed8 00525e98
>>> MB_6.10_win_SSE3_ATI_r103!parse_init_data_file+0x0
>>> (d:\r\seti6\boinc\lib\app_ipc.cpp:297)
>>>
>>> 0012faf8 0040d74b 00525eb8 00525e98 0170f7b0 00000000
>>> MB_6.10_win_SSE3_ATI_r103!_boinc_parse_init_data_file+0x0
>>> (d:\r\seti6\boinc\lib\app_ipc.cpp:297)
>>>
>>> ----- Original Message -----
>>> From: "Rom Walton"<[email protected]>
>>> To: "Raistmer"<[email protected]>;<[email protected]>
>>> Sent: Sunday, August 01, 2010 11:28 PM
>>> Subject: RE: [boinc_dev] Incorrect function when running under BOINC
>>>
>>>
>>> Well 0x80000003 is what error code is returned when an application
>>> asserts, which is different than the original error code.
>>>
>>> Both of these lines are generated by the C Runtime Library and
should
> be
>>> properly filled out by rebuilding the application in the debug
>>> configuration.
>>> ERROR: Invalid parameter detected in function (null). File: (null)
> Line:
>>> 0?
>>> ERROR: Expression: (null)?
>>>
>>> However if the app did assert and returned 0x80000003 it should have
>>> also returned a crash report which should include the call stacks of
> all
>>> the threads which should give you the same information that the two
>>> ERROR lines above would give.
>>>
>>> ----- Rom
>>>
>>> -----Original Message-----
>>> From: Raistmer [mailto:[email protected]]
>>> Sent: Sunday, August 01, 2010 3:12 PM
>>> To: Raistmer; Rom Walton; [email protected]
>>> Subject: Re: [boinc_dev] Incorrect function when running under BOINC
>>>
>>> Now I advanced further and got error in BOINC function call:
>>>
>>> Code:
>>>     // Initialize BOINC
>>>     //
>>> fprintf(stderr,"before boinc_parse_init_data_file\n");
>>>     boinc_parse_init_data_file();
>>> fprintf(stderr,"before boinc_get_init_data\n");
>>>
>>> STDERR:
>>> <![CDATA[
>>> <message>
>>> ????????? ?????? ??????????? (0x80000003) - exit code -2147483645
>>> (0x80000003)
>>> </message>
>>> <stderr_txt>
>>> after diagnstic init?
>>> before boinc_parse_init_data_file?
>>> ERROR: Invalid parameter detected in function (null). File: (null)
> Line:
>>> 0?
>>> ERROR: Expression: (null)?
>>>
>>> What  could be wrong there?
>>>
>>> ----- Original Message -----
>>> From: "Raistmer"<[email protected]>
>>> To: "Raistmer"<[email protected]>; "Rom Walton"<[email protected]>;
>>> <[email protected]>
>>> Sent: Saturday, July 24, 2010 10:31 PM
>>> Subject: Re: [boinc_dev] Incorrect function when running under BOINC
>>>
>>>
>>>> Well, i added few fprintfs just after init diagnostics, boinc init
>>> call
>>>> and so on.
>>>> there is nothing in stderr again. Probably it means very first
boinc
>>> api
>>>> call, init diagnostic, failed and caused exit(1) call. Any thoughts
>>> why it
>>>> could fail?
>>>>
>>>> ----- Original Message -----
>>>> From: "Raistmer"<[email protected]>
>>>> To: "Rom Walton"<[email protected]>;<[email protected]>
>>>> Sent: Tuesday, July 20, 2010 12:12 PM
>>>> Subject: Re: [boinc_dev] Incorrect function when running under
BOINC
>>>>
>>>>
>>>>> Thanks!
>>>>> What I found:
>>>>>
>>>>> 0)
>>>>>     if (err != CL_SUCCESS) {
>>>>>         std::cerr<<  "ERROR: "<<   name<<  " ("<<  err<<  ")"<<
>>>>> std::endl;
>>>>>         exit(1);
>>>>>     }
>>>>> Not th case, no "ERROR" in stderr.
>>>>> 1)
>>>>>       fprintf(stderr, "bad arg: %s\n", argv[i]);
>>>>>       usage();
>>>>>       exit(1);
>>>>> Not the case cause no "bad arg" in stderr
>>>>>
>>>>> 2)
>>>>>     PowerSpectrum = (float*) calloc_a(NumPointsInChunk,
> sizeof(float),
>>>>> MEM_ALIGN);
>>>>>     if (PowerSpectrum == NULL) {
>>>>>       printf("Could not allocate Power Spectrum array in
>>>>> v_BaseLineSmooth()\n");
>>>>>       exit(1);
>>>>>     }
>>>>>
>>>>> can't say if  it's what I looking for cause additional output goes
> to
>>>
>>>>> stdout
>>>>> instead of stderr, need to rebuild to check...
>>>>>
>>>>> But if it's very place, why buffer allocation fails under BOINC
> while
>>> it
>>>>> goes OK w/o it?
>>>>>
>>>>> ----- Original Message -----
>>>>> From: "Rom Walton"<[email protected]>
>>>>> To: "Raistmer"<[email protected]>;<[email protected]>
>>>>> Sent: Tuesday, July 20, 2010 11:47 AM
>>>>> Subject: RE: [boinc_dev] Incorrect function when running under
> BOINC
>>>>>
>>>>>
>>>>> Search the source code of the app for exit(1) or
exit(EXIT_FAILURE)
>>>>>
>>>>> ----- Rom
>>>>>
>>>>> -----Original Message-----
>>>>> From: [email protected]
>>>>> [mailto:[email protected]] On Behalf Of Raistmer
>>>>> Sent: Tuesday, July 20, 2010 3:41 AM
>>>>> To: [email protected]
>>>>> Subject: [boinc_dev] Incorrect function when running under BOINC
>>>>>
>>>>> When running offline app works OK, but being launched by BOINC it
>>> fails
>>>>> with
>>>>> "incorrect function exit code 0x1"
>>>>> Stderr:
>>>>> <stderr_out>
>>>>> <![CDATA[
>>>>> <message>
>>>>> =ooo?y?  ??yu?o . (0x1) - exit code 1 (0x1)
>>>>> </message>
>>>>> ]]>
>>>>> </stderr_out>
>>>>>
>>>>> No additional info available.
>>>>> Maybe there are some known possible reasons of such behavior?
> Someone
>>>>> encountered such situation?
>>>>>
>>>>> _______________________________________________
>>>>> boinc_dev mailing list
>>>>> [email protected]
>>>>> http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
>>>>> To unsubscribe, visit the above URL and
>>>>> (near bottom of page) enter your email address.
>>>>>
>>>>> _______________________________________________
>>>>> boinc_dev mailing list
>>>>> [email protected]
>>>>> http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
>>>>> To unsubscribe, visit the above URL and
>>>>> (near bottom of page) enter your email address.
>>>>>
>>>>
>>>>
>>>
>>> _______________________________________________
>>> boinc_dev mailing list
>>> [email protected]
>>> http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
>>> To unsubscribe, visit the above URL and
>>> (near bottom of page) enter your email address.
>>>
>>
>>
> _______________________________________________
> boinc_dev mailing list
> [email protected]
> http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
> To unsubscribe, visit the above URL and
> (near bottom of page) enter your email address.
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to