platform/core/dotnet/launcher.git
15 months agoRemove preload thread (#456) accepted/tizen/7.0/unified/20230119.134111 accepted/tizen/unified/20230120.182039
이형주/MDE Lab(SR)/삼성전자 [Wed, 18 Jan 2023 23:51:16 +0000 (08:51 +0900)]
Remove preload thread (#456)

16 months agoChanged the path of diagnostics tool (#455) accepted/tizen/unified/20221229.165944
최종헌/MDE Lab(SR)/삼성전자 [Thu, 29 Dec 2022 01:59:31 +0000 (10:59 +0900)]
Changed the path of diagnostics tool (#455)

Change-Id: I68c3697ad22d727ff6b4cbdfdc875a1378321f6c

16 months agoThe Pre-Compiled app skips the TAC (#444) accepted/tizen/7.0/unified/20221216.133937 accepted/tizen/unified/20221213.123154
최종헌/Common Platform Lab(SR)/삼성전자 [Mon, 12 Dec 2022 08:09:46 +0000 (17:09 +0900)]
The Pre-Compiled app skips the TAC (#444)

Change-Id: I8aa987f98d4e5a5deb68cea543ea05faef73277f

17 months agoQuick&Dirty patch to reduce icu searching overhead (#453) accepted/tizen/unified/20221209.014605
이형주/Common Platform Lab(SR)/삼성전자 [Thu, 8 Dec 2022 08:36:54 +0000 (17:36 +0900)]
Quick&Dirty patch to reduce icu searching overhead (#453)

* Quick&Dirty patch to reduce icu searching overhead

* Fix version to `build` to use build time icu first.

17 months agoAdd TAC installer accepted/tizen/unified/20221208.043843
j-h.choi [Tue, 15 Nov 2022 01:32:39 +0000 (10:32 +0900)]
Add TAC installer

Change-Id: I69d7e46bdc9483b637664ece11213a91c0a99d25

17 months agoAdd '--skip-ro-app' option in TC_TOOL
j-h.choi [Thu, 24 Nov 2022 01:20:42 +0000 (10:20 +0900)]
Add '--skip-ro-app' option in TC_TOOL

Change-Id: I41517444a497cbdc9ccb0d3412be20bc905d2969

17 months agoUpdate launcher version to 6.0.9 in spec
j-h.choi [Tue, 8 Nov 2022 00:49:30 +0000 (09:49 +0900)]
Update launcher version to 6.0.9 in spec

Change-Id: I5adafd6c51aef5946632848ce0d5e756f67d6e45

17 months agoRefactoring preloading (#452) accepted/tizen/unified/20221205.101746
이형주/Common Platform Lab(SR)/삼성전자 [Mon, 5 Dec 2022 03:40:54 +0000 (12:40 +0900)]
Refactoring preloading (#452)

* Separate thread-safe preload from others
* Add UIFW to dotnet/dotnet-nui launchers

17 months agoIntroduce preloadThread for launcher (#451)
이형주/Common Platform Lab(SR)/삼성전자 [Mon, 5 Dec 2022 00:09:07 +0000 (09:09 +0900)]
Introduce preloadThread for launcher (#451)

* Introduce preloadThread for launcher

17 months agoAdd ToUpper() ToLower() to preload logic
Hyungju Lee [Fri, 2 Dec 2022 05:40:28 +0000 (14:40 +0900)]
Add ToUpper() ToLower() to preload logic

17 months agoexit app if fail to open plugin library (#449)
조웅석/Common Platform Lab(SR)/삼성전자 [Fri, 2 Dec 2022 05:22:14 +0000 (14:22 +0900)]
exit app if fail to open plugin library (#449)

17 months agoFixed bug checking internet privilege for each app (#447)
최종헌/Common Platform Lab(SR)/삼성전자 [Mon, 28 Nov 2022 01:54:39 +0000 (10:54 +0900)]
Fixed bug checking internet privilege for each app (#447)

Change-Id: Id7491a7e5156a30583caa48db273ecdedf9f56af

18 months agoRemove temporal test code accepted/tizen/unified/20221103.165812
Woongsuk Cho [Wed, 19 Oct 2022 01:42:25 +0000 (10:42 +0900)]
Remove temporal test code

18 months agoApply smack when '._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6' file is created accepted/tizen_7.0_unified_hotfix tizen_7.0_hotfix accepted/tizen/7.0/unified/20221110.062148 accepted/tizen/7.0/unified/hotfix/20221116.105305 accepted/tizen/unified/20221017.104849 tizen_7.0_m2_release
j-h.choi [Mon, 17 Oct 2022 02:11:27 +0000 (11:11 +0900)]
Apply smack when '._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6' file is created

Change-Id: I6b85a62d45c2261353a24420d95dd3c641efb25d

18 months agoExclude exe extension from target assembly accepted/tizen/unified/20221014.123806
Woongsuk Cho [Fri, 7 Oct 2022 03:13:27 +0000 (12:13 +0900)]
Exclude exe extension from target assembly

Recently installed apps at RPI4 include exe files which are not assemblies.
It occurs error while App AOTC. So, exclude exe extension from target assembly.

18 months agoChanged API to check internet privilege
j-h.choi [Thu, 13 Oct 2022 07:56:08 +0000 (16:56 +0900)]
Changed API to check internet privilege

Change-Id: I9952150b11e561e1d89b5d8ce4798fdcddb62e0d

19 months agoRemove language_change_cb on the loader accepted/tizen/unified/20220929.140032
Woongsuk Cho [Thu, 29 Sep 2022 02:18:26 +0000 (11:18 +0900)]
Remove language_change_cb on the loader

Appfw set CultureInfo from i18n when application launching
So, there is no need to restart candidate process when language changed.

Recreating candidate process can make launching failure becauseof timing issue.
(candidate process process killed -> app-launching request raised -> launchpad get sighchild)

To remove this kind timing issue, remove language changed callback

19 months agoFixed the segmentation fault in dotnettool (#437) accepted/tizen/unified/20220927.132406
최종헌/Common Platform Lab(SR)/삼성전자 [Mon, 26 Sep 2022 07:28:49 +0000 (16:28 +0900)]
Fixed the segmentation fault in dotnettool (#437)

Change-Id: I9fff49ed5d130483f46ebeed4603ef076619f885

19 months agoCheck the existence of the original(.dll) file to use the --ni-reset-system option...
최종헌/Common Platform Lab(SR)/삼성전자 [Thu, 22 Sep 2022 06:26:47 +0000 (15:26 +0900)]
Check the existence of the original(.dll) file to use the --ni-reset-system option (#436)

Change-Id: I0b8d79b399729018408b02847ced5b5b1a8849b2

19 months agoAdd limitation for -rm-origin-after-ni (#435) accepted/tizen/unified/20220923.052701
조웅석/Common Platform Lab(SR)/삼성전자 [Wed, 21 Sep 2022 02:25:06 +0000 (11:25 +0900)]
Add limitation for -rm-origin-after-ni (#435)

After upgrading platform, native image files for app should be regenerated.
In that case, original assembly is needed.
So, prohibits the use of "--rm-origin-after-ni" option in app related options.
(--ni-pkg, --ni-regen-all-app, --tac-regen-all)

19 months agoAdd --rm-origin-after-ni option accepted/tizen/unified/20220920.160600
Woongsuk Cho [Thu, 3 Feb 2022 05:09:41 +0000 (14:09 +0900)]
Add --rm-origin-after-ni option

Add option to remove original dll after creating native image for reducing storage consumption.
This option doesnot work with --ni-pkg option because app can be re-compiled.

19 months agoFix dll filter in doAOTList (#433) accepted/tizen/unified/20220920.050137
이형주/Common Platform Lab(SR)/삼성전자 [Thu, 15 Sep 2022 04:54:47 +0000 (13:54 +0900)]
Fix dll filter in doAOTList (#433)

20 months agoModify log for profile data
j-h.choi [Wed, 31 Aug 2022 23:16:53 +0000 (08:16 +0900)]
Modify log for profile data

Change-Id: I498b7ce75a9e262b658303c2aee7e54815da7eca

20 months agoAdd log for profile data when the app runs
j-h.choi [Tue, 30 Aug 2022 23:28:58 +0000 (08:28 +0900)]
Add log for profile data when the app runs

Change-Id: Id3f6eb5559ea5c6da4efecc43315df8f1897a296

20 months agoFixed TAC_TC
j-h.choi [Fri, 26 Aug 2022 02:07:07 +0000 (11:07 +0900)]
Fixed TAC_TC

Change-Id: Id626c06a649c7903559cf8bbf43a8248f8bd148f

20 months agoAdd log when profile data is successfully loaded in candidate process
j-h.choi [Tue, 30 Aug 2022 09:31:39 +0000 (18:31 +0900)]
Add log when profile data is successfully loaded in candidate process

Change-Id: Ibceb2b5f8fb7dd0aa8b31b79759f22b98dbbb4f8

20 months agoChange the published value of metadata accepted/tizen/unified/20220826.060837 submit/tizen/20220826.015422
j-h.choi [Fri, 26 Aug 2022 01:42:25 +0000 (10:42 +0900)]
Change the published value of metadata

Change-Id: Ie0a17da992a647afa642c7a6c0b58c708c8d1010

20 months agoFixed build warning submit/tizen/20220825.083931
j-h.choi [Thu, 11 Aug 2022 05:52:04 +0000 (14:52 +0900)]
Fixed build warning

Change-Id: Iafff976b1ad4fa3556260f0709058a7fe573ffeb

20 months ago[WIP] Profile data generation tools to use in candidate process
j-h.choi [Mon, 25 Jul 2022 04:35:50 +0000 (13:35 +0900)]
[WIP] Profile data generation tools to use in candidate process

Change-Id: If92eaf2089233d65e137cd8c8b8c59f120541de1

20 months agoAdd the option to check Internet privilege in dotnettool for the FOTA
j-h.choi [Tue, 14 Jun 2022 07:13:45 +0000 (16:13 +0900)]
Add the option to check Internet privilege in dotnettool for the FOTA

Change-Id: I74604e5145519db06f8a0b6f8bd57ba69707c190

21 months agoAdd NCDB startup hook support.
Mikhail Kurinnoi [Fri, 29 Jul 2022 15:30:26 +0000 (18:30 +0300)]
Add NCDB startup hook support.

21 months agoUpgrade the nuget(Newtonsoft.Json) version of TC (#422)
최종헌/Common Platform Lab(SR)/삼성전자 [Tue, 19 Jul 2022 23:53:03 +0000 (08:53 +0900)]
Upgrade the nuget(Newtonsoft.Json) version of TC (#422)

Change-Id: I9234a89f05489a771f3ea50242d750e71d652951

21 months ago[WIP] Set the MCJ in the candidate process
j-h.choi [Sun, 8 May 2022 23:41:35 +0000 (08:41 +0900)]
[WIP] Set the MCJ in the candidate process

Change-Id: I95438e3a8ee4a4bbe5e538dc5add317d543a26f0

22 months agolink profile_common library to apptype_plugin (#421)
조웅석/Common Platform Lab(SR)/삼성전자 [Wed, 6 Jul 2022 21:39:17 +0000 (06:39 +0900)]
link profile_common library to apptype_plugin (#421)

To avoid symbol lookup error, link libprofile_common.so to libapptype_plugin.so

22 months agoSeparate the code related to the profile data into a profile_common file
j-h.choi [Tue, 14 Jun 2022 06:54:12 +0000 (15:54 +0900)]
Separate the code related to the profile data into a profile_common file

Change-Id: I6c62e7a26f502651333458473202b6d438f46261

22 months agoChange --ni-dir option operation
Woongsuk Cho [Wed, 29 Jun 2022 05:36:17 +0000 (14:36 +0900)]
Change --ni-dir option operation

if the --inputbubble option and --ni-dir option used together, all input directories must be processed as one bubble.
For this requirements, change implementation of --ni-dir option.

22 months agoRenew InputBubble Option (#416)
조웅석/Common Platform Lab(SR)/삼성전자 [Tue, 28 Jun 2022 00:01:54 +0000 (09:01 +0900)]
Renew InputBubble Option (#416)

When the native image compiled with the --inputbubble option is executed, all assemblies included in the same bubble must be compiled too.
Previous --ni-dll or --no-pipeline option can lead misusage of --inputbubble option.
For example, if the below command are executed, system libraries are compiled one by one.

$ dotnettool --inputbubble --no-pipeline --ni-dir /usr/share/dotnet.tizen/netcoreapp

In this case, a problem may occur because crossgen2 is executed with compiled native images with --inputbubble and the non-compiled assemblies

In order to prevent errors caused by such misuse, the following modifications were made.
1. When using no-pipeline mode, it was temporarily created as ni.dll.tmp and then changed to ni.dll in the last step of dotnettool.
2. if --inputbubbleref option is not set, only input file(s) of dotnettool is added to bubble

Additionally, for fine tunning, --ref and --inputbubbleref option get file path(s) ot directory path(s)

22 months agoChange update size for PBA (#419)
조웅석/Common Platform Lab(SR)/삼성전자 [Wed, 22 Jun 2022 10:34:57 +0000 (19:34 +0900)]
Change update size for PBA (#419)

When using PBA, file size was used to calculate next base address of assembly.
However, there is a problem that the file size is smaller than the image size loaded in the actual memory.
when native image files are loaded in the memory area, some native image files cannot be loaded where desired because of area overlapping.

So, get size of image from OptionalHeader, and use that value for updating next base address.

23 months agoAvoid calling storage API
Woongsuk Cho [Wed, 4 May 2022 01:41:04 +0000 (10:41 +0900)]
Avoid calling storage API

The storage API is used to get direcoty of SpecialFolder
In special case (like target booting up time), some delay can occur inside the API.

So, to avoid that kind of delay, set SpecialFolder with environment variable if that is set.

23 months agoChange the optimization options for crossgen2 (#409)
최종헌/Common Platform Lab(SR)/삼성전자 [Wed, 25 May 2022 21:36:03 +0000 (06:36 +0900)]
Change the optimization options for crossgen2 (#409)

Change-Id: Ic9588655352bc3e439e5432455e4a433d5c0ec19

2 years agoSet base address at native image (#400) accepted/tizen/unified/20220501.223640 submit/tizen/20220429.002649
조웅석/Common Platform Lab(SR)/삼성전자 [Fri, 29 Apr 2022 00:37:07 +0000 (09:37 +0900)]
Set base address at native image (#400)

--imagebase option is added to set base address at native imaage to avoid relocatoin.

Note! this feature is enabled --no-pipeline mode only

2 years agoSet collect delay when profile data does not exist
Woongsuk Cho [Tue, 26 Apr 2022 00:17:52 +0000 (09:17 +0900)]
Set collect delay when profile data does not exist

2 years agoAdd assembly to preload list in candidate process
j-h.choi [Wed, 20 Apr 2022 01:29:32 +0000 (10:29 +0900)]
Add assembly to preload list in candidate process

Change-Id: I7274a7cea59e208c66c02ea8761faec78e6223e2

2 years agoAdd additional environment for invariant mode
Woongsuk Cho [Tue, 19 Apr 2022 23:40:16 +0000 (08:40 +0900)]
Add additional environment for invariant mode

.NET 6 contains breaking change related to globalization invariant mode.
(https://docs.microsoft.com/en-us/dotnet/core/compatibility/globalization/6.0/culture-creation-invariant-mode)
For backward compatibility, add an additional environment variable to avoid breaking changes
- DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY=false

2 years agoFix mibc option for crossgen2 (#401)
이형주/Common Platform Lab(SR)/삼성전자 [Tue, 19 Apr 2022 22:52:20 +0000 (07:52 +0900)]
Fix mibc option for crossgen2 (#401)

`--ibc-dir $(directory path)` to `--mibc $(file path)`

Co-authored-by: 조웅석/Common Platform Lab(SR)/삼성전자 <ws77.cho@samsung.com>
2 years agoAdd --skip-ro-app option
Woongsuk Cho [Tue, 29 Mar 2022 22:34:50 +0000 (07:34 +0900)]
Add --skip-ro-app option

The "--ni-regen-all-app" option performs AOTC again for all installed apps.
If the "--ni-regen-all-app" option is performed after FOTA (OTN),
an error may occur or unnecessary AOTC may be performed by running AOTC for an app installed in the RO area.

To avoid this situation, the "--skip-ro-app" option is added.
If this option is set, native image regenration for apps installed in the RO area is skipped.

Note! this option works with "--ni-regen-all-app" option only.

2 years agoAdd `metadata-profile.xml`
Hyungju Lee [Tue, 12 Apr 2022 06:53:47 +0000 (15:53 +0900)]
Add `metadata-profile.xml`

2 years agoAdd the NI_FLAGS_EXTRA_REF flag used to create ni for app_pkg (#393) accepted/tizen/unified/20220318.132742 submit/tizen/20220318.045134
최종헌/Common Platform Lab(SR)/삼성전자 [Fri, 18 Mar 2022 04:37:57 +0000 (13:37 +0900)]
Add the NI_FLAGS_EXTRA_REF flag used to create ni for app_pkg (#393)

Change-Id: Iab85217a9a97341a99c5e2e6f6521648ddade074

2 years agoBug-fix: fix path for pdb file copying (#392)
조웅석/Common Platform Lab(SR)/삼성전자 [Mon, 7 Mar 2022 23:51:15 +0000 (08:51 +0900)]
Bug-fix: fix path for pdb file copying (#392)

2 years agoRemove ICULoadDisable support from platform image. (#391) accepted/tizen/unified/20220224.125720 submit/tizen/20220224.033231
이형주/Common Platform Lab(SR)/삼성전자 [Thu, 24 Feb 2022 03:31:35 +0000 (12:31 +0900)]
Remove ICULoadDisable support from platform image. (#391)

2 years agoFix app ni path for readonly app (#389) accepted/tizen/unified/20220223.132451 submit/tizen/20220223.002542
이형주/Common Platform Lab(SR)/삼성전자 [Wed, 23 Feb 2022 00:21:35 +0000 (09:21 +0900)]
Fix app ni path for readonly app (#389)

There was a bug in setting the app ni path when RO installed app was updated.
To fix this bug, check root path whether read-only area or not.

Co-authored-by: Woongsuk Cho <ws77.cho@samsung.com>
2 years agoCheck the SPC before creating a native image for the app accepted/tizen/unified/20220222.034344 submit/tizen/20220222.013136
j-h.choi [Mon, 21 Feb 2022 05:19:17 +0000 (14:19 +0900)]
Check the SPC before creating a native image for the app

Change-Id: I14ac5775cb5b58df00fec96134d6c3f75474d3fc

2 years agoApply ICULoadDisable option (#386)
이형주/Common Platform Lab(SR)/삼성전자 [Fri, 18 Feb 2022 02:24:17 +0000 (11:24 +0900)]
Apply ICULoadDisable option (#386)

Apply ICULoadDisable option for apps that run during cold boot

Co-authored-by: 김종민/S/W Platform Lab(VD)/Engineer/삼성전자 <jong-min.kim@samsung.com>
2 years agoprint HW clock log (#385)
이형주/Common Platform Lab(SR)/삼성전자 [Fri, 18 Feb 2022 02:23:35 +0000 (11:23 +0900)]
print HW clock log (#385)

2 years agoForked process in pipeline state can be terminated while crossgen2 is running
j-h.choi [Tue, 15 Feb 2022 04:32:56 +0000 (13:32 +0900)]
Forked process in pipeline state can be terminated while crossgen2 is running

Change-Id: Ib3a1851a7f43fedd270519c6389482c6ca9568a5

2 years agoFix app's native image existence checking code. (#376)
Woongsuk Cho [Wed, 9 Feb 2022 05:38:17 +0000 (14:38 +0900)]
Fix app's native image existence checking code. (#376)

The directory ".native_image" was not considered for app's native image existence cheching.

2 years agoRemove code that create SPC NI first (#373)
조웅석/Common Platform Lab(SR)/삼성전자 [Wed, 9 Feb 2022 05:37:26 +0000 (14:37 +0900)]
Remove code that create SPC NI first (#373)

* Add isR2RImage insteadof ildasm

Use internal API to reduce unnecessary fork

* Remove code that create SPC NI first.

crossgen2 can do AOTC without SPC native image.
So, remove unnecessary code.

2 years agoinputbubbleref option should be used with inputbubble option (#377)
최종헌/Common Platform Lab(SR)/삼성전자 [Wed, 9 Feb 2022 05:17:20 +0000 (14:17 +0900)]
inputbubbleref option should be used with inputbubble option (#377)

Change-Id: I4bb3a5063b8dcbfbd06ce3fbc3ae333aac9e13d3

2 years agoUpdate fota script for MCJ/BTP (#380)
조웅석/Common Platform Lab(SR)/삼성전자 [Wed, 9 Feb 2022 05:16:48 +0000 (14:16 +0900)]
Update fota script for MCJ/BTP (#380)

After update fota, app's profile data should be removed.

2 years ago[TC Fix/Add] dotnettool option(inputbubble, inputbubbleref, ref, print-cmd, no-pipeli...
최종헌/Common Platform Lab(SR)/삼성전자 [Wed, 9 Feb 2022 05:16:36 +0000 (14:16 +0900)]
[TC Fix/Add] dotnettool option(inputbubble, inputbubbleref, ref, print-cmd, no-pipeline) test in TOOL (#378)

Change-Id: I8c8d1305ecbc96ec19bc5e1f47e11806b2526afb

2 years ago[TC Fixed] Even without SPC.ni.dll, the application generates native image (#379)
최종헌/Common Platform Lab(SR)/삼성전자 [Wed, 9 Feb 2022 05:12:43 +0000 (14:12 +0900)]
[TC Fixed] Even without SPC.ni.dll, the application generates native image (#379)

Change-Id: I062ac6e2c57a7fc9faf45c3bc8e1315e377f9e7e

2 years agoRemove lchmod related code (#375)
조웅석/Common Platform Lab(SR)/삼성전자 [Tue, 8 Feb 2022 00:23:29 +0000 (09:23 +0900)]
Remove lchmod related code (#375)

In the linux system, permission of symlink file is meaningless.
(Also, lchmod alwasy returns -1 because it is not implemented.)

To remove unnecessary error message while installing application,
remove lchmod related code.

2 years agoAdd code to close open file stream (#374)
최종헌/Common Platform Lab(SR)/삼성전자 [Tue, 8 Feb 2022 00:23:10 +0000 (09:23 +0900)]
Add code to close open file stream (#374)

Change-Id: Ibd6ecd18c5d6ec44211aa69914e93f43699fc1fd

2 years agoEnable MCJ & BTJ by loader script accepted/tizen/unified/20220125.121609 submit/tizen/20220125.041334
Woongsuk Cho [Tue, 25 Jan 2022 00:47:37 +0000 (09:47 +0900)]
Enable MCJ & BTJ by loader script

2 years agoAdd new 'symbolicate' commands to dotnet-stack of diagnostics accepted/tizen/unified/20220124.231147 submit/tizen/20220124.030110 submit/tizen/20220125.041004
j-h.choi [Thu, 26 Aug 2021 03:46:10 +0000 (12:46 +0900)]
Add new 'symbolicate' commands to dotnet-stack of diagnostics

Change-Id: Ibc1ee9dae02eb7b1321e6970516285dd5ca5300d

2 years agoAdd switch to disable IPv6
Woongsuk Cho [Tue, 18 Jan 2022 04:37:01 +0000 (13:37 +0900)]
Add switch to disable IPv6

Due to DualMode, smack deny occurs as ipv4 mapped address is used
for communication between daemon and apps using localhost if internet privilege doesnot exist.

In order to handle the ipv4 mapped loopback in smack, it is necessary to modify the kernel side,
but we cannot know when the patch will be applied.
Also, it is not possible to disable all IPv6 for just solving this issue.

So, set switch to disable ipv6 only when there is no internet privilege.
If there is internet privilege, all works normally in dual mode,
And if there is no internet privilege, ipv6 will be diabled so that local communication can be same as before.

2 years ago[TC Added] dotnettool option(--inputbubble, --print-cmd) test in TOOL
j-h.choi [Mon, 17 Jan 2022 06:38:49 +0000 (15:38 +0900)]
[TC Added] dotnettool option(--inputbubble, --print-cmd) test in TOOL

Change-Id: I2e5b9ac79bae205b5fd430677d4c42b021d61a25

2 years agoUpdate Unit TC for support crossgen2
Woongsuk Cho [Fri, 14 Jan 2022 05:14:35 +0000 (14:14 +0900)]
Update Unit TC for support crossgen2

2 years agoAvoid OOM while compiling system libraries
Woongsuk Cho [Fri, 14 Jan 2022 05:05:17 +0000 (14:05 +0900)]
Avoid OOM while compiling system libraries

If run AOTC the system library at once, it will be terminated by the OOM killer.
To avoid this, run AOTC separately (netcoreapp and framework).

2 years agoModify 10.Dotnet.Launcher.preload file
j-h.choi [Tue, 11 Jan 2022 08:13:48 +0000 (17:13 +0900)]
Modify 10.Dotnet.Launcher.preload file

Change-Id: I6c7a3d8b1789547a3231e4f97d8249f7dd8695eb

2 years agoDisable IPv6 to solve DualMode issue accepted/tizen/unified/20220112.043624 submit/tizen/20220112.042018
Woongsuk Cho [Wed, 12 Jan 2022 04:10:50 +0000 (13:10 +0900)]
Disable IPv6 to solve DualMode issue

Due to Socket DualMode, IPv4 is converted to IPv6 socket.
So, smack deny error occurs when accessing to localhost during TCT.
It is a temporary patch that will be used until the IPv6 smack problem is fixed .

2 years agoRemove unused old ibcdata (#361) accepted/tizen/unified/20220110.054933 accepted/tizen/unified/20220111.023738 submit/tizen/20220110.045001 submit/tizen/20220111.022648
최종헌/Common Platform Lab(SR)/Engineer/삼성전자 [Thu, 6 Jan 2022 07:39:21 +0000 (16:39 +0900)]
Remove unused old ibcdata (#361)

Change-Id: I563bd1ade521dfb1ee6fb3d6befdac0a6130a85f

2 years agoAdd null check to solve svace issue (#362)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Thu, 6 Jan 2022 07:37:59 +0000 (16:37 +0900)]
Add null check to solve svace issue (#362)

2 years agoAdd environment for mic_crossgen2 (#360)
최종헌/Common Platform Lab(SR)/Engineer/삼성전자 [Thu, 6 Jan 2022 00:51:04 +0000 (09:51 +0900)]
Add environment for mic_crossgen2 (#360)

Change-Id: I996125b985c3a1383fd3c39eded96729eed9db91

2 years agoAdd plugin API for setting extra dll path (#353)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Wed, 5 Jan 2022 04:32:46 +0000 (13:32 +0900)]
Add plugin API for setting extra dll path (#353)

There is a requirement to add a searching path for a specific app.
For this requirement, a new plugin API is added to get the extra searching path.

2 years agoAdd options to support crossgen2 (#351)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Wed, 5 Jan 2022 04:30:06 +0000 (13:30 +0900)]
Add options to support crossgen2 (#351)

* remove code and options for crossgen1

* clean-up code related to pre-generating native image of System.Private.CoreLib.dll

* use NIOption structure to pass option instead of flags

* support --mibc option

* add --print-cmd option

* add --ref to set reference path

* update TC for crossgen2

* check directory existance

* check dll existance for platform assembly path

* add null check for NIOption

* Create SPC native image preferentially

* Fixed option parsing of dotnettool

Resolve option parshing error by using strncmp() function.

2 years agoFixed build error (#359)
최종헌/Common Platform Lab(SR)/Engineer/삼성전자 [Mon, 3 Jan 2022 03:33:52 +0000 (12:33 +0900)]
Fixed build error (#359)

Change-Id: I3b4fc97e57e2c20436e5866f3188b2c241d4eb72

2 years agoFix build error in r2r_checker on 64 bit (#358)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Tue, 28 Dec 2021 03:14:31 +0000 (12:14 +0900)]
Fix build error in r2r_checker on 64 bit (#358)

BIT64(for coreclr 3.1.3) and HOST_64BIT(for .NET6) should be defined for ULONG_PTR on 64 bit.

2 years agochange dll/so searching path for app (#356)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Mon, 27 Dec 2021 08:19:11 +0000 (17:19 +0900)]
change dll/so searching path for app (#356)

Change the path "/proc/self/fd/bin" used to find dll/so for the candidate process to "/proc/[pid]/fd/bin"
When debugging, the library loaded in the location of "/proc/self/fd/bin" cannot be accessed by the debugger, so symbol loading fails.
To avoid this failure, change finding path to "/proc/[pid]/fd/bin".

2 years agoFixed build error in r2r_checker (#357)
최종헌/Common Platform Lab(SR)/Engineer/삼성전자 [Mon, 27 Dec 2021 08:13:25 +0000 (17:13 +0900)]
Fixed build error in r2r_checker (#357)

Change-Id: Ib79facf6ff87e8c6edc17d1acc300c1775236bb7

2 years agoAdd r2r checker (#355)
정동헌/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Thu, 16 Dec 2021 01:03:42 +0000 (10:03 +0900)]
Add r2r checker (#355)

* Add r2r checker

Implement a function to Identify a file is R2R image or not.
```isR2RImage(std::stringfileName)```

* Add missed endian conversion

* Add some error print codes

* Update error logs and a function name

* Update checked based on CLR headers

Co-authored-by: Dong-Heon Jung <clamp03@gmail.com>
2 years agoAdd chmod to change the permission of the file
j-h.choi [Tue, 26 Oct 2021 06:57:10 +0000 (15:57 +0900)]
Add chmod to change the permission of the file

Change-Id: I56efe62379496138d2d197d24e8b061f8ea2f91a

2 years agouse corerun for crossgen2
Woongsuk Cho [Wed, 6 Oct 2021 05:48:28 +0000 (14:48 +0900)]
use corerun for crossgen2

2 years agoModified to support crossgen2 (#330)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Thu, 9 Sep 2021 06:34:53 +0000 (15:34 +0900)]
Modified to support crossgen2 (#330)

* support crossgen2

add --crossgen2 and --inputbubble option
By vconf setting, crossgen2 can be used from prefer_dotnet_aot_plugin.

* support crossgen2

add --crossgen2 and --inputbubble option
By vconf setting, crossgen2 can be used from prefer_dotnet_aot_plugin.

2 years ago Disable config cache to set environment (#350)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Tue, 7 Sep 2021 10:16:20 +0000 (19:16 +0900)]
 Disable config cache to set environment (#350)

To set environment after coreclr_initialize, disable config cache

2 years agoAdd SetSwitch API to Tizen.Runtime
Woongsuk Cho [Mon, 6 Sep 2021 00:47:49 +0000 (09:47 +0900)]
Add SetSwitch API to Tizen.Runtime

MS decided not to show ILOffset info as default in exception info.
To enable that feature, "Switch.System.Diagnostics.StackTrace.ShowILOffsets" switch should be set true.

An internal API for setting app context switch in dotnet-launcher has been added.
And, "Switch.System.Diagnostics.StackTrace.ShowILOffsets" is enabled defaultly.

2 years agoremove app profile data when app is updated
Woongsuk Cho [Thu, 19 Aug 2021 03:59:36 +0000 (12:59 +0900)]
remove app profile data when app is updated

- change implementation to remove profile data for all UIDs
- remove app profile data when app is updated
- add "--rm-all-app-profile" option to dotnettool
- change plugin name from delete_unsed_library_plugin to dotnet_apptype_plugin

2 years agoAdd a function to stop profiling after period
Woongsuk Cho [Thu, 12 Aug 2021 01:01:16 +0000 (10:01 +0900)]
Add a function to stop profiling after period

CLR environment "MultiCoreJitProfileWriteDelay" doesnot work on Linux.

In some specific cases, application is terminated without calling coreclr_shutdown() function.
As a result, MCJ profiling data is not written.
Added a function to generate profiling data after delay so that MCJ can be used even in this case.

It works by adding delay to the environment variable as follows:
 - CLR_MCJ_PROFILE_WRITE_DELAY={delay}
(The unit of delay is second)

If you want to stop profiling after 10 seconds, add environment variable like below:
 - CLR_MCJ_PROFILE_WRITE_DELAY=10

2 years agoFix build warning. Replace strncpy with memcpy
j-h.choi [Mon, 5 Jul 2021 04:26:23 +0000 (13:26 +0900)]
Fix build warning. Replace strncpy with memcpy

Change-Id: Ic9f239132fd1a2793176cd85ba00b8c553bd056a

2 years agoSkip app ni regeneration if app ni already exist (#344) submit/tizen/20210723.041054
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Fri, 23 Jul 2021 04:08:27 +0000 (13:08 +0900)]
Skip app ni regeneration if app ni already exist (#344)

To avoid multiple NI file generation for --ni-pkg, skip app ni regeneration if app ni already exist

2 years agoAdd plugin api to add native dll searching path (#343) submit/tizen/20210722.053902
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Thu, 22 Jul 2021 05:35:58 +0000 (14:35 +0900)]
Add plugin api to add native dll searching path (#343)

There are some cases to add dll and native library searching path through plugin API.
The adding dll searching path was already supported, but the adding native library searching part is missing, so this part is added.

The added searching path by plugin has the highest priority. (VD requirement)

Additionally, an environment for building simple libdotnet_plugin.so for testing was also added.

2 years agoUpdate MulticoreJit setup: disable profile gathering if profile already exists
Gleb Balykov [Tue, 6 Jul 2021 12:32:47 +0000 (15:32 +0300)]
Update MulticoreJit setup: disable profile gathering if profile already exists

2 years agoUpgrade 'launcher' version(6.0.0) in spec
j-h.choi [Tue, 29 Jun 2021 03:55:32 +0000 (12:55 +0900)]
Upgrade 'launcher' version(6.0.0) in spec

Change-Id: I7a1257423fe308bc8c28e18d6fb25d79c87e92ef

2 years agoExpand array size for null terminate character accepted/tizen/6.5/unified/20211028.102011 accepted/tizen/unified/20210629.130244 submit/tizen/20210628.235744 submit/tizen_6.5/20211028.162201 tizen_6.5.m2_release
Woongsuk Cho [Mon, 28 Jun 2021 23:05:37 +0000 (08:05 +0900)]
Expand array size for null terminate character

To avoid svace defect, expand array size.
And copy string include null terminate character

2 years agoFix for svace issue
Woongsuk Cho [Mon, 28 Jun 2021 01:03:43 +0000 (10:03 +0900)]
Fix for svace issue

- change strcpy/strcat to strncpy/strncat
- use remove function insteadof system() call

2 years agoAdded missing exception handling for boost_filesystem
j-h.choi [Thu, 10 Jun 2021 06:10:02 +0000 (15:10 +0900)]
Added missing exception handling for boost_filesystem

Change-Id: Ief5956ffa9683c5f4047f3abfcb0ba44513c401b

2 years agoAdd new TFM name scheme(net{dotnetVersion}-tizen{platformVersion})
j-h.choi [Mon, 5 Apr 2021 08:35:40 +0000 (17:35 +0900)]
Add new TFM name scheme(net{dotnetVersion}-tizen{platformVersion})

Change-Id: I66b0204e7685ba1dae4bb0870d6f173de1ef7990

2 years agoRemove --ni-ro-pkg / --ni-regen-all-ro-app options accepted/tizen/unified/20210623.125232 submit/tizen/20210623.065708
Woongsuk Cho [Mon, 21 Jun 2021 07:58:40 +0000 (16:58 +0900)]
Remove --ni-ro-pkg / --ni-regen-all-ro-app options

When creating a target image or developing platform, "/usr/apps" which is the RO area, is mounted as RW.
In this case, if we perform AOTC for apps installed under /usr/apps,
NI files should be created under /usr/apps/, not "/opt/usr/dotnet".

So, combine options into one, and create NI files under /opt/usr/dotnet only if package directory is mounted as RO.

2 years agoUpdate MulticoreJit setup
Gleb Balykov [Mon, 7 Jun 2021 19:07:40 +0000 (22:07 +0300)]
Update MulticoreJit setup

- COMPlus_MultiCoreJitNoProfileGather is not needed, because it gives no effect on updated MulticoreJit
- COMPlus_MultiCoreJitMinNumCpus is needed to enable MulticoreJit on arm with cpu hotplug

2 years agodotnettool: Add --rm-app-profile <app_id> option
Timur [Fri, 30 Apr 2021 15:06:59 +0000 (18:06 +0300)]
dotnettool: Add --rm-app-profile <app_id> option

Signed-off-by: Timur <t.mustafin@partner.samsung.com>