IRC logs for #automotive for Monday, 2015-09-14

*** Storyteller has joined #automotive02:17
*** Storyteller has left #automotive02:17
*** ToxicGumbo has quit IRC03:46
*** ToxicGumbo has joined #automotive04:21
*** jacobo has joined #automotive07:42
*** toscalix__ has joined #automotive07:42
*** CTtpollard has joined #automotive07:47
*** apinheiro has joined #automotive07:51
*** persia__ is now known as persia08:21
*** persia has joined #automotive08:21
*** wschaller has joined #automotive09:06
*** jacobo has quit IRC09:42
*** jacobo has joined #automotive09:42
*** wschaller has quit IRC10:32
*** wschaller has joined #automotive10:59
*** jeremiah has joined #automotive11:13
*** Egy has joined #automotive11:31
*** weston has joined #automotive12:07
westonhi all12:07
westonany misra guys?12:07
westontest(__FUNCTION__); void test(const char *callerName)  .. I am getting a QAC violation "Msg(4:0432) [C] Function argument is not of compatible pointer type" when I used __FUNCTION__12:08
*** apinheiro has quit IRC12:10
*** fury has joined #automotive12:14
* rjek idly wonders what type __FUNCTION__ is; I assume it expands to a string literal via the preprocessor12:16
rjekweston: IIRC, C99 defines __func__, which is of type const char[]12:17
rjekchar[] != char *12:17
rjekIf you have a pedantic compiler, anyway.12:17
westonrjek: what is the type of __func__ ?12:18
rjekweston: const char[]12:18
westonrjek: where can I see it?12:18
rjekIf you're using C99, I'd do void test(const char callerName[static 1]); which means you'll also get a free non-NULL check12:19
rjekweston: ISO C99, 6.4.2.212:20
rjekParagraph 1.12:20
rjekThe identifier _ _func_ _ shall be implicitly declared by the translator as if,12:20
rjekimmediately following the opening brace of each function definition, the declaration12:20
rjekstatic const char _ _func_ _[] = "function-name";12:20
rjekappeared, where function-name is the name of the lexically-enclosing function.12:20
*** apinheiro has joined #automotive12:22
paulsherwoodGENIVI Tools Meeting starts here (and on genivi.webex.com) in 15 mins, maybe depleted numbers since it clashes with SAT f2f12:46
*** jjardon has quit IRC12:53
*** jjardon has joined #automotive12:53
westonrjek: ok thanks12:54
rjekweston: Did that fix it for you?12:55
rjekIt is also conceivable that your MISRA compliance tool is just wrong.12:55
*** philrob has joined #automotive13:00
paulsherwood== GENIVI Tools Team Meeting ==13:01
paulsherwoodhi folks... any official attendees today?13:02
CTtpollardI'm here, not sure if I fall under the official banner13:02
paulsherwoodit may be there are few attendees because of SAT F2F13:02
*** klausbirken has joined #automotive13:03
paulsherwoodphilrob and klaus discuss amm session13:05
*** wschaller has quit IRC13:05
paulsherwoodthe agenda for the f2f should already be available on the mobile app13:06
paulsherwoodstephen and pavel and andreas too13:07
*** Egy has quit IRC13:07
*** pavelk has joined #automotive13:07
*** Egy has joined #automotive13:08
paulsherwoodreview of agenda...13:09
paulsherwood= Confluence =13:09
paulsherwoodon hold13:09
paulsherwood= Jira vs Trello =13:09
paulsherwooddecision last week iirc was to use the public Jira rather than Trello13:10
paulsherwoodlast weeks discussion is at https://irclogs.baserock.org/automotive/%23automotive.2015-09-07.log.html#t2015-09-07T13:00:0113:11
paulsherwood= Tools Team co-ordination with BIT =13:13
paulsherwoodtbd at F2F in AMM13:13
paulsherwood= Build Tools =13:14
paulsherwoodsl started to raise code generation with BIT13:14
paulsherwoodit appeared there was no immediate requirement13:15
paulsherwoodSAT discussion was more about generated code itself is hosted13:15
paulsherwoodsome conversation to be had between the code generator maintainers and baseline maintainers13:16
paulsherwoodwas expecting some discussion with baseline maintainers about what they would need, how to make it happen... but this didn't progress last week13:18
westonrjek: I checked but not working..QAC 7.1.1 is not taking __func__13:19
paulsherwoodmost of the bit discussion had been about kronos release, so this is still an item, just not necessarily now13:19
paulsherwood= UML Modeling =13:19
westonstatic const char func1[] = __func__; Msg(4:0685) [C] Initializer for any object with static storage duration must be a constant expression.13:20
paulsherwoodpavel raises point of  validating uml models to match franca13:21
paulsherwood= Debugging and Analysis =13:22
paulsherwoodps asks what tools team sohuld be thinking about here13:22
paulsherwoodpavel mentions DLT, target monitoring etc13:23
paulsherwoodandreas mentions EB RACE13:23
paulsherwood(but this is not open yet)13:24
paulsherwoodpavel mentions a plugin for DLT daemon to capture data from target13:25
paulsherwood(but this may also be closed)13:26
paulsherwoodcurrently our interest is mainly DLT viewer13:27
paulsherwoodsl asks if TT should be getting involved in marketing DLT (thin end of a wedge maybe)13:29
paulsherwoodpr had raised the suggestion of TT getting more proactive with community for commonapi13:30
paulsherwood(specifically, because commonapi is central to genivi)13:32
paulsherwoodpk mentions that commonapi is key to how integration should happen13:33
paulsherwoodlet's talk more specifically on this at amm13:34
paulsherwood= Automated Testing =13:34
dzen= Automotivated Testing =13:35
paulsherwood;-)13:35
FelixHxD13:37
paulsherwoodps raised that generic CIAT seems less interesting to AGL than he had thought... AGL people last week appear most aligned to the Poky approach13:39
*** Egy has quit IRC13:43
* paulsherwood takes an action to summarise the CIAT discussion on the mailing list13:54
paulsherwood= GENIVI AMM =13:54
paulsherwoodthere will be a session on commonapi13:54
paulsherwoodthis will be similar to the session from the spring amm13:54
paulsherwoodthere will be a tools f2f too13:55
paulsherwood= AOB =13:55
paulsherwoodnone13:56
paulsherwood== GENIVI Tools Team Meeting ends ==13:56
*** philrob has quit IRC13:57
rjekweston: Can I see the relevant lines of code?13:57
rjekweston: And do you know which version of ISO C you are using?13:57
*** ToxicGumbo-work has joined #automotive14:02
*** Egy has joined #automotive14:05
*** fredcadete has quit IRC14:09
westonrjek: it is proprietary code. But I gave the exact replica14:23
westonrjek: test(__FUNCTION__);     void test(const char *callerName)14:24
weston{}14:24
*** klausbirken has left #automotive14:25
westonrjek: ISO C9914:26
westonin x86-gcc and arm-gcc14:27
westonbut using QAC 7.1.114:27
*** jlrmagnus has joined #automotive14:29
rjekweston: And if you change the signature of test() to void test(const char callerName[static 1]); ?14:32
rjek(And use _func_ not __FUNCTION__)14:33
rjekerr, __func__ even14:34
rjekie, try compiling: void test(const char callerName[static 1]) { } int main(int argc, char *argv[]) { test(__func__); }14:34
* CTtpollard finally has access to wayland_debug 14:35
rjekweston: ^14:37
westonrjek: thinking14:37
westonrjek: didn't get the logic14:38
westonconst char callerName[static 1]14:38
rjekweston: The type of __func__, which is defined by C99, is const char[]14:38
rjekweston: The static 1 just gives you a free compile-time non-NULL pointer check14:38
* weston free compile-time non-NULL pointer check !!14:39
* weston confused14:39
rjekweston: The compiler will emit an error if you call test(NULL);14:39
westonrjek: but here the situation is different right?14:41
rjekweston: I think you should ignore the static 1 and see if your MISRA tool complains if you use __func__ and const char callerName[] :)14:41
westonrjek: wait14:42
westonrjek: please hold.14:44
* rjek holds onto himself, for the lack of anything else to do so14:44
* weston waiting for QAC licence14:45
* weston floating license14:46
rjekMISRA and all its tooling, AFAICT, is designed to maximise one's miserableness.14:46
*** pavelk has quit IRC14:47
westonrjek: checked..14:48
westonMsg(4:3408) 'test' has external linkage and is being defined without any previous declaration.14:48
weston Msg(4:1052) [C99] A variable length array of unspecified size has been declared.14:49
rjekweston: Your MISRA tool is broken.14:49
westonErr(9:0907) [S] Unexpected token. <next>14:49
rjekI suggest requesting a refund.14:49
weston Err(9:0907) [S] Unexpected token.14:49
westonMsg(4:0432) [C] Function argument is not of compatible pointer type. <next>14:49
rjekYou can get rid of the first error probably by changing the defination of test to have "static"14:49
rjekweston: Yep, your MISRA checking tool is most certainly broken.14:50
westonrjek: confused14:50
rjekweston: The tool you are using does not understand valid C.14:50
westonrjek: no idea14:51
westonrjek:  You can get rid of the first error probably by changing the defination of test to have "static"14:51
westonalready we have static isn't it?14:51
westonvoid test(const char callerName[static 1])  {  }   int main()  {  test(__func__);  }14:51
westonrjek: ^^14:52
westonpaulsherwood: hello14:53
paulsherwoodweston: hi!14:53
westonpaulsherwood: how are you14:53
paulsherwoodjetlagged :)14:53
westonpaulsherwood: any travels?14:53
rjekweston: static void test(const char callerName[static 1]) { } int main(int argc, char *argv[]) { test(__func__); return 0; }14:54
rjekweston: If your MISRA compliance tool makes any complains about that, it is broken.14:54
westonrjek: please wait..let me check..btw the company has paid more $$$14:56
westonfor this tool14:56
rjek(Or it only understands C89, which would be sad and mean it was not suitable for testing your C99 code.)14:56
rjekweston: IME, the most expensive and Enterpriseā„¢ the software, the worse it is :)14:56
westonrjek: I am using QAC 7.1.114:56
westonrjek: not always :)14:57
westonrjek: generally faces huge issues with opensource14:57
westong: my laptop failed with latest update of ubuntu14:57
rjekweston: The snippet I gave you is totally valid C99 and the pointer types agree.  If your tool cannot parse it or says the pointer types don't agree, it's broken, regardless of how much you paid for it :)14:59
westonrjek: Err(9:0907) [S] Unexpected token. <next>14:59
westonrjek: Err(9:0907) [S] Unexpected token.15:00
westonrjek: Msg(4:1052) [C99] A variable length array of unspecified size has been declared.15:00
westonrjek: Msg(4:3450) Function 'test', with internal linkage, is being defined without a previous declaration.15:00
westonrjek: Msg(4:0432) [C] Function argument is not of compatible pointer type. <next>15:01
westonrjek: may be QAC 7.1.1 wont support C99 ?15:01
westonrjek: in that case, how can I back port this statement to work in C90 atleast?15:01
* rjek tries to ask for a trial copy of QAC so he can test it himself, but their website is broken :)15:02
westonrjek: ohh15:02
rjekweston: The [C99] error suggests it pretends to understand C9915:02
rjekweston: I would suggest you write code to work, rather than write code to work around bugs in a static analysis tool.15:03
westonrjek: http://www.programmingresearch.com/products/qac/15:03
rjekweston: yes, that site.  It says my email address is invalid.15:03
rjekThese people clearly can't read specification documents :)15:03
westonrjek: I need to pass all QAC violations :(15:03
westonotherwise, I dont get my payment :(15:04
rjekThat's a shame if the tool can't accept valid C code and erronously reports type errors.15:04
westonrjek: this month, I am totally out of pocket15:04
myselfHeh. Guy here with longfirstname.longlastname@hyphenated-numb3rdomain.com breaks so many signup forms, it's not even funny.15:04
rjekmyself: It appears QAC's website assumes the only valid characters for the local part of an email address are [a-z0-9._]15:04
myselfI've been known to mail printed copies of the relevant RFC to a domain's technical contact.15:05
myselfNothing says "I think you suck" like a hand-written message in a card attached to half a pound of dead tree.15:06
westonrjek: oops15:06
rjekmyself: :D15:07
* weston almost fed down with this15:08
westonI have almost 1000 places this __func__15:08
westonin my 40K loc15:08
westonoops15:08
rjekweston: Send QAC an email with that code snippet and refer them to ISO/IEC 9899:201x, section 6.4.2.2, paragraph 1.15:09
*** jlrmagnus has quit IRC15:10
westonrjek: if they telll, QAC 7.1.1. wont support C99 then?15:11
westonrjek: I need to back port to C9015:11
westonrjek: any idea?15:11
rjekweston: The errors you're pasting suggests it knows of C9915:11
rjekMsg(4:1052) [C99] A variable length array of unspecified size has been declared.15:11
rjekI don't understand this error.  a) there is no variable length array in that snippet, b) if you specified the size of a variable length array, it wouldn't be variable length, it would be a specific length.15:12
westonrjek: okay15:12
westonrjek: could be  unspecified size has been declared.  --> static 1?15:13
rjekNo, that's explicitly specifying a minimum bound to the size15:14
westonrjek: it has not taken it15:14
westonrjek: Unexpected token.  --> 115:14
rjekFurther more, [] in function parameter declarations has nothing to do with variable length arrays15:14
rjekThe unexpected token suggests it cannot parse perfectly valid C codfe15:15
rjekcode15:15
westonErr(9:0907) [S] Unexpected token. <next>  --> static15:15
rjekweston: Do you need to tell this tool that the sources are in C99 and not C90?15:15
westonrjek: how ?15:15
westonrjek: that is not clear15:15
rjekI have no idea, I don't have a copy :)15:15
rjekqac --help? :)15:15
westonrjek: I will check15:16
westonrjek: mean time, are we able to port our code to work in C90?15:16
rjekweston: I don't know.  I don't think __FUNCTION__ is standardised, which is why C99 introduced __func__15:17
westonrjek: okay15:18
rjekIf you're only ever going to be compiling with a good modern compiler, such as GCC or clang, then you might get away with it.  But not all compilers that support __FUNCTION__ even put the same thing in there15:18
rjekIf you're compiling with some random expensive embedded toolchain, you may be out of luck15:18
westonrjek: I will check if I can configure QAC to use C9915:18
rjekOK15:18
rjekAlso, next time, explain that static analysis tools are a guide for development and that making zero reports being an acceptance criteria leads to more code, more bodges, and less reliability.15:19
rjek:)15:20
westonrjek: but my company strictly follows the process15:24
westonrjek: they work for automotive and avionics15:24
rjekIt sounds like your company's process needs to change to be more realistic :)15:24
westonand strict code15:24
westonrjek: ASIL C15:24
westonand follows ISO2626215:24
rjekYou can have perfectly reliable C code that produces loads of erroneous linter errors, and totally unreliable C that produces none.15:25
rjekergo -> making zero reports from a linter an acceptance criteria is a waste of everybody's time15:25
JEEBI remember we had a criteria of removing all "security" related static analysis warnings once, unless we could explain how it was a false alarm15:26
rjekYes, having it be lint-clean excluding explanations of where the linter is confused or buggy is OK15:26
rjekIn weston's situation, the linter is confused or buggy.15:26
JEEByeah15:26
rjekAnd thus adding /more/ code to appease the linter is the only option, which is clearly insane.15:27
JEEBaye15:27
* weston hard core google searching..sent mail to prqa15:31
*** jeremiah has quit IRC15:33
ToxicGumbo-workAnyone know why the AGL SAT meeting minutes stop in February?  No more minute taking or no meetings?15:48
ToxicGumbo-workhttps://wiki.automotivelinux.org/agl-sat-meetings15:48
*** CTtpollard has quit IRC15:49
*** CTtpollard has joined #automotive15:49
*** CTtpollard has quit IRC15:57
*** CTtpollard has joined #automotive15:58
paulsherwoodToxicGumbo-work: there have been more meetigns for sure, i don't know what happens wrt minutes16:00
*** bbranch has joined #automotive16:11
ToxicGumbo-workpaulsherwood: Thanks16:15
*** bbranch has left #automotive16:16
paulsherwoodToxicGumbo-work: recent meetings have been documented here16:17
paulsherwood(imperfectly)16:17
ToxicGumbo-workWere videos made of last week's AGL Fall 2015 talks?16:30
paulsherwoodToxicGumbo-work: not as far as i could tell... no AV team16:31
ToxicGumbo-workThanks16:31
paulsherwoodToxicGumbo-work: AlisonChaiken's talk was great - her slides are at http://she-devel.com/AGL_systemd_2015.pdf16:33
paulsherwoodi'm hoping all attendees were properly convinced that systemd is not optional :)16:34
ToxicGumbo-workAlisonChaiken is the bee's knees.  She's all over IRC keeping disassociated groups updated.  Major commitment to the cause.16:36
ToxicGumbo-workThat was the talk I was hoping to watch16:37
ToxicGumbo-workThough not exclusively16:37
paulsherwoodmy talk was more discussion than presentation... i got too far dug into AGL priorities, and realized my understanding in preparing the talk had been wrong16:41
AlisonChaikenGlad you found it useful, paulsherwood.   It was a pleasure to have the opportunity to chat with you and Jonathan.16:46
AlisonChaikenI'll be giving a short course in November on systemd.16:46
AlisonChaikenI'm posting a longer set of slides and some containers in which to run the exercises.16:47
AlisonChaikenThey're at http://she-devel.com/LISA15/LISA15_systemd.pdf16:48
ToxicGumbo-workThanks to you both.16:48
AlisonChaikenNot done yet, but at TLD is the ODP.   CC-by-sa, so make free with them.16:48
paulsherwood:)16:48
AlisonChaikenI wish LF would just pay free-electrons to record all the meetings.16:49
AlisonChaikenThey do a great job.16:49
ToxicGumbo-workAlison, have you attended LISA much?  I haven't been since the first or so.  Would be funny if we met.16:49
*** weston has quit IRC16:57
AlisonChaikenToxicGumbo-work, I've never considered attending LISA, as I'm certainly not a sysadmin.17:05
AlisonChaikenMy history in SW engineering is only a few years at any rate, as I worked on magnetic and optical recording materials development for most of my career.17:06
*** Egy has quit IRC17:11
*** toscalix__ has quit IRC17:12
*** toscalix__ has joined #automotive17:13
*** riazantsev has joined #automotive17:36
*** jacobo has quit IRC18:08
*** Egy has joined #automotive18:12
*** jlrmagnus has joined #automotive18:17
*** jlrmagnus has quit IRC18:23
*** apinheiro has quit IRC18:50
*** jlrmagnus has joined #automotive19:25
*** jlrmagnus has quit IRC19:34
*** toscalix__ has quit IRC19:37
*** fernandod has quit IRC19:46
*** jlrmagnus has joined #automotive19:46
*** fernandod has joined #automotive19:46
*** jlrmagnus has quit IRC20:22
*** ToxicGumbo-work has quit IRC21:15
*** Egy has quit IRC21:39
*** Egy has joined #automotive22:26
*** Egy has quit IRC22:31

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!