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.
