Category Archives: Open Source

CentOS hangs on startup after yum update

CentOS

Usually it will hang after Starting certmonger: [OK]

Startup the hanging machine (H1)
From another machine do:

> ssh H1
> su
> mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

Now restart H1.

You can have more explanations by doing a “tail -n 200 /var/logXorg.0.log” on the hanging machine.

Advertisements

Detected duplicate HTTP-based FlexSessions… so what?


Apache Flex

This annoying particular problem is quite easy to solve in most cases. What makes it complicated sometimes, is either the misleading message tail:

generally due to the remote host disabling session cookies. Session cookies must be enabled to manage the client connection correctly.

which will guide you to a wrong road generally, either the initial concurrent calls to BlazeDs Server associating two different flex ID with the same JEE session.

  • Identifying the root cause

    • Install flash player debugger version on your Firefox
    • Enable BlazeDs debug traces

<target class="flex.messaging.log.ConsoleTarget" level="DEBUG">

    • Enable log4j debug traces
    • Identify Flex remote object calls

logo_02_fullcolor_wb

  • Must-know before troubleshooting

  1. Flex Session is different from JEE session (JSEESSIONID)
  2. You don’t have to disable duplicate session check in BlazeDs, that’s why I won’t tell you how to do it.
  3. Each Endpoint is associated with a distinct flex client; So if you are using two endpoints for example you have two flex client at the same time created on first method call.
  • Flex Session mechanism

  1. On the first call for JEE server, the Flex application has a null Session ID.
  2. When BlazeDs receives a call from a session with a null ID, it generates a new Flex session ID and binds it with the current Java server session.
  3. The SWF holds this id for the relative Endpoint and assign it on every call to that endpoint.
  • The problem

Somehow, BlazeDS received two calls from the SWF with null ID, “at the same time”, so he creates and ID for the first call and another one for the second call. Those IDs are binded to the active Java session.

On the next remote object call, BlaseDS will check the Flex session associated with this Java session and will detect that two different flex session IDs are associated with the same Java session… and throw the famous “Detectd duplicate HTTP-based FlexSessions”, but that’s not due to host disabling session cookies.

  • How to solve the issue

  1. Load you application inside a JSP: Instead of calling your HTML main project page, let’s say it FlexProject.html, load your page inside a JSP page FlexProject.jsp

<%@ include file="FlexProject.html" %>

If that won’t help, you may consider Lin’s blog from adobe team. There’s also an in depth explanation of the issue in Alex Glosband blog.

Must-Know Open Source products

Open Source

The Open source community is in a constant growth showing a high level of creativity and competitiveness. When I thought I mastered lots of things about Open Source, I just received the SMILE annual report for Open source solutions test and evaluation: Just wow! I must refresh my directory. The report describes every product in 6 axis charts, varying between 0 and 5 levels:

  • Reputation
  • Dynamic
  • Backend/Framework quality
  • Available resources
  • Scalability
  • Functional scope
Evaluation Chart

Evaluation Chart

I extracted a sort of summary from the whole report with the (~) best product in each field, just to remember 😉

  1. Remote access:
    OpenSsh
  2. Park and stock inventory:
    GLPI
  3. Deployment& Backup:
    Bascula, Chef, Puppet
  4. High availability:
    Linux-HA
  5. Security:
    ClamAv, Wireshark
  6. VPN:
    Open VPN, Openswan
  7. Firewall:
    NetFilter
  8. Monitoring and metrics:
    Nagios, Centereon
  9. Unix Based OS:
    DEBIAN, FReeBSD
  10. Virtualisation:
    KVM, XEN
  11. Cloud Computing:
    Open Stack, Open Nebula
  12. VOIP & TELEPHONE:
    Asterisk, Kannel  
  13. Messaging, Mailing, Groupware:
    Zimbra, Postfix (I would add  JSMPP for SMS messaging cause I liked their work)
  14. HTTP Accelerator:
    Squid, Varnish
  15. Entreprise Directory:
    Open LDAP
  16. DB:
    MYSQL, Postgres, Firebird*(I added Firebird  for their great work on embedded databses)
  17. Big DATA:
    Hadoop, Pig, Hive
  18. BPM/Workflow:
    Bonita
  19. Dev tools:
    Eclipse, Maven, Subversion(Netbeans is worth trying too)
  20. Test, continuous integration:
    Jenkins
  21. Enterprise Service Bus (ESB) :
    Mule
  22. Web dev frameworks:
    Spring, JQUERY, Symfony
  23. Mobile Crosss-platform frameworks:
    PhoneGap/Cordoba
  24. PKI:
    EJBCA
  25. Load Test:
    JMETER
  26. Search Engine:
    Lucene, Solr
  27. Application Server:
    JBoss AS, Apache Tomcat
  28. MOM & EAI:
    ActiveMQ
  29. CRM:
    Sugar CRM
  30. ETL decisional:
    Talend
  31. Decisional Reporting:
    Jasper Report, Pentaho
  32. E-Commerce:
    Magento
  33. ERP/PGI:
    OpenERP
  34. CMS:
    Drupal
  35. GED & ECM:
    Alfresco, Nuxeo
  36. E-Learning:
    Moodle

There is a lot of other stuff in the report which you may download here or just subscribe on Smile mailing service to receive its annual report. The report is written in french but you may understand even if you are not good at it.
For abbreviations on the list, you may find by googling 🙂 Underlined green products are the ones  I know, knew, or worked with. Bold ones are the ones I master;)